301 Moved Permanently means that the requested resource has been permanently moved to a new URL. All future requests should use the new address.
The browser will automatically redirect the user to the new address, and search engines will update their indexes.
200 OK is a standard successful HTTP server response. It means that the client’s request (e.g., from a browser) was successfully processed, and the server is delivering the requested data.
The user receives content without errors, and the page or application functions properly. If Code 200 is accompanied by data, the browser or program processes and displays it to the user.
GET / HTTP/1.1 Host: epms.com Accept: */* User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE HTML><html lang="en"><head><title>Enterprise Performance Management Systems</title><meta charset="utf-8" /><meta name="viewport" content="width=device-width,initial-scale=1" /><meta name="color-scheme" content="light only" /><meta name="description" content="Unlock the Power of Your Data" /><meta property="og:site_name" content="Enterprise Performance Management Systems" /><meta property="og:title" content="Enterprise Performance Management Systems" /><meta property="og:type" content="website" /><meta property="og:description" content="Unlock the Power of Your Data" /><meta property="og:image" content="https://epms.com/assets/images/share.jpg?v=3e58bd0d" /><meta property="og:image:type" content="image/jpeg" /><meta property="og:image:width" content="883" /><meta property="og:image:height" content="499" /><meta property="og:url" content="https://epms.com" /><meta property="twitter:card" content="summary_large_image" /><link rel="canonical" href="https://epms.com" /><link href="https://fonts.googleapis.com/css2?display=swap&family=Work+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Inter:ital,wght@0,300;0,400;1,300;1,400" rel="stylesheet" type="text/css" /><link rel="icon" type="image/png" href="assets/images/favicon.png?v=3e58bd0d" /><link rel="apple-touch-icon" href="assets/images/apple-touch-icon.png?v=3e58bd0d" /><style>html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}body{-webkit-text-size-adjust:none}mark{background-color:transparent;color:inherit}input::-moz-focus-inner{border:0;padding:0}input[type="text"],input[type="email"],select,textarea{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none}*, *:before, *:after {box-sizing: border-box;}body {line-height: 1.0;min-height: var(--viewport-height);min-width: 320px;overflow-x: hidden;word-wrap: break-word;background-color: #FFFFFF;}:root {--background-height: 100vh;--site-language-alignment: left;--site-language-direction: ltr;--site-language-flex-alignment: flex-start;--site-language-indent-left: 1;--site-language-indent-right: 0;--site-language-margin-left: 0;--site-language-margin-right: auto;--viewport-height: 100vh;}html {font-size: 16pt;}u {text-decoration: underline;}strong {color: inherit;font-weight: bolder;}em {font-style: italic;}code {background-color: rgba(144,144,144,0.25);border-radius: 0.25em;font-family: 'Lucida Console', 'Courier New', monospace;font-size: 0.9em;font-weight: normal;letter-spacing: 0;margin: 0 0.25em;padding: 0.25em 0.5em;text-indent: 0;}mark {background-color: rgba(144,144,144,0.25);}spoiler-text {-webkit-text-stroke: 0;background-color: rgba(32,32,32,0.75);text-shadow: none;text-stroke: 0;color: transparent;cursor: pointer;transition: color 0.1s ease-in-out;}spoiler-text.active {color: #FFFFFF;cursor: text;}s {text-decoration: line-through;}sub {font-size: smaller;vertical-align: sub;}sup {font-size: smaller;vertical-align: super;}a {color: inherit;text-decoration: underline;transition: color 0.25s ease;}a[onclick]:not([href]) {cursor: pointer;}unloaded-script {display: none;}#wrapper {-webkit-overflow-scrolling: touch;align-items: center;display: flex;flex-direction: column;justify-content: center;min-height: var(--viewport-height);overflow: hidden;position: relative;z-index: 2;}#main {--alignment: var(--site-language-alignment);--flex-alignment: var(--site-language-flex-alignment);--indent-left: var(--site-language-indent-left);--indent-right: var(--site-language-indent-right);--margin-left: var(--site-language-margin-left);--margin-right: var(--site-language-margin-right);--border-radius-tl: 0;--border-radius-tr: 0;--border-radius-br: 0;--border-radius-bl: 0;align-items: center;display: flex;flex-grow: 0;flex-shrink: 0;justify-content: center;max-width: 100%;position: relative;text-align: var(--alignment);z-index: 1;transition: opacity 0.5s ease-in-out 0s;}#main > .inner {--padding-horizontal: 6rem;--padding-vertical: 6rem;--spacing: 2rem;--width: 70rem;border-radius: var(--border-radius-tl) var(--border-radius-tr) var(--border-radius-br) var(--border-radius-bl);max-width: 100%;position: relative;width: var(--width);z-index: 1;padding: var(--padding-vertical) var(--padding-horizontal);}#main > .inner > header {margin-bottom: var(--spacing);}#main > .inner > footer {margin-top: var(--spacing);}#main > .inner > * > * {margin-top: var(--spacing);margin-bottom: var(--spacing);}#main > .inner > * > :first-child {margin-top: 0 !important;}#main > .inner > * > :last-child {margin-bottom: 0 !important;}#main > .inner > .full {margin-left: calc(var(--padding-horizontal) * -1);max-width: calc(100% + calc(var(--padding-horizontal) * 2) + 0.4725px);width: calc(100% + calc(var(--padding-horizontal) * 2) + 0.4725px);}#main > .inner > .full:first-child {border-top-left-radius: inherit;border-top-right-radius: inherit;margin-top: calc(var(--padding-vertical) * -1) !important;}#main > .inner > .full:last-child {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;margin-bottom: calc(var(--padding-vertical) * -1) !important;}#main > .inner > .full.screen {border-radius: 0 !important;max-width: 100vw;position: relative;width: 100vw;left: 50%;margin-left: -50vw;right: auto;}#main > .inner > * > .full {margin-left: calc(-6rem);max-width: calc(100% + 12rem + 0.4725px);width: calc(100% + 12rem + 0.4725px);}#main > .inner > * > .full.screen {border-radius: 0 !important;max-width: 100vw;position: relative;width: 100vw;left: 50%;margin-left: -50vw;right: auto;}#main > .inner > .active > .full:first-child {margin-top: -6rem !important;border-top-left-radius: inherit;border-top-right-radius: inherit;}#main > .inner > .active {border-top-left-radius: inherit;border-top-right-radius: inherit;border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}#main > .inner > .active > .full:last-child {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;margin-bottom: -6rem !important;}body.is-loading #main {opacity: 0;}body #wrapper:after {background-position: center;background-repeat: no-repeat;background-size: contain;content: '';display: block;height: 7.5rem;left: calc(50% - 3.75rem);opacity: 0;pointer-events: none;position: fixed;top: calc(50% - 3.75rem);transition: opacity 1s ease, visibility 1s;visibility: hidden;width: 7.5rem;z-index: 100000;}body.is-loading {pointer-events: none;}body.is-loading.with-loader #wrapper:after {background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgOTYgOTYiIHpvb21BbmRQYW49ImRpc2FibGUiPjxzdHlsZT5jaXJjbGUge2ZpbGw6ICNGRjZENjM7fTwvc3R5bGU+PGNpcmNsZSBjeD0iMjQiIGN5PSI0OCIgcj0iMyI+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiBhdHRyaWJ1dGVUeXBlPSJYTUwiIHR5cGU9InRyYW5zbGF0ZSIgdmFsdWVzPSIwLDA7MCwtNjswLDA7MCwwOzAsMDswLDA7MCwwOzAsMCIgYmVnaW49IjBzIiBkdXI9IjEuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjM2IiBjeT0iNDgiIHI9IjMiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYXR0cmlidXRlVHlwZT0iWE1MIiB0eXBlPSJ0cmFuc2xhdGUiIHZhbHVlcz0iMCwwOzAsLTY7MCwwOzAsMDswLDA7MCwwOzAsMDswLDAiIGJlZ2luPSIwLjJzIiBkdXI9IjEuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjQ4IiBjeT0iNDgiIHI9IjMiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYXR0cmlidXRlVHlwZT0iWE1MIiB0eXBlPSJ0cmFuc2xhdGUiIHZhbHVlcz0iMCwwOzAsLTY7MCwwOzAsMDswLDA7MCwwOzAsMDswLDAiIGJlZ2luPSIwLjRzIiBkdXI9IjEuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjYwIiBjeT0iNDgiIHI9IjMiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYXR0cmlidXRlVHlwZT0iWE1MIiB0eXBlPSJ0cmFuc2xhdGUiIHZhbHVlcz0iMCwwOzAsLTY7MCwwOzAsMDswLDA7MCwwOzAsMDswLDAiIGJlZ2luPSIwLjZzIiBkdXI9IjEuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjcyIiBjeT0iNDgiIHI9IjMiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYXR0cmlidXRlVHlwZT0iWE1MIiB0eXBlPSJ0cmFuc2xhdGUiIHZhbHVlcz0iMCwwOzAsLTY7MCwwOzAsMDswLDA7MCwwOzAsMDswLDAiIGJlZ2luPSIwLjhzIiBkdXI9IjEuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvY2lyY2xlPjwvc3ZnPg==');opacity: 1;transform: scale(1.0);visibility: visible;}body.is-playing.with-loader #wrapper:after {opacity: 0;transform: scale(0.5);transition: opacity 0.25s ease, transform 0.75s ease, visibility 0.25s;visibility: hidden;}#main > .inner > header, #main > .inner > footer {transition: opacity 0.25s ease-in-out 0.375s,visibility 0.25s linear 0.375s;}#main > .inner > header.hidden, #main > .inner > footer.hidden {transition: opacity 0.25s ease-in-out, visibility 0.25s;opacity: 0;visibility: hidden;}#main > .inner > section {transition: opacity 0.5s ease-in-out 0.25s,min-height 0.25s ease-in-out, max-height 0.25s ease-in-out;}#main > .inner > section.inactive {opacity: 0;transition: opacity 0.25s ease-in-out;}body.is-instant #main, body.is-instant #main > .inner > *,body.is-instant #main > .inner > section > * {transition: none !important;}body.is-instant:after {display: none !important;transition: none !important;}@keyframes loading-spinner {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}.deferred:before {content: '';display: block;width: 4rem;height: 4rem;position: absolute;top: 50%;left: 50%;margin: -2rem 0 0 -2rem;animation: loading-spinner 1s infinite linear;transition: opacity 0.25s ease;transition-delay: 0.5s;opacity: 0;z-index: -1;background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgOTYgOTYiIHpvb21BbmRQYW49ImRpc2FibGUiPjxzdHlsZT5jaXJjbGUge2ZpbGw6IHRyYW5zcGFyZW50OyBzdHJva2U6ICNmZmY7IHN0cm9rZS13aWR0aDogMS41cHg7IH08L3N0eWxlPjxkZWZzPjxjbGlwUGF0aCBpZD0iY29ybmVyIj48cG9seWdvbiBwb2ludHM9IjAsMCA0OCwwIDQ4LDQ4IDk2LDQ4IDk2LDk2IDAsOTYiIC8+PC9jbGlwUGF0aD48L2RlZnM+PGcgY2xpcC1wYXRoPSJ1cmwoI2Nvcm5lcikiPjxjaXJjbGUgY3g9IjQ4IiBjeT0iNDgiIHI9IjMyIi8+PC9nPjwvc3ZnPg==');background-position: center;background-repeat: no-repeat;background-size: 3rem;}.deferred.loading:before {opacity: 0.35;z-index: 0;}h1, h2, h3, p {direction: var(--site-language-direction);position: relative;}h1 span.p, h2 span.p, h3 span.p, p span.p {display: block;position: relative;}h1 span[style], h2 span[style], h3 span[style], p span[style], h1 strong, h2 strong, h3 strong, p strong, h1 a, h2 a, h3 a, p a, h1 code, h2 code, h3 code, p code, h1 mark, h2 mark, h3 mark, p mark, h1 spoiler-text, h2 spoiler-text, h3 spoiler-text, p spoiler-text {-webkit-text-fill-color: currentcolor;}h1.style6, h2.style6, h3.style6, p.style6 {text-align: center;color: #47403E;font-family: 'Work Sans', sans-serif;font-size: 4.375em;line-height: 1.125;font-weight: 500;}h1.style6 a, h2.style6 a, h3.style6 a, p.style6 a {text-decoration: underline;}h1.style6 a:hover, h2.style6 a:hover, h3.style6 a:hover, p.style6 a:hover {text-decoration: none;}h1.style6 span.p:nth-child(n + 2), h2.style6 span.p:nth-child(n + 2), h3.style6 span.p:nth-child(n + 2), p.style6 span.p:nth-child(n + 2) {margin-top: 1rem;}h1.style4, h2.style4, h3.style4, p.style4 {text-align: center;color: #47403E;font-family: 'Work Sans', sans-serif;font-size: 1.75em;line-height: 1.375;font-weight: 400;}h1.style4 a, h2.style4 a, h3.style4 a, p.style4 a {text-decoration: underline;}h1.style4 a:hover, h2.style4 a:hover, h3.style4 a:hover, p.style4 a:hover {text-decoration: none;}h1.style4 span.p:nth-child(n + 2), h2.style4 span.p:nth-child(n + 2), h3.style4 span.p:nth-child(n + 2), p.style4 span.p:nth-child(n + 2) {margin-top: 1rem;}h1.style8, h2.style8, h3.style8, p.style8 {text-align: left;color: #5E5653;font-family: 'Inter', sans-serif;font-size: 1.25em;line-height: 1.75;font-weight: 300;}h1.style8 a, h2.style8 a, h3.style8 a, p.style8 a {text-decoration: underline;}h1.style8 a:hover, h2.style8 a:hover, h3.style8 a:hover, p.style8 a:hover {text-decoration: none;}h1.style8 span.p:nth-child(n + 2), h2.style8 span.p:nth-child(n + 2), h3.style8 span.p:nth-child(n + 2), p.style8 span.p:nth-child(n + 2) {margin-top: 1rem;}h1.style3, h2.style3, h3.style3, p.style3 {text-align: center;color: #47403E;font-family: 'Work Sans', sans-serif;font-size: 3.25em;line-height: 1.25;font-weight: 500;}h1.style3 a, h2.style3 a, h3.style3 a, p.style3 a {text-decoration: underline;}h1.style3 a:hover, h2.style3 a:hover, h3.style3 a:hover, p.style3 a:hover {text-decoration: none;}h1.style3 span.p:nth-child(n + 2), h2.style3 span.p:nth-child(n + 2), h3.style3 span.p:nth-child(n + 2), p.style3 span.p:nth-child(n + 2) {margin-top: 1rem;}h1.style2, h2.style2, h3.style2, p.style2 {text-align: center;color: #5E5653;font-family: 'Inter', sans-serif;font-size: 1.25em;line-height: 1.75;font-weight: 300;}h1.style2 a, h2.style2 a, h3.style2 a, p.style2 a {text-decoration: underline;}h1.style2 a:hover, h2.style2 a:hover, h3.style2 a:hover, p.style2 a:hover {text-decoration: none;}h1.style2 span.p:nth-child(n + 2), h2.style2 span.p:nth-child(n + 2), h3.style2 span.p:nth-child(n + 2), p.style2 span.p:nth-child(n + 2) {margin-top: 1rem;}h1.style1, h2.style1, h3.style1, p.style1 {text-align: left;color: #5E5653;font-family: 'Inter', sans-serif;font-size: 1em;line-height: 2;font-weight: 300;}h1.style1 a, h2.style1 a, h3.style1 a, p.style1 a {text-decoration: underline;}h1.style1 a:hover, h2.style1 a:hover, h3.style1 a:hover, p.style1 a:hover {text-decoration: none;}h1.style1 span.p:nth-child(n + 2), h2.style1 span.p:nth-child(n + 2), h3.style1 span.p:nth-child(n + 2), p.style1 span.p:nth-child(n + 2) {margin-top: 1rem;}h1.style9, h2.style9, h3.style9, p.style9 {text-align: center;color: #5E5653;font-family: 'Inter', sans-serif;font-size: 1em;line-height: 2;font-weight: 300;}h1.style9 a, h2.style9 a, h3.style9 a, p.style9 a {text-decoration: underline;}h1.style9 a:hover, h2.style9 a:hover, h3.style9 a:hover, p.style9 a:hover {text-decoration: none;}h1.style9 span.p:nth-child(n + 2), h2.style9 span.p:nth-child(n + 2), h3.style9 span.p:nth-child(n + 2), p.style9 span.p:nth-child(n + 2) {margin-top: 1rem;}h1.style5, h2.style5, h3.style5, p.style5 {text-align: center;color: #ADA8A6;font-family: 'Inter', sans-serif;font-size: 0.875em;line-height: 2;font-weight: 300;}h1.style5 a, h2.style5 a, h3.style5 a, p.style5 a {text-decoration: underline;}h1.style5 a:hover, h2.style5 a:hover, h3.style5 a:hover, p.style5 a:hover {text-decoration: none;}h1.style5 span.p:nth-child(n + 2), h2.style5 span.p:nth-child(n + 2), h3.style5 span.p:nth-child(n + 2), p.style5 span.p:nth-child(n + 2) {margin-top: 1rem;}h1.style7, h2.style7, h3.style7, p.style7 {color: #5E5653;font-family: 'Inter', sans-serif;font-size: 1.25em;line-height: 1.75;font-weight: 300;}h1.style7 a, h2.style7 a, h3.style7 a, p.style7 a {text-decoration: underline;}h1.style7 a:hover, h2.style7 a:hover, h3.style7 a:hover, p.style7 a:hover {text-decoration: none;}h1.style7 span.p:nth-child(n + 2), h2.style7 span.p:nth-child(n + 2), h3.style7 span.p:nth-child(n + 2), p.style7 span.p:nth-child(n + 2) {margin-top: 1rem;}.container {position: relative;}.container > .wrapper {vertical-align: top;position: relative;max-width: 100%;border-radius: inherit;}.container > .wrapper > .inner {vertical-align: top;position: relative;max-width: 100%;border-radius: inherit;text-align: var(--alignment);}#main .container.full:first-child > .wrapper {border-top-left-radius: inherit;border-top-right-radius: inherit;}#main .container.full:last-child > .wrapper {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}#main .container.full:first-child > .wrapper > .inner {border-top-left-radius: inherit;border-top-right-radius: inherit;}#main .container.full:last-child > .wrapper > .inner {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.container.style3 {display: flex;width: 100%;min-height: 34rem;align-items: center;justify-content: center;background-color: transparent;}.container.style3 > .wrapper > .inner {--gutters: 3rem;--padding-horizontal: 0rem;padding: var(--padding-vertical) var(--padding-horizontal);}.container.style3 > .wrapper {max-width: var(--width);width: 100%;}.container.style3.default > .wrapper > .inner > * {margin-bottom: var(--spacing);margin-top: var(--spacing);}.container.style3.default > .wrapper > .inner > *:first-child {margin-top: 0 !important;}.container.style3.default > .wrapper > .inner > *:last-child {margin-bottom: 0 !important;}.container.style3.columns > .wrapper > .inner {flex-wrap: wrap;display: flex;align-items: center;}.container.style3.columns > .wrapper > .inner > * {flex-grow: 0;flex-shrink: 0;max-width: 100%;text-align: var(--alignment);padding: 0 0 0 var(--gutters);}.container.style3.columns > .wrapper > .inner > * > * {margin-bottom: var(--spacing);margin-top: var(--spacing);}.container.style3.columns > .wrapper > .inner > * > *:first-child {margin-top: 0 !important;}.container.style3.columns > .wrapper > .inner > * > *:last-child {margin-bottom: 0 !important;}.container.style3.columns > .wrapper > .inner > *:first-child {margin-left: calc(var(--gutters) * -1);}.container.style3.default > .wrapper > .inner > .full {margin-left: calc(var(--padding-horizontal) * -1);max-width: none !important;width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style3.default > .wrapper > .inner > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;border-top-left-radius: inherit;border-top-right-radius: inherit;}.container.style3.default > .wrapper > .inner > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.container.style3.columns > .wrapper > .inner > div > .full {margin-left: calc(var(--gutters) * -0.5);max-width: none !important;width: calc(100% + var(--gutters) + 0.4725px);}.container.style3.columns > .wrapper > .inner > div:first-child > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + var(--padding-horizontal) + calc(var(--gutters) * 0.5) + 0.4725px);}.container.style3.columns > .wrapper > .inner > div:last-child > .full {width: calc(100% + var(--padding-horizontal) + calc(var(--gutters) * 0.5) + 0.4725px);}.container.style3.columns > .wrapper > .inner > div > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;}.container.style3.columns > .wrapper > .inner > div > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;}.container.style3.columns > .wrapper > .inner > .full {align-self: stretch;min-height: calc(34rem - (var(--padding-vertical) * 2));}.container.style3.columns > .wrapper > .inner > .full:first-child {border-bottom-left-radius: inherit;border-top-left-radius: inherit;}.container.style3.columns > .wrapper > .inner > .full:last-child {border-bottom-right-radius: inherit;border-top-right-radius: inherit;}.container.style3.columns > .wrapper > .inner > .full > .full:first-child:last-child {border-radius: inherit;height: calc(100% + (var(--padding-vertical) * 2));}.container.style3.columns > .wrapper > .inner > .full > .full:first-child:last-child > * {border-radius: inherit;height: 100%;position: absolute;width: 100%;}#container01 > .wrapper > .inner > :nth-child(1) {width: calc(50% + (var(--gutters) / 2));}#container01 > .wrapper > .inner > :nth-child(2) {width: calc(50% + (var(--gutters) / 2));}.container.style2 {--alignment: center;--flex-alignment: center;--indent-left: 1;--indent-right: 1;--margin-left: auto;--margin-right: auto;display: flex;width: 100%;align-items: center;justify-content: center;background-color: #FCF6F0;background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%20width%3D%22512%22%20height%3D%22512%22%20preserveAspectRatio%3D%22none%22%3E%20%3Cline%20x1%3D%22256%22%20y1%3D%220%22%20x2%3D%22256%22%20y2%3D%22512%22%20stroke%3D%22%23F5E5D5%22%20stroke-width%3D%221.01px%22%20vector-effect%3D%22non-scaling-stroke%22%20stroke-linecap%3D%22square%22%20%2F%3E%3C%2Fsvg%3E');background-size: 72px;background-position: center;background-repeat: repeat;}.container.style2:not(:first-child) {margin-top: 6rem !important;}.container.style2:not(:last-child) {margin-bottom: 6rem !important;}.container.style2 > .wrapper > .inner {--gutters: 0rem;padding: var(--padding-vertical) var(--padding-horizontal);}.container.style2 > .wrapper {max-width: var(--width);width: 100%;}.container.style2.default > .wrapper > .inner > * {margin-bottom: var(--spacing);margin-top: var(--spacing);}.container.style2.default > .wrapper > .inner > *:first-child {margin-top: 0 !important;}.container.style2.default > .wrapper > .inner > *:last-child {margin-bottom: 0 !important;}.container.style2.columns > .wrapper > .inner {flex-wrap: wrap;display: flex;align-items: center;}.container.style2.columns > .wrapper > .inner > * {flex-grow: 0;flex-shrink: 0;max-width: 100%;text-align: var(--alignment);padding: 0 0 0 var(--gutters);}.container.style2.columns > .wrapper > .inner > * > * {margin-bottom: var(--spacing);margin-top: var(--spacing);}.container.style2.columns > .wrapper > .inner > * > *:first-child {margin-top: 0 !important;}.container.style2.columns > .wrapper > .inner > * > *:last-child {margin-bottom: 0 !important;}.container.style2.columns > .wrapper > .inner > *:first-child {margin-left: calc(var(--gutters) * -1);}.container.style2.default > .wrapper > .inner > .full {margin-left: calc(var(--padding-horizontal) * -1);max-width: none !important;width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style2.default > .wrapper > .inner > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;border-top-left-radius: inherit;border-top-right-radius: inherit;}.container.style2.default > .wrapper > .inner > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.container.style2.columns > .wrapper > .inner > div > .full {margin-left: calc(var(--gutters) * -0.5);max-width: none !important;width: calc(100% + var(--gutters) + 0.4725px);}.container.style2.columns > .wrapper > .inner > div:first-child > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + var(--padding-horizontal) + calc(var(--gutters) * 0.5) + 0.4725px);}.container.style2.columns > .wrapper > .inner > div:last-child > .full {width: calc(100% + var(--padding-horizontal) + calc(var(--gutters) * 0.5) + 0.4725px);}.container.style2.columns > .wrapper > .inner > div > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;}.container.style2.columns > .wrapper > .inner > div > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;}.container.style2.columns > .wrapper > .inner > .full {align-self: stretch;}.container.style2.columns > .wrapper > .inner > .full:first-child {border-bottom-left-radius: inherit;border-top-left-radius: inherit;}.container.style2.columns > .wrapper > .inner > .full:last-child {border-bottom-right-radius: inherit;border-top-right-radius: inherit;}.container.style2.columns > .wrapper > .inner > .full > .full:first-child:last-child {border-radius: inherit;height: calc(100% + (var(--padding-vertical) * 2));}.container.style2.columns > .wrapper > .inner > .full > .full:first-child:last-child > * {border-radius: inherit;height: 100%;position: absolute;width: 100%;}.container.style1 {display: flex;width: 100%;align-items: center;justify-content: center;background-color: transparent;}.container.style1 > .wrapper > .inner {--gutters: 2rem;--padding-horizontal: 0rem;--padding-vertical: 0rem;padding: var(--padding-vertical) var(--padding-horizontal);}.container.style1 > .wrapper {max-width: var(--width);width: 100%;}.container.style1.default > .wrapper > .inner > * {margin-bottom: var(--spacing);margin-top: var(--spacing);}.container.style1.default > .wrapper > .inner > *:first-child {margin-top: 0 !important;}.container.style1.default > .wrapper > .inner > *:last-child {margin-bottom: 0 !important;}.container.style1.columns > .wrapper > .inner {flex-wrap: wrap;display: flex;align-items: center;}.container.style1.columns > .wrapper > .inner > * {flex-grow: 0;flex-shrink: 0;max-width: 100%;text-align: var(--alignment);padding: 0 0 0 var(--gutters);}.container.style1.columns > .wrapper > .inner > * > * {margin-bottom: var(--spacing);margin-top: var(--spacing);}.container.style1.columns > .wrapper > .inner > * > *:first-child {margin-top: 0 !important;}.container.style1.columns > .wrapper > .inner > * > *:last-child {margin-bottom: 0 !important;}.container.style1.columns > .wrapper > .inner > *:first-child {margin-left: calc(var(--gutters) * -1);}.container.style1.default > .wrapper > .inner > .full {margin-left: calc(var(--padding-horizontal) * -1);max-width: none !important;width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style1.default > .wrapper > .inner > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;border-top-left-radius: inherit;border-top-right-radius: inherit;}.container.style1.default > .wrapper > .inner > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.container.style1.columns > .wrapper > .inner > div > .full {margin-left: calc(var(--gutters) * -0.5);max-width: none !important;width: calc(100% + var(--gutters) + 0.4725px);}.container.style1.columns > .wrapper > .inner > div:first-child > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + var(--padding-horizontal) + calc(var(--gutters) * 0.5) + 0.4725px);}.container.style1.columns > .wrapper > .inner > div:last-child > .full {width: calc(100% + var(--padding-horizontal) + calc(var(--gutters) * 0.5) + 0.4725px);}.container.style1.columns > .wrapper > .inner > div > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;}.container.style1.columns > .wrapper > .inner > div > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;}.container.style1.columns > .wrapper > .inner > .full {align-self: stretch;}.container.style1.columns > .wrapper > .inner > .full:first-child {border-bottom-left-radius: inherit;border-top-left-radius: inherit;}.container.style1.columns > .wrapper > .inner > .full:last-child {border-bottom-right-radius: inherit;border-top-right-radius: inherit;}.container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child {border-radius: inherit;height: calc(100% + (var(--padding-vertical) * 2));}.container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child > * {border-radius: inherit;height: 100%;position: absolute;width: 100%;}#container03 > .wrapper > .inner > :nth-child(1) {width: calc(50% + (var(--gutters) / 2));}#container03 > .wrapper > .inner > :nth-child(2) {width: calc(50% + (var(--gutters) / 2));}#container10 > .wrapper > .inner > :nth-child(1) {width: calc(50% + (var(--gutters) / 2));}#container10 > .wrapper > .inner > :nth-child(2) {width: calc(50% + (var(--gutters) / 2));}#container05 > .wrapper > .inner > :nth-child(1) {width: calc(50% + (var(--gutters) / 2));}#container05 > .wrapper > .inner > :nth-child(2) {width: calc(50% + (var(--gutters) / 2));}#container11 > .wrapper > .inner > :nth-child(1) {width: calc(50% + (var(--gutters) / 2));}#container11 > .wrapper > .inner > :nth-child(2) {width: calc(50% + (var(--gutters) / 2));}#container07 > .wrapper > .inner > :nth-child(1) {width: calc(33.33333% + (var(--gutters) / 3));}#container07 > .wrapper > .inner > :nth-child(2) {width: calc(33.33333% + (var(--gutters) / 3));--alignment: center;--flex-alignment: center;--indent-left: 1;--indent-right: 1;--margin-left: auto;--margin-right: auto;}#container07 > .wrapper > .inner > :nth-child(3) {width: calc(33.33333% + (var(--gutters) / 3));}.buttons {cursor: default;display: flex;justify-content: var(--flex-alignment);letter-spacing: 0;padding: 0;}.buttons li {max-width: 100%;text-align: var(--alignment);}.buttons li a {align-items: center;justify-content: center;max-width: 100%;text-align: center;text-decoration: none;vertical-align: middle;white-space: nowrap;}.buttons.style1 {--flex-alignment: center;--alignment: center;gap: 0.75rem;flex-direction: row;flex-wrap: wrap;}.buttons.style1:not(:first-child) {margin-top: 3rem !important;}.buttons.style1:not(:last-child) {margin-bottom: 3rem !important;}.buttons.style1 li a {display: inline-block;width: auto;height: 3.5rem;line-height: 3.5rem;padding: 0 1.75rem;vertical-align: middle;font-family: 'Work Sans', sans-serif;font-size: 1em;font-weight: 500;border-radius: 0.5rem;direction: var(--site-language-direction);overflow: hidden;text-overflow: ellipsis;transition: transform 0.25s ease, color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;}.buttons.style1 .button {background-color: #FF6D63;color: #FFFFFF;}.buttons.style1 li a:hover {transform: scale(1.0425);}.image {display: block;line-height: 0;max-width: 100%;position: relative;}.image .frame {-webkit-backface-visibility: hidden;-webkit-transform: translate3d(0, 0, 0);display: inline-block;max-width: 100%;overflow: hidden;vertical-align: top;width: 100%;}.image .frame img {border-radius: 0 !important;max-width: 100%;vertical-align: top;width: inherit;}.image.full .frame {display: block;}.image.full:first-child .frame {border-top-left-radius: inherit;border-top-right-radius: inherit;}.image.full:last-child .frame {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.image.style1 .frame {width: 100vw;transition: none;}.image.style1 .frame img {transition: none;}.image.style2:not(:first-child) {margin-top: 3rem !important;}.image.style2:not(:last-child) {margin-bottom: 3rem !important;}.image.style2 .frame {width: 2.5rem;transition: none;}.image.style2 .frame img {transition: none;}.image.style3 .frame {width: 100vw;border-radius: 100%;transition: none;}.image.style3 .frame img {transition: none;}form {display: flex;justify-content: var(--flex-alignment);}form .inner {display: flex;flex-direction: column;flex-wrap: wrap;max-width: 100%;}form label {direction: var(--site-language-direction);display: block;}form .field[data-type="label"] + div {margin-top: 0 !important;}form .field button {align-items: center;background-color: transparent;border: 0;cursor: pointer;display: flex;justify-content: center;position: absolute;}form .field button > svg {height: 50%;min-width: 100%;}form input[type="text"], form input[type="email"], form input[type="tel"], form input[type="number"], form textarea, form select, form .file, form .date {background-color: transparent;border: 0;direction: var(--site-language-direction);display: block;outline: 0;text-align: var(--site-language-alignment);width: 100%;}form input[type="tel"] {-webkit-appearance: none;}form textarea {height: 10rem;line-height: normal;}form select {background-repeat: no-repeat;background-size: 1rem;text-overflow: ellipsis;-webkit-appearance: none;}form select option {background-color: white;color: black;}form select::-ms-expand {display: none;}form p {display: block;}form input[type="checkbox"] {-webkit-appearance: none;display: block;float: left;margin-right: -2rem;opacity: 0;width: 1rem;z-index: -1;}form input[type="checkbox"] + label {align-items: center;display: inline-flex;line-height: 1.6;text-align: var(--site-language-alignment);}form input[type="checkbox"] + label:before {background-position: center;background-repeat: no-repeat;content: '';cursor: pointer;display: inline-block;flex-grow: 0;flex-shrink: 0;vertical-align: middle;}form input[type="number"] {-webkit-appearance: none;-moz-appearance: textfield;}form input[type="number"]::-webkit-inner-spin-button, form input[type="number"]::-webkit-outer-spin-button {-webkit-appearance: none;}form .number {position: relative;}form .number > input[type="number"] {text-align: center;}form .field .number > button > svg {height: 40%;}form .file {position: relative;}form .file > input[type="file"] {cursor: pointer;height: 100%;left: 0;opacity: 0;position: absolute;top: 0;width: 100%;}form .file[data-filename]:before {background-repeat: no-repeat;content: attr(data-filename);display: block;height: 100%;overflow: hidden;position: absolute;text-overflow: ellipsis;top: 0;white-space: nowrap;}form .file[data-filename=""]:before {background-image: none !important;content: attr(data-placeholder);padding-left: 0 !important;}form .field .file > button > svg {height: 53%;}form .date {overflow: hidden;position: relative;}form .date input[type="date"] {cursor: pointer;display: block;height: 100%;left: 0;opacity: 0;position: absolute;top: 0;width: 100vw;}form .date[data-value]:before {background-repeat: no-repeat;display: block;height: 100%;overflow: hidden;position: absolute;text-overflow: ellipsis;top: 0;white-space: nowrap;}form .date:not([data-value=""]):before {content: attr(data-value);}form .date[data-value=""]:before {content: attr(data-placeholder);}form .field .date > button > svg {height: 60%;}form .actions {max-width: 100%;}form .actions button {align-items: center;background-color: transparent;border: 0;cursor: pointer;display: inline-flex;justify-content: center;max-width: 100%;text-align: center;vertical-align: middle;white-space: nowrap;}form .actions button:disabled {cursor: default;opacity: 0.35;pointer-events: none;}@keyframes button-spinner {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}form.style1 {justify-content: center;text-align: center;}form.style1 .inner > * {margin: 1rem 0 0 0;max-width: 100%;}form.style1 .inner > :first-child {margin: 0;}form.style1 .inner {width: 32rem;}form.style1 label:first-child {margin: 0.25rem 0 0.75rem 0;font-size: 1em;line-height: 1.5;font-family: 'Work Sans', sans-serif;font-weight: 500;color: #47403E;}form.style1 .field button {background-size: 1.3rem;height: 2.6rem;line-height: 2.6rem;width: 2.6rem;border-radius: 0.32rem;background-color: #FF6D63;transition: transform 0.25s ease, color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;}form.style1 .field button svg {fill: #FFFFFF;transition: fill 0.25s ease;}form.style1 input[type="text"], form.style1 input[type="email"], form.style1 input[type="tel"], form.style1 input[type="number"], form.style1 textarea, form.style1 select, form.style1 .file, form.style1 .date {font-size: 1em;font-family: 'Inter', sans-serif;font-weight: 300;border-radius: 0.5rem;color: #5E5653;border: solid 1px #E8E3E1;}form.style1 input[type="text"]:focus, form.style1 input[type="email"]:focus, form.style1 input[type="tel"]:focus, form.style1 input[type="number"]:focus, form.style1 textarea:focus, form.style1 select:focus, form.style1 .file:focus, form.style1 .date.focus {border-color: #FF6D63;box-shadow: 0 0 0 1px #FF6D63;}form.style1 input[type="text"], form.style1 input[type="email"], form.style1 input[type="tel"], form.style1 input[type="number"], form.style1 select, form.style1 .file, form.style1 .date {height: 3.25rem;padding: 0 1.1375rem;line-height: calc(3.25rem - 2px);}form.style1 textarea {padding: 1.1375rem;height: 10rem;line-height: 2;padding-top: 0.7875rem;}form.style1 select {background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='504' height='552' preserveAspectRatio='none' viewBox='0 0 504 552'%3E%3Cpath d='M483.9,210.9L252,442.9L20.1,210.9l67.9-67.9L252,307.1l164.1-164.1L483.9,210.9z' fill='%23E8E3E1' /%3E%3C/svg%3E");background-position: calc(100% - 1.1375rem) center;padding-right: 3.1875rem;}form.style1 input[type="checkbox"] + label:before {border-radius: 0.5rem;color: #5E5653;border: solid 1px #E8E3E1;background-size: 1.38125rem;height: 2.4375rem;width: 2.4375rem;margin-right: 1.21875rem;}form.style1 input[type="checkbox"]:checked + label:before {background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='648' height='552' preserveAspectRatio='none' viewBox='0 0 648 552'%3E%3Cpath d='M225.3,517.7L2.1,293.1l68.1-67.7L226,382.3L578.1,35.6l67.4,68.4L225.3,517.7z' fill='%235E5653' /%3E%3C/svg%3E");}form.style1 input[type="checkbox"]:focus + label:before {border-color: #FF6D63;box-shadow: 0 0 0 1px #FF6D63;}form.style1 .number > input[type="number"] {padding-left: 3.1rem;padding-right: 3.1rem;}form.style1 .number > button.decrement {bottom: calc(0.325rem - 0px);left: calc(0.325rem - 0px);}form.style1 .number > button.increment {bottom: calc(0.325rem - 0px);right: calc(0.325rem - 0px);}form.style1 .file:before {width: calc(100% - 4.3875rem);background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M27.4,4.5c-0.4-0.4-0.8-0.7-1.5-0.9c-0.6-0.3-1.2-0.4-1.7-0.4H7.1c-0.5,0-0.9,0.2-1.3,0.5S5.3,4.5,5.3,5.1v30.7 c0,0.5,0.2,0.9,0.5,1.3c0.4,0.4,0.8,0.5,1.3,0.5h25.8c0.5,0,0.9-0.2,1.3-0.5c0.4-0.4,0.5-0.8,0.5-1.3V13.7c0-0.5-0.1-1.1-0.4-1.7 c-0.3-0.6-0.6-1.1-0.9-1.5L27.4,4.5z M25.7,6.2l6,6c0.2,0.2,0.3,0.4,0.4,0.8h-7.2V5.8C25.3,5.9,25.5,6.1,25.7,6.2z M7.7,35.2V5.7 h14.7v8c0,0.5,0.2,0.9,0.5,1.3c0.4,0.4,0.8,0.5,1.3,0.5h8v19.7H7.7z' style='opacity: 0.375' fill='%235E5653' /%3E%3C/svg%3E");background-size: 1rem;background-position: left;padding-left: 1.4rem;}form.style1 .file > button {bottom: calc(0.325rem - 1px);right: calc(0.325rem - 1px);}form.style1 .date:before {width: calc(100% - 4.3875rem);}form.style1 .date > button {bottom: calc(0.325rem - 1px);right: calc(0.325rem - 1px);}form.style1 input[type="checkbox"] + label, form.style1 p {font-size: 1em;line-height: 2;font-family: 'Inter', sans-serif;font-weight: 300;color: #5E5653;}form.style1 .actions button {display: inline-block;height: 3.25rem;line-height: 3.25rem;padding: 0 1.625rem;font-size: 1em;font-family: 'Work Sans', sans-serif;font-weight: 500;border-radius: 0.5rem;direction: var(--site-language-direction);overflow: hidden;text-overflow: ellipsis;background-color: #FF6D63;color: #FFFFFF;transition: transform 0.25s ease, color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;position: relative;}form.style1 .actions button:hover {transform: scale(1.0425);}form.style1 .inner > :first-child > label:first-child {margin-top: 0;}form.style1 .actions button:before {animation: button-spinner 1s infinite linear;background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgOTYgOTYiIHpvb21BbmRQYW49ImRpc2FibGUiPjxzdHlsZT5jaXJjbGUge2ZpbGw6IHRyYW5zcGFyZW50OyBzdHJva2U6ICNGRkZGRkY7IHN0cm9rZS13aWR0aDogMnB4OyB9PC9zdHlsZT48ZGVmcz48Y2xpcFBhdGggaWQ9ImNvcm5lciI+PHBvbHlnb24gcG9pbnRzPSIwLDAgNDgsMCA0OCw0OCA5Niw0OCA5Niw5NiAwLDk2IiAvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjb3JuZXIpIj48Y2lyY2xlIGN4PSI0OCIgY3k9IjQ4IiByPSIzMiIvPjwvZz48L3N2Zz4=');background-position: center;background-repeat: no-repeat;background-size: 2.4375rem;content: '';display: block;height: 2.4375rem;left: 50%;margin: -1.21875rem 0 0 -1.21875rem;opacity: 0;pointer-events: none;position: absolute;top: 50%;transition: opacity 0.25s ease;transition-delay: 0s;width: 2.4375rem;}form.style1 .actions button.waiting {color: transparent;}form.style1 .actions button.waiting svg {fill: transparent;}form.style1 .actions button.waiting:before {opacity: 1.0;transition-delay: 0.125s;}form.style1 ::-webkit-input-placeholder {color: #5E5653;opacity: 0.55;}form.style1 :-moz-placeholder {color: #5E5653;opacity: 0.55;}form.style1 ::-moz-placeholder {color: #5E5653;opacity: 0.55;}form.style1 :-ms-input-placeholder {color: #5E5653;opacity: 0.55;}form.style1 .file[data-filename=""]:before {color: #5E5653;opacity: 0.55;}form.style1 .date[data-value=""]:before {color: #5E5653;opacity: 0.55;}#form01 input[name="mail"] {display: none;}.links {display: flex;justify-content: var(--flex-alignment);letter-spacing: 0;line-height: 1.5;padding: 0;}.links li {position: relative;text-align: var(--alignment);}.links li a {direction: var(--site-language-direction);display: block;}#links02 {--flex-alignment: center;--alignment: center;gap: 0.5rem;flex-direction: row;flex-wrap: wrap;font-family: 'Inter', sans-serif;font-size: 0.875em;font-weight: 300;}#links02 li a {color: #5E5653;text-decoration: none;}#links02 li a:hover {text-decoration: underline;}#links03 {--flex-alignment: center;--alignment: center;gap: 0.5rem;flex-direction: row;flex-wrap: wrap;font-family: 'Inter', sans-serif;font-size: 0.875em;font-weight: 300;}#links03 li a {color: #5E5653;text-decoration: none;}#links03 li a:hover {text-decoration: underline;}#links01 {--flex-alignment: center;--alignment: center;gap: 0.5rem;flex-direction: row;flex-wrap: wrap;font-family: 'Inter', sans-serif;font-size: 0.875em;font-weight: 300;}#links01 li a {color: #5E5653;text-decoration: none;}#links01 li a:hover {text-decoration: underline;}.icons {display: flex;flex-wrap: wrap;justify-content: var(--flex-alignment);letter-spacing: 0;padding: 0;}.icons li {position: relative;z-index: 1;}.icons li a {align-items: center;display: flex;justify-content: center;}.icons li a svg {display: block;position: relative;}.icons li a + svg {display: block;height: 100%;left: 0;pointer-events: none;position: absolute;top: 0;width: 100%;z-index: -1;}.icons li a .label {display: none;}#icons02 {justify-content: flex-end;font-size: 3em;gap: 0.75rem;}#icons02 li a {border-radius: 0.5rem;height: 1em;width: 1em;transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;}#icons02 li a svg {height: 100%;width: 100%;transition: fill 0.25s ease;}#icons02 a svg {fill: #FF6D63;}#icons02 li a + svg {transition: fill 0.25s ease, stroke 0.25s ease;}#icons03 {justify-content: flex-end;font-size: 3em;gap: 0.75rem;}#icons03 li a {border-radius: 0.5rem;height: 1em;width: 1em;transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;}#icons03 li a svg {height: 100%;width: 100%;transition: fill 0.25s ease;}#icons03 a svg {fill: #FF6D63;}#icons03 li a + svg {transition: fill 0.25s ease, stroke 0.25s ease;}#icons01 {justify-content: flex-end;font-size: 3em;gap: 0.75rem;}#icons01 li a {border-radius: 0.5rem;height: 1em;width: 1em;transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;}#icons01 li a svg {height: 100%;width: 100%;transition: fill 0.25s ease;}#icons01 a svg {fill: #FF6D63;}#icons01 li a + svg {transition: fill 0.25s ease, stroke 0.25s ease;}@media (max-width: 1920px) {}@media (max-width: 1680px) {html {font-size: 12pt;}}@media (max-width: 1280px) {html {font-size: 12pt;}}@media (max-width: 1024px) {}@media (max-width: 980px) {html {font-size: 10pt;}}@media (max-width: 736px) {html {font-size: 11pt;}#main {--alignment: center;--flex-alignment: center;--indent-left: 1;--indent-right: 1;--margin-left: auto;--margin-right: auto;}#main > .inner {--padding-horizontal: 2rem;--padding-vertical: 4rem;--spacing: 2rem;}#main > .inner > * > .full {margin-left: calc(-2rem);max-width: calc(100% + 4rem + 0.4725px);width: calc(100% + 4rem + 0.4725px);}#main > .inner > * > .full.screen {margin-left: -50vw;}#main > .inner > .active > .full:first-child {margin-top: -4rem !important;}#main > .inner > .active > .full:last-child {margin-bottom: -4rem !important;}h1.style6, h2.style6, h3.style6, p.style6 {letter-spacing: 0rem;width: 100%;font-size: 3.25em;line-height: 1.125;}h1.style4, h2.style4, h3.style4, p.style4 {letter-spacing: 0rem;width: 100%;font-size: 1.5em;line-height: 1.375;}h1.style8, h2.style8, h3.style8, p.style8 {letter-spacing: 0rem;width: 100%;font-size: 1em;line-height: 1.75;}h1.style3, h2.style3, h3.style3, p.style3 {letter-spacing: 0rem;width: 100%;font-size: 1.75em;line-height: 1.375;}h1.style2, h2.style2, h3.style2, p.style2 {letter-spacing: 0rem;width: 100%;font-size: 1em;line-height: 1.75;}h1.style1, h2.style1, h3.style1, p.style1 {letter-spacing: 0rem;width: 100%;font-size: 1em;line-height: 2;}h1.style9, h2.style9, h3.style9, p.style9 {letter-spacing: 0rem;width: 100%;font-size: 1em;line-height: 2;}h1.style5, h2.style5, h3.style5, p.style5 {letter-spacing: 0rem;width: 100%;font-size: 1em;line-height: 2;}h1.style7, h2.style7, h3.style7, p.style7 {letter-spacing: 0rem;width: 100%;font-size: 1em;line-height: 1.75;}.container.style3 {--alignment: center;--flex-alignment: center;--indent-left: 1;--indent-right: 1;--margin-left: auto;--margin-right: auto;min-height: 25.5rem;}.container.style3:not(:first-child) {margin-top: 4rem !important;}.container.style3:not(:last-child) {margin-bottom: 4rem !important;}.container.style3 > .wrapper > .inner {--gutters: 3rem;--padding-horizontal: 0rem;}.container.style3.columns > .wrapper > .inner {flex-direction: column !important;flex-wrap: nowrap !important;}.container.style3.columns > .wrapper > .inner > span {height: 0;margin-top: calc(var(--gutters) * -1);pointer-events: none;visibility: hidden;}.container.style3.columns > .wrapper > .inner > *:first-child {margin-left: 0 !important;padding-top: 0 !important;}.container.style3.columns > .wrapper > .inner > * {padding: calc(var(--gutters) * 0.5) 0 !important;}.container.style3.columns > .wrapper > .inner > *:last-child {padding-bottom: 0 !important;}.container.style3.columns > .wrapper > .inner > div > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style3.columns > .wrapper > .inner > div:first-of-type > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style3.columns > .wrapper > .inner > div:last-of-type > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style3.columns > .wrapper > .inner > div > .full:first-child {margin-top: calc(var(--gutters) * -0.5) !important;}.container.style3.columns > .wrapper > .inner > div > .full:last-child {margin-bottom: calc(var(--gutters) * -0.5) !important;}.container.style3.columns > .wrapper > .inner > div:first-of-type > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;}.container.style3.columns > .wrapper > .inner > div:last-of-type > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;}.container.style3.columns > .wrapper > .inner > div:first-of-type, .container.style3.columns > .wrapper > .inner > div:first-of-type > .full:first-child {border-top-left-radius: inherit;border-top-right-radius: inherit;}.container.style3.columns > .wrapper > .inner > div:last-of-type, .container.style3.columns > .wrapper > .inner > div:last-of-type > .full:last-child {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.container.style3.columns > .wrapper > .inner > div:first-of-type, .container.style3.columns > .wrapper > .inner > div:first-of-type > .full:last-child {border-bottom-left-radius: 0 !important;}.container.style3.columns > .wrapper > .inner > div:last-of-type, .container.style3.columns > .wrapper > .inner > div:last-of-type > .full:first-child {border-top-right-radius: 0 !important;}.container.style3.columns > .wrapper > .inner > .full {min-height: calc(25.5rem - (var(--padding-vertical) * 2));}.container.style3.columns > .wrapper > .inner > .full > .full:first-child:last-child {height: auto;}.container.style3.columns > .wrapper > .inner > .full > .full:first-child:last-child > * {height: auto;position: relative;width: auto;}#container01 > .wrapper > .inner > :nth-child(1) {--alignment: center;--flex-alignment: center;--indent-left: 1;--indent-right: 1;--margin-left: auto;--margin-right: auto;min-height: 100% !important;width: 100% !important;}#container01 > .wrapper > .inner > :nth-child(2) {--alignment: center;--flex-alignment: center;--indent-left: 1;--indent-right: 1;--margin-left: auto;--margin-right: auto;min-height: 100% !important;width: 100% !important;}.container.style2:not(:first-child) {margin-top: 4rem !important;}.container.style2:not(:last-child) {margin-bottom: 4rem !important;}.container.style2 > .wrapper > .inner {--gutters: 0rem;}.container.style2.columns > .wrapper > .inner {flex-direction: column !important;flex-wrap: nowrap !important;}.container.style2.columns > .wrapper > .inner > span {height: 0;margin-top: calc(var(--gutters) * -1);pointer-events: none;visibility: hidden;}.container.style2.columns > .wrapper > .inner > *:first-child {margin-left: 0 !important;padding-top: 0 !important;}.container.style2.columns > .wrapper > .inner > * {padding: calc(var(--gutters) * 0.5) 0 !important;}.container.style2.columns > .wrapper > .inner > *:last-child {padding-bottom: 0 !important;}.container.style2.columns > .wrapper > .inner > div > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style2.columns > .wrapper > .inner > div:first-of-type > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style2.columns > .wrapper > .inner > div:last-of-type > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style2.columns > .wrapper > .inner > div > .full:first-child {margin-top: calc(var(--gutters) * -0.5) !important;}.container.style2.columns > .wrapper > .inner > div > .full:last-child {margin-bottom: calc(var(--gutters) * -0.5) !important;}.container.style2.columns > .wrapper > .inner > div:first-of-type > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;}.container.style2.columns > .wrapper > .inner > div:last-of-type > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;}.container.style2.columns > .wrapper > .inner > div:first-of-type, .container.style2.columns > .wrapper > .inner > div:first-of-type > .full:first-child {border-top-left-radius: inherit;border-top-right-radius: inherit;}.container.style2.columns > .wrapper > .inner > div:last-of-type, .container.style2.columns > .wrapper > .inner > div:last-of-type > .full:last-child {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.container.style2.columns > .wrapper > .inner > div:first-of-type, .container.style2.columns > .wrapper > .inner > div:first-of-type > .full:last-child {border-bottom-left-radius: 0 !important;}.container.style2.columns > .wrapper > .inner > div:last-of-type, .container.style2.columns > .wrapper > .inner > div:last-of-type > .full:first-child {border-top-right-radius: 0 !important;}.container.style2.columns > .wrapper > .inner > .full > .full:first-child:last-child {height: auto;}.container.style2.columns > .wrapper > .inner > .full > .full:first-child:last-child > * {height: auto;position: relative;width: auto;}.container.style1:not(:first-child) {margin-top: 4rem !important;}.container.style1:not(:last-child) {margin-bottom: 4rem !important;}.container.style1 > .wrapper > .inner {--gutters: 3rem;--padding-horizontal: 0rem;--padding-vertical: 0rem;}.container.style1.columns > .wrapper > .inner {flex-direction: column !important;flex-wrap: nowrap !important;}.container.style1.columns > .wrapper > .inner > span {height: 0;margin-top: calc(var(--gutters) * -1);pointer-events: none;visibility: hidden;}.container.style1.columns > .wrapper > .inner > *:first-child {margin-left: 0 !important;padding-top: 0 !important;}.container.style1.columns > .wrapper > .inner > * {padding: calc(var(--gutters) * 0.5) 0 !important;}.container.style1.columns > .wrapper > .inner > *:last-child {padding-bottom: 0 !important;}.container.style1.columns > .wrapper > .inner > div > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style1.columns > .wrapper > .inner > div:first-of-type > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style1.columns > .wrapper > .inner > div:last-of-type > .full {margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}.container.style1.columns > .wrapper > .inner > div > .full:first-child {margin-top: calc(var(--gutters) * -0.5) !important;}.container.style1.columns > .wrapper > .inner > div > .full:last-child {margin-bottom: calc(var(--gutters) * -0.5) !important;}.container.style1.columns > .wrapper > .inner > div:first-of-type > .full:first-child {margin-top: calc(var(--padding-vertical) * -1) !important;}.container.style1.columns > .wrapper > .inner > div:last-of-type > .full:last-child {margin-bottom: calc(var(--padding-vertical) * -1) !important;}.container.style1.columns > .wrapper > .inner > div:first-of-type, .container.style1.columns > .wrapper > .inner > div:first-of-type > .full:first-child {border-top-left-radius: inherit;border-top-right-radius: inherit;}.container.style1.columns > .wrapper > .inner > div:last-of-type, .container.style1.columns > .wrapper > .inner > div:last-of-type > .full:last-child {border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}.container.style1.columns > .wrapper > .inner > div:first-of-type, .container.style1.columns > .wrapper > .inner > div:first-of-type > .full:last-child {border-bottom-left-radius: 0 !important;}.container.style1.columns > .wrapper > .inner > div:last-of-type, .container.style1.columns > .wrapper > .inner > div:last-of-type > .full:first-child {border-top-right-radius: 0 !important;}.container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child {height: auto;}.container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child > * {height: auto;position: relative;width: auto;}#container03 > .wrapper > .inner > :nth-child(1) {min-height: 100% !important;width: 100% !important;}#container03 > .wrapper > .inner > :nth-child(2) {min-height: 100% !important;width: 100% !important;}#container10 > .wrapper > .inner > :nth-child(1) {min-height: 100% !important;width: 100% !important;}#container10 > .wrapper > .inner > :nth-child(2) {min-height: 100% !important;width: 100% !important;}#container05 > .wrapper > .inner > :nth-child(1) {min-height: 100% !important;width: 100% !important;}#container05 > .wrapper > .inner > :nth-child(2) {min-height: 100% !important;width: 100% !important;}#container11 > .wrapper > .inner > :nth-child(1) {min-height: 100% !important;width: 100% !important;}#container11 > .wrapper > .inner > :nth-child(2) {min-height: 100% !important;width: 100% !important;}#container07 > .wrapper > .inner > :nth-child(1) {min-height: 100% !important;width: 100% !important;}#container07 > .wrapper > .inner > :nth-child(2) {--alignment: center;--flex-alignment: center;--indent-left: 1;--indent-right: 1;--margin-left: auto;--margin-right: auto;min-height: 100% !important;width: 100% !important;}#container07 > .wrapper > .inner > :nth-child(3) {min-height: 100% !important;width: 100% !important;}.buttons.style1 {gap: 0.75rem;}.buttons.style1:not(:first-child) {margin-top: 2.25rem !important;}.buttons.style1:not(:last-child) {margin-bottom: 2.25rem !important;}.buttons.style1 li a {letter-spacing: 0rem;font-size: 1em;}.image.style1 .frame {width: 15rem;}.image.style2:not(:first-child) {margin-top: 2.25rem !important;}.image.style2:not(:last-child) {margin-bottom: 2.25rem !important;}.image.style2 .frame {width: 2.5rem;}.image.style3 .frame {width: 15rem;}form.style1 label:first-child {font-size: 1em;line-height: 1.5;letter-spacing: 0rem;}form.style1 input[type="text"], form.style1 input[type="email"], form.style1 input[type="tel"], form.style1 input[type="number"], form.style1 textarea, form.style1 select, form.style1 .file, form.style1 .date {font-size: 1em;letter-spacing: 0rem;}form.style1 textarea {line-height: 2;padding-top: 0.7875rem;}form.style1 input[type="checkbox"] + label, form.style1 p {font-size: 1em;line-height: 2;letter-spacing: 0rem;}form.style1 .actions button {font-size: 1em;letter-spacing: 0rem;}#links02 {gap: 0.5rem;font-size: 0.875em;}#links03 {gap: 0.5rem;font-size: 0.875em;}#links01 {gap: 0.5rem;font-size: 0.875em;}#icons02 {font-size: 3em;gap: 0.75rem;}#icons03 {font-size: 3em;gap: 0.75rem;}#icons01 {font-size: 3em;gap: 0.75rem;}}@media (max-width: 480px) {#main > .inner {--spacing: 1.75rem;}}@media (max-width: 360px) {#main > .inner {--padding-horizontal: 1.5rem;--padding-vertical: 3rem;--spacing: 1.5rem;}#main > .inner > * > .full {margin-left: calc(-1.5rem);max-width: calc(100% + 3rem + 0.4725px);width: calc(100% + 3rem + 0.4725px);}#main > .inner > * > .full.screen {margin-left: -50vw;}#main > .inner > .active > .full:first-child {margin-top: -3rem !important;}#main > .inner > .active > .full:last-child {margin-bottom: -3rem !important;}h1.style6, h2.style6, h3.style6, p.style6 {font-size: 3.25em;}h1.style4, h2.style4, h3.style4, p.style4 {font-size: 1.5em;}h1.style8, h2.style8, h3.style8, p.style8 {font-size: 1em;}h1.style3, h2.style3, h3.style3, p.style3 {font-size: 1.75em;}h1.style2, h2.style2, h3.style2, p.style2 {font-size: 1em;}h1.style1, h2.style1, h3.style1, p.style1 {font-size: 1em;}h1.style9, h2.style9, h3.style9, p.style9 {font-size: 1em;}h1.style5, h2.style5, h3.style5, p.style5 {font-size: 1em;}h1.style7, h2.style7, h3.style7, p.style7 {font-size: 1em;}.container.style3 > .wrapper > .inner {--gutters: 3rem;--padding-horizontal: 0rem;}.container.style3 {min-height: 17rem;}.container.style3.columns > .wrapper > .inner > .full {min-height: calc(17rem - (var(--padding-vertical) * 2));}.container.style2 > .wrapper > .inner {--gutters: 0rem;}.container.style1 > .wrapper > .inner {--gutters: 3rem;--padding-horizontal: 0rem;--padding-vertical: 0rem;}.buttons.style1 {gap: 0.5625rem;}#links02 {gap: 0.375rem;font-size: 0.875em;}#links03 {gap: 0.375rem;font-size: 0.875em;}#links01 {gap: 0.375rem;font-size: 0.875em;}#icons02 {gap: 0.5625rem;}#icons03 {gap: 0.5625rem;}#icons01 {gap: 0.5625rem;}}</style><noscript><style>body {overflow: auto !important;}#main {opacity: 1.0 !important;transform: none !important;transition: none !important;filter: none !important;}#main > .inner > section {opacity: 1.0 !important;transform: none !important;transition: none !important;filter: none !important;}</style></noscript></head><body class="is-loading"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 40 40" display="none" width="0" height="0"><symbol id="icon-95cc8ee5d611e81aeda432cef856c7b8" viewBox="0 0 40 40"><path d="M34,11.7c0-0.6-0.2-1.2-0.7-1.6l-3.2-3.2c-0.4-0.4-1-0.7-1.6-0.7s-1.2,0.2-1.6,0.7L20,13.8l-6.9-6.9c-0.4-0.4-1-0.7-1.6-0.7 c-0.6,0-1.2,0.2-1.6,0.7l-3.2,3.2c-0.4,0.4-0.7,1-0.7,1.6c0,0.6,0.2,1.2,0.7,1.6l6.9,6.9l-6.9,6.9c-0.4,0.4-0.7,1-0.7,1.6 s0.2,1.2,0.7,1.6l3.2,3.2c0.4,0.4,1,0.7,1.6,0.7c0.6,0,1.2-0.2,1.6-0.7l6.9-6.9l6.9,6.9c0.4,0.4,1,0.7,1.6,0.7s1.2-0.2,1.6-0.7 l3.2-3.2c0.4-0.4,0.7-1,0.7-1.6s-0.2-1.2-0.7-1.6l-6.9-6.9l6.9-6.9C33.8,12.9,34,12.3,34,11.7z"/></symbol></svg><div id="wrapper"><div id="main"><div class="inner"><section id="home-section"><h1 id="text02" class="style6">Enterprise Performance Management Systems</h1><div id="container01" class="style3 container columns full"><div class="wrapper"><div class="inner" data-onvisible-trigger="1" data-reorder="1,0"><div><h3 id="text18" class="style4">Unlock the Power of Your Data</h3><p id="text17" class="style8"><span class="p">In Singapore’s public healthcare and NGO sectors, stringent internet separation requirements, data privacy regulations and manpower constraints make transforming data into actionable insights challenging. At EPMS, we specialise in automating workflows and data pipelines to create business intelligence tools using existing approved software like Microsoft Power BI and Power Automate.</span><span class="p">We aim to help Singapore's healthcare institutions and NGOs derive actionable insights from their data to make the best policy decisions efficiently through smart automations and great data visualisations.</span></p><ul id="buttons01" class="style1 buttons"><li><a href="#about" class="button n01" role="button">Learn More</a></li></ul></div><div><div id="image01" class="style1 image"><span class="frame"><img src="assets/images/image01.jpg?v=3e58bd0d" alt="" /></span></div></div></div></div></div></section><section id="about-section"><div id="container02" class="style2 container default full screen"><div class="wrapper"><div class="inner" data-onvisible-trigger="1"><div id="image02" class="style2 image"><span class="frame"><img src="assets/images/image02.svg?v=3e58bd0d" alt="" /></span></div><h2 id="text01" class="style3">A World-Class Fractional Technical and Data Analytics Team</h2><p id="text03" class="style2">Elevate your data capabilities with our dedicated team of world-class computer scientists and data analysts. We fill your team's skill gaps immediately.</p></div></div></div><div id="container03" class="style1 container columns"><div class="wrapper"><div class="inner" data-onvisible-trigger="1" data-reorder="0,1"><div><div id="image11" class="style1 image"><span class="frame deferred"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAxNzQwIDExNTIiIHdpZHRoPSIxNzQwIiBoZWlnaHQ9IjExNTIiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxyZWN0IGZpbGw9IiM2MTVlNTgiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiLz48L3N2Zz4%3D" data-src="assets/images/image11.jpg?v=3e58bd0d" alt="" /></span></div></div><div><div id="image10" class="style2 image"><span class="frame"><img src="assets/images/image10.svg?v=3e58bd0d" alt="" /></span></div><h2 id="text04" class="style4">Having Manpower Challenges?</h2><p id="text05" class="style1">Our expert data team helps plug manpower deficits without you having to train and onboard new hires. With our expertise in handling healthcare data securely in internet-separated environments, we get your insights fast.</p></div></div></div></div><div id="container10" class="style1 container columns"><div class="wrapper"><div class="inner" data-onvisible-trigger="1" data-reorder="1,0"><div><div id="image08" class="style2 image"><span class="frame"><img src="assets/images/image08.svg?v=3e58bd0d" alt="" /></span></div><h2 id="text21" class="style4">Too Many Repetitive Tasks?</h2><p id="text22" class="style1">We advise teams on how to identify, improve workflows by implementing automations with Microsoft Power Automate to increase productivity by at least 10x.</p></div><div><div id="image04" class="style1 image"><span class="frame"><img src="assets/images/image04.jpg?v=3e58bd0d" alt="" /></span></div></div></div></div></div><div id="container05" class="style1 container columns"><div class="wrapper"><div class="inner" data-onvisible-trigger="1" data-reorder="0,1"><div><div id="image06" class="style1 image"><span class="frame deferred"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAxNzQwIDk2NyIgd2lkdGg9IjE3NDAiIGhlaWdodD0iOTY3IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48cmVjdCBmaWxsPSIjYWJiZWQzIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8%2BPC9zdmc%2B" data-src="assets/images/image06.jpg?v=3e58bd0d" alt="" /></span></div></div><div><div id="image07" class="style2 image"><span class="frame"><img src="assets/images/image07.svg?v=3e58bd0d" alt="" /></span></div><h2 id="text08" class="style4">Need Insights Fast?</h2><p id="text09" class="style1">Leverage our team of experts to create real-time visualisations with Microsoft Power BI to unlock insights that deliver real business value.</p></div></div></div></div><ul id="buttons04" class="style1 buttons"><li><a href="#choose" class="button n01" role="button">Choose Us</a></li></ul></section><section id="choose-section"><div id="container06" class="style2 container default full screen"><div class="wrapper"><div class="inner" data-onvisible-trigger="1"><div id="image03" class="style2 image"><span class="frame"><img src="assets/images/image03.svg?v=3e58bd0d" alt="" /></span></div><h2 id="text10" class="style3">Why Choose Us?</h2><p id="text14" class="style2"><span class="p"><strong>Proven Expertise:</strong> Extensive experience supporting Singapore’s public healthcare sectors.</span><span class="p"><strong>Compliance-Focused:</strong> Solutions designed to meet stringent data privacy and security requirements.</span><span class="p"><strong>Sustainable Results:</strong> We empower your team with tools and knowledge for long-term success.</span></p></div></div></div><div id="container11" class="style1 container columns"><div class="wrapper"><div class="inner" data-onvisible-trigger="1"><div><div id="image12" class="style3 image"><a href="https://www.linkedin.com/in/darylyeo/" class="frame deferred"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAxNTU3IDE1NTciIHdpZHRoPSIxNTU3IiBoZWlnaHQ9IjE1NTciIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxyZWN0IGZpbGw9IiM1NjMwMjkiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiLz48L3N2Zz4%3D" data-src="assets/images/image12.jpg?v=3e58bd0d" alt="Daryl Yeo" title="Daryl Yeo" /></a></div></div><div><h2 id="text24" class="style3">Daryl Yeo</h2><p id="text25" class="style2">Founder and Chief Executive Officer</p><p id="text23" class="style1"><span class="p">Daryl Yeo is cofounder and CEO of EPMS, a technology consultancy that helps Singapore's healthcare institutions with their technical challenges. He started EPMS after witnessing the struggles faced by his clients in his previous work at a high-growth healthtech startup.</span><span class="p">Daryl has a Master of Information Systems Management and a B.S. in Computer Science from Carnegie Mellon University and was conferred the Infocomm Development Authority's National Infocomm Scholarship (Overseas).</span></p></div></div></div></div><ul id="buttons03" class="style1 buttons"><li><a href="#contact" class="button n01" role="button">Work With Us</a></li></ul></section><section id="contact-section"><h2 id="text12" class="style4">Contact Us</h2><p id="text06" class="style2">First consultation is free!</p><form id="form01" method="post" class="style1"><div class="inner"><div class="field"><input type="text" name="name" id="form01-name" placeholder="Name" maxlength="128" required /></div><div class="field"><input type="text" name="company" id="form01-company" placeholder="Company Name (optional)" maxlength="128" /></div><div class="field"><input type="email" name="email" id="form01-email" placeholder="Email" maxlength="128" required /></div><div class="field"><input type="tel" pattern="[0-9\-\(\)+ #*]+" name="phone" id="form01-phone" placeholder="Phone Number (optional)" maxlength="64" /></div><div class="field"><input type="text" name="subject" id="form01-subject" placeholder="Subject" maxlength="128" required /></div><div class="field"><input type="text" name="mail" id="form01-mail" placeholder="Mail" maxlength="128" /></div><div class="field"><textarea data-gramm_editor="false" name="message" id="form01-message" placeholder="Message" maxlength="16384" required></textarea></div><div class="field"><div class="checkbox"><input type="checkbox" name="consent" id="form01-consent" value="checked" required /><label for="form01-consent"><span>I accept the above information will be used to contact me.</span></label></div></div><div class="actions"><button type="submit">Send</button></div></div><input type="hidden" name="id" value="form01" /></form><p id="text11" class="style5"><span class="p">© Enterprise Performance Management Systems Pte. Ltd.<br /> All rights reserved.</span></p><div id="container07" class="style1 container columns"><div class="wrapper"><div class="inner" data-onvisible-trigger="1" data-reorder="1,0,2"><div><ul id="links02" class="links"><li class="n01"><a href="#privacy">Privacy Policy</a></li></ul></div><div><ul id="links03" class="links"><li class="n01"><a href="#cookie">Cookie Policy</a></li></ul></div><div><ul id="links01" class="links"><li class="n01"><a href="#terms">Terms & Conditions</a></li></ul></div></div></div></div></section><section id="privacy-section"><div id="container09" class="style1 container default"><div class="wrapper"><div class="inner" data-onvisible-trigger="1"><ul id="icons02" class="icons"><li><a class="n01" href="#contact" role="button"><svg aria-labelledby="icons02-icon-1-title"><title id="icons02-icon-1-title">Cancel</title><use xlink:href="#icon-95cc8ee5d611e81aeda432cef856c7b8"></use></svg><span class="label">Cancel</span></a></li></ul></div></div></div><p id="text13" class="style7"><span class="p"><strong>PRIVACY POLICY</strong></span><span class="p"><strong>Last updated December 30, 2024</strong></span><span class="p">This Privacy Notice for Enterprise Performance Management Systems Pte. Ltd. ('<strong>we</strong>', '<strong>us</strong>', or '<strong>our</strong>') (UEN: 202408088D), describes how and why we might access, collect, store, use, and/or share ('<strong>process</strong>') your personal information when you use our services ('<strong>Services</strong>'), including when you:</span><span class="p">* Visit our website at <a href="https://www.epms.com">https://www.epms.com</a>, or any website of ours that links to this Privacy Notice</span><span class="p">* Engage with us in other related ways, including any sales, marketing, or events</span><span class="p"><strong>Questions or concerns?</strong> Reading this Privacy Notice will help you understand your privacy rights and choices. We are responsible for making decisions about how your personal information is processed. If you do not agree with our policies and practices, please do not use our Services. If you still have any questions or concerns, please contact us at <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0e7d7b7e7e617c7a4e6b7e637d206d6163">[email protected]</a>.</span><span class="p"><strong>SUMMARY OF KEY POINTS</strong></span><span class="p"><strong><em>This summary provides key points from our Privacy Notice, but you can find out more details about any of these topics by clicking the link following each key point or by using our</em></strong> <a href="#toc"><strong><em>table of contents</em></strong></a> <strong><em>below to find the section you are looking for.</em></strong></span><span class="p"><strong>What personal information do we process?</strong> When you visit, use, or navigate our Services, we may process personal information depending on how you interact with us and the Services, the choices you make, and the products and features you use. Learn more about <a href="#personalinfo">personal information you disclose to us</a>.</span><span class="p"><strong>Do we process any sensitive personal information?</strong> Some of the information may be considered 'special' or 'sensitive' in certain jurisdictions, for example your racial or ethnic origins, sexual orientation, and religious beliefs. We do not process sensitive personal information.</span><span class="p"><strong>Do we collect any information from third parties?</strong> We do not collect any information from third parties.</span><span class="p"><strong>How do we process your information?</strong> We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. We may also process your information for other purposes with your consent. We process your information only when we have a valid legal reason to do so. Learn more about <a href="#infouse">how we process your information</a>.</span><span class="p"><strong>In what situations and with which parties do we share personal information?</strong> We may share information in specific situations and with specific third parties. Learn more about <a href="#whoshare">when and with whom we share your personal information</a>.</span><span class="p"><strong>How do we keep your information safe?</strong> We have adequate organisational and technical processes and procedures in place to protect your personal information. However, no electronic transmission over the internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorised third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. Learn more about <a href="#infosafe">how we keep your information safe</a>.</span><span class="p"><strong>What are your rights?</strong> Depending on where you are located geographically, the applicable privacy law may mean you have certain rights regarding your personal information. Learn more about <a href="#privacyrights">your privacy rights</a>.</span><span class="p"><strong>How do you exercise your rights?</strong> The easiest way to exercise your rights is by contacting us. We will consider and act upon any request in accordance with applicable data protection laws.</span><span class="p">Want to learn more about what we do with any information we collect? <a href="#toc">Review the Privacy Notice in full</a>.</span><span class="p"><strong>TABLE OF CONTENTS</strong></span><span class="p">1. WHAT INFORMATION DO WE COLLECT?<br /> 2. HOW DO WE PROCESS YOUR INFORMATION?<br /> 3. WHEN AND WITH WHOM DO WE SHARE YOUR PERSONAL INFORMATION?<br /> 4. HOW LONG DO WE KEEP YOUR INFORMATION?<br /> 5. HOW DO WE KEEP YOUR INFORMATION SAFE?<br /> 6. DO WE COLLECT INFORMATION FROM MINORS?<br /> 7. WHAT ARE YOUR PRIVACY RIGHTS?<br /> 8. CONTROLS FOR DO-NOT-TRACK FEATURES<br /> 9. DO WE MAKE UPDATES TO THIS NOTICE?<br /> 10. HOW CAN YOU CONTACT US ABOUT THIS NOTICE?<br /> 11. HOW CAN YOU REVIEW, UPDATE, OR DELETE THE DATA WE COLLECT FROM YOU?</span><span class="p"><strong>1. WHAT INFORMATION DO WE COLLECT?</strong></span><span class="p"><strong>Personal information you disclose to us</strong></span><span class="p"><strong><em>In Short:</em></strong> <em>We collect personal information that you provide to us.</em></span><span class="p">We collect personal information that you voluntarily provide to us when you express an interest in obtaining information about us or our products and Services, when you participate in activities on the Services, or otherwise when you contact us.</span><span class="p"><strong>Personal Information Provided by You.</strong> The personal information that we collect depends on the context of your interactions with us and the Services, the choices you make, and the products and features you use. The personal information we collect may include the following:</span><span class="p">* names</span><span class="p">* phone numbers</span><span class="p">* email addresses</span><span class="p"><strong>Sensitive Information.</strong> We do not process sensitive information.</span><span class="p">All personal information that you provide to us must be true, complete, and accurate, and you must notify us of any changes to such personal information.</span><span class="p"><strong>2. HOW DO WE PROCESS YOUR INFORMATION?</strong></span><span class="p"><strong><em>In Short:</em></strong> <em>We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. We may also process your information for other purposes with your consent.</em></span><span class="p"><strong>We process your personal information for a variety of reasons, depending on how you interact with our Services, including:</strong></span><span class="p">* <strong>To respond to user inquiries/offer support to users.</strong> We may process your information to respond to your inquiries and solve any potential issues you might have with the requested service.</span><span class="p"><strong>3. WHEN AND WITH WHOM DO WE SHARE YOUR PERSONAL INFORMATION?</strong></span><span class="p"><strong><em>In Short:</em></strong> <em>We may share information in specific situations described in this section and/or with the following third parties.</em></span><span class="p">We may need to share your personal information in the following situations:</span><span class="p">* <strong>Business Transfers.</strong> We may share or transfer your information in connection with, or during negotiations of, any merger, sale of company assets, financing, or acquisition of all or a portion of our business to another company.</span><span class="p"><strong>4. HOW LONG DO WE KEEP YOUR INFORMATION?</strong></span><span class="p"><strong><em>In Short:</em></strong> <em>We keep your information for as long as necessary to fulfil the purposes outlined in this Privacy Notice unless otherwise required by law.</em></span><span class="p">We will only keep your personal information for as long as it is necessary for the purposes set out in this Privacy Notice, unless a longer retention period is required or permitted by law (such as tax, accounting, or other legal requirements).</span><span class="p">When we have no ongoing legitimate business need to process your personal information, we will either delete or anonymise such information, or, if this is not possible (for example, because your personal information has been stored in backup archives), then we will securely store your personal information and isolate it from any further processing until deletion is possible.</span><span class="p"><strong>5. HOW DO WE KEEP YOUR INFORMATION SAFE?</strong></span><span class="p"><strong><em>In Short:</em></strong> <em>We aim to protect your personal information through a system of organisational and technical security measures.</em></span><span class="p">We have implemented appropriate and reasonable technical and organisational security measures designed to protect the security of any personal information we process. However, despite our safeguards and efforts to secure your information, no electronic transmission over the Internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorised third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. Although we will do our best to protect your personal information, transmission of personal information to and from our Services is at your own risk. You should only access the Services within a secure environment.</span><span class="p"><strong>6. DO WE COLLECT INFORMATION FROM MINORS?</strong></span><span class="p"><strong><em>In Short:</em></strong> <em>We do not knowingly collect data from or market to children under 18 years of age.</em></span><span class="p">We do not knowingly collect, solicit data from, or market to children under 18 years of age, nor do we knowingly sell such personal information. By using the Services, you represent that you are at least 18 or that you are the parent or guardian of such a minor and consent to such minor dependent’s use of the Services. If we learn that personal information from users less than 18 years of age has been collected, we will deactivate the account and take reasonable measures to promptly delete such data from our records. If you become aware of any data we may have collected from children under age 18, please contact us at <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e2919792928d9096a287928f91cc818d8f">[email protected]</a>.</span><span class="p"><strong>7. WHAT ARE YOUR PRIVACY RIGHTS?</strong></span><span class="p"><strong><em>In Short:</em></strong> <em>You may review, change, or terminate your account at any time, depending on your country, province, or state of residence.</em></span><span class="p"><strong>Withdrawing your consent:</strong> If we are relying on your consent to process your personal information, which may be express and/or implied consent depending on the applicable law, you have the right to withdraw your consent at any time. You can withdraw your consent at any time by contacting us by using the contact details provided in the section '<a href="#contact">HOW CAN YOU CONTACT US ABOUT THIS NOTICE?</a>' below.</span><span class="p">However, please note that this will not affect the lawfulness of the processing before its withdrawal nor, when applicable law allows, will it affect the processing of your personal information conducted in reliance on lawful processing grounds other than consent.</span><span class="p">If you have questions or comments about your privacy rights, you may email us at <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="780b0d0808170a0c381d08150b561b1715">[email protected]</a>.</span><span class="p"><strong>8. CONTROLS FOR DO-NOT-TRACK FEATURES</strong></span><span class="p">Most web browsers and some mobile operating systems and mobile applications include a Do-Not-Track ('DNT') feature or setting you can activate to signal your privacy preference not to have data about your online browsing activities monitored and collected. At this stage, no uniform technology standard for recognising and implementing DNT signals has been finalised. As such, we do not currently respond to DNT browser signals or any other mechanism that automatically communicates your choice not to be tracked online. If a standard for online tracking is adopted that we must follow in the future, we will inform you about that practice in a revised version of this Privacy Notice.</span><span class="p"><strong>9. DO WE MAKE UPDATES TO THIS NOTICE?</strong></span><span class="p"><em><strong>In Short:</strong> Yes, we will update this notice as necessary to stay compliant with relevant laws.</em></span><span class="p">We may update this Privacy Notice from time to time. The updated version will be indicated by an updated 'Revised' date at the top of this Privacy Notice. If we make material changes to this Privacy Notice, we may notify you either by prominently posting a notice of such changes or by directly sending you a notification. We encourage you to review this Privacy Notice frequently to be informed of how we are protecting your information.</span><span class="p"><strong>10. HOW CAN YOU CONTACT US ABOUT THIS NOTICE?</strong></span><span class="p">If you have questions or comments about this notice, you may email us at <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b8cbcdc8c8d7caccf8ddc8d5cb96dbd7d5">[email protected]</a> or contact us by post at:</span><span class="p">Enterprise Performance Management Systems Pte. Ltd.<br /> 33 Bishan Street 21<br /> #05-07<br /> Singapore 579801</span><span class="p"><strong>11. HOW CAN YOU REVIEW, UPDATE, OR DELETE THE DATA WE COLLECT FROM YOU?</strong></span><span class="p">You have the right to request access to the personal information we collect from you, details about how we have processed it, correct inaccuracies, or delete your personal information. You may also have the right to withdraw your consent to our processing of your personal information. These rights may be limited in some circumstances by applicable law.</span></p></section><section id="cookie-section"><ul id="icons03" class="icons"><li><a class="n01" href="#contact" role="button"><svg aria-labelledby="icons03-icon-1-title"><title id="icons03-icon-1-title">Cancel</title><use xlink:href="#icon-95cc8ee5d611e81aeda432cef856c7b8"></use></svg><span class="label">Cancel</span></a></li></ul><p id="text20" class="style7"><span class="p"><strong>About This Cookie Policy</strong></span><span class="p"><strong>Last updated December 30, 2024</strong></span><span class="p">This Cookie Policy explains what are cookies and how Enterprise Performance Management Systems (UEN: 202408088D) uses them. Please read this policy to understand what type of cookies we use, the information we collect using cookies, and how the collected information is used and processed.</span><span class="p"><strong>What are Cookies?</strong><br /> Cookies are small pieces of data that are created when you visit any website. These cookies are stored in text files on your device and are accessed when you visit the same page again. Cookies are unique to the web browser or the mobile app that you are using.</span><span class="p">Cookies enhance your browsing experience, so you can browse our site as smoothly as possible. Cookies ensure a consistent and uniform experience for our visitors by performing essential functions such as quick loading of the site, allowing users to remain logged in, etc. The text in a cookie often consists of site names, identifiers, numbers, and characters. The content of a cookie can be accessed and read only by the server that created it.</span><span class="p"><strong>Persistent Cookies</strong><br /> Persistent cookies are an integral part of our cookie policy and we use them to improve your website experience by storing important information like sign-in credentials, preferences and settings so that you don’t have to re-enter these again. We also use them for assessing your interest in a particular product or service to cater to your needs.<br /> Please note that they stay with us for a longer period of time; even after your session ends.<br /> By agreeing to our cookie policy, you help us curate a hassle-free experience by allowing us to keep your information saved. We do not use your information for any purpose other than enhancing your user journey.</span><span class="p"><strong>Session Cookies</strong><br /> Session cookies are temporary and get deleted from your web browser and device when you exit the browser. We use session cookies to track internet usage.</span><span class="p"><strong>Types of Cookies</strong><br /> We use the following types of cookies:</span><span class="p"><strong>Technical / Strictly Necessary / Essential Cookies</strong><br /> These cookies are strictly mandatory and are essential for our site to let you perform the basic functions and offer you the services. For example, these cookies allow the content of the requested pages to load quickly, etc.</span><span class="p"><strong>Analytical/Performance Cookies</strong><br /> Performance cookies collect information on how users interact with our website and how they use it. It includes gathering information about traffic to our website, which pages are visited the most, and other analytical data. We make use of this information to enhance the functionality of our website. The collected information does not identify any individual visitor. We use Google Analytics for this purpose. However, Google Analytics uses its own cookies. For more information about Google Analytics cookies, click the link given : Google Analytics cookies</span><span class="p"><strong>Functionality Cookies</strong><br /> These cookies allow us to remember choices you make when you visit our site such as remembering your language preferences, location, login details, and the changes you make to other parts of our site, to provide you with the same customizations during future visits.</span><span class="p"><strong>How We Use Cookies?</strong><br /> We use cookies on our website and mobile application for the following purposes:</span><span class="p"><strong>Customization:</strong><br /> Cookies remember your preferences, so you don’t have to enter your details again and again. They enable a personalized experience for visitors.</span><span class="p"><strong>Authentication:</strong><br /> Cookies allow us to verify your account and device, and determine when you are logged in, so we can provide you with appropriate experiences and features. This also makes it easier for you to access the services.</span><span class="p"><strong>Security:</strong><br /> We use cookies to prevent the fraudulent usage of login credentials.</span><span class="p"><strong>Performance and Analytics:</strong><br /> We use cookies to analyze how the services are being used and to track the performance of the services.</span><span class="p"><strong>Third Parties:</strong><br /> Our site may include links of some third-party services. These third-party services may use cookies to let you sign into their services from our site. Any cookie usage by such third-party websites is governed by their Cookie/Privacy Policy.</span><span class="p"><strong>How to Opt-Out of Cookies?</strong><br /> Most web browsers are initially set to accept HTTP cookies. To learn how to stop accepting new cookies, how to receive notification of newly created cookies, and how to disable the existing cookies, you can go to the "Help" feature on the menu bar on most browsers. To get more information about HTTP cookies and how to disable them, please visit: www.allaboutcookies.org.</span><span class="p">If you want to control the HTML5 local storage on your browser, it depends on the browser you are using. For more information regarding your particular browser, please visit the browser’s website (found in the "Help" section). However, please note that without cookies, you may not be able to take full advantage of all our site’s features and parts of our website may not function properly.<br /> If you want to delete previously-created cookies, you can manually delete them at any time. However, this will not prevent the website from placing further cookies on your device unless you adjust your browser settings.</span><span class="p"><strong>Contact Us</strong><br /> If you have any questions about our use of cookies, please contact us at <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2d5e585d5d425f596d485d405e034e4240">[email protected]</a>.</span></p></section><section id="terms-section"><ul id="icons01" class="icons"><li><a class="n01" href="#contact" role="button"><svg aria-labelledby="icons01-icon-1-title"><title id="icons01-icon-1-title">Cancel</title><use xlink:href="#icon-95cc8ee5d611e81aeda432cef856c7b8"></use></svg><span class="label">Cancel</span></a></li></ul><p id="text19" class="style7"><span class="p"><strong>Terms & Conditions</strong></span><span class="p"><strong>Last updated December 30, 2024</strong></span><span class="p">© Enterprise Process Management Systems Pte. Ltd.. All rights are reserved. Unauthorized reproduction, adaptation, or translation is strictly forbidden unless permitted under international copyright laws. All text, graphics, designs, content, and other works are copyright-protected property of Enterprise Process Management Systems Pte. Ltd. (UEN: 202408088D).</span><span class="p"><strong>User Agreement</strong><br /> Welcome to Enterprise Performance Management Systems Pte. Ltd.'s corporate website (https://www.epms.com). Usage of our site is subject to the outlined Terms of Service. PLEASE REVIEW THESE TERMS CAREFULLY BEFORE ENGAGING WITH OUR WEBSITE. Enterprise Performance Management Systems Pte. Ltd.'s content is for information purposes only. By interacting with, accessing, or downloading materials from our site, you agree to adhere to this legal notice. This applies to all present and future engagements with the Enterprise Performance Management Systems Pte. Ltd. website. We reserve the right to modify these terms at any time, so we recommend regular reviews of our Terms of Service. If you disagree with these terms, please refrain from using our website.</span><span class="p"><strong>Usage Restrictions</strong><br /> You are permitted to view, download, and copy information available on our site solely for personal, non-commercial use, or within your organization to support Enterprise Performance Management Systems Pte. Ltd.'s products. Under these conditions, you agree not to modify any materials, and to maintain all copyright and proprietary notices contained in the original materials on any copies made. Unauthorized uses may be subject to legal consequences.</span><span class="p"><strong>Ownership of Content</strong><br /> The information and materials, including but not limited to white papers, press releases, data sheets, product descriptions, and FAQs, available on or from our site are copyrighted works of Enterprise Performance Management Systems Pte. Ltd.. Unauthorized use may violate copyright, trademark, and other laws. All rights not expressly granted herein are reserved.</span><span class="p"><strong>Trademark Information</strong><br /> Enterprise Performance Management Systems Pte. Ltd.'s trademarks can be used only with written permission from Enterprise Performance Management Systems Pte. Ltd.. All other trademarks, brands, and names belong to their respective owners. Nothing herein shall be construed as conferring any license or right under any patent, trademark, copyright, or other proprietary rights of Enterprise Performance Management Systems Pte. Ltd. or any third party unless expressly stated.</span><span class="p"><strong>External Links</strong><br /> We've included links to third-party sites for convenience and to enhance user experience. Enterprise Performance Management Systems Pte. Ltd. does not endorse, have any affiliation with, or is responsible for the availability of, or content found on these sites.</span><span class="p"><strong>User Feedback</strong><br /> Any feedback, comments, information, or materials you provide through or in connection with this website will be considered non-confidential and Enterprise Performance Management Systems Pte. Ltd.'s property. By submitting, you agree to grant Enterprise Performance Management Systems Pte. Ltd. unrestricted use of these materials, including but not limited to usage, copying, modification, display, and distribution rights.</span><span class="p"><strong>Disclaimer</strong><br /> Enterprise Performance Management Systems Pte. Ltd. makes every effort to provide useful, accurate, and timely information on this website but assumes no responsibility for its accuracy and completeness. Enterprise Performance Management Systems Pte. Ltd. reserves the right to modify any information or materials without prior notice. All information is provided "AS IS" without warranties of any kind. Enterprise Performance Management Systems Pte. Ltd. will not be liable for any damages arising out of the use or inability to use this website or any websites linked to this site. If your engagement with this website necessitates equipment or data servicing, repair, or correction, you are responsible for all associated costs.</span><span class="p"><strong>Termination of Use</strong><br /> Enterprise Performance Management Systems Pte. Ltd. makes every effort to provide useful, accurate, and timely information on this website but assumes no responsibility for its accuracy and completeness. Enterprise Performance Management Systems Pte. Ltd. reserves the right to modify any information or materials without prior notice. All information is provided "AS IS" without warranties of any kind. Enterprise Performance Management Systems Pte. Ltd. will not be liable for any damages arising out of the use or inability to use this website or any websites linked to this site. If your engagement with this website necessitates equipment or data servicing, repair, or correction, you are responsible for all associated costs.</span><span class="p"><strong>Governing Law and Jurisdiction</strong><br /> This Agreement is governed by and construed in accordance with Singapore law, excluding its choice of law principles. The Singapore Supreme Court shall have exclusive jurisdiction and venue over any disputes arising from this Agreement. Both parties hereby consent to the jurisdiction and venue of these courts.</span><span class="p"><strong>General Provisions</strong><br /> If any part of this agreement is deemed void, unlawful, or unenforceable for any reason, that provision will be severed from this agreement, and the remaining provisions will remain in effect. This agreement constitutes the entire understanding between you and Enterprise Performance Management Systems Pte. Ltd. regarding site usage and may not be modified except in writing, signed by both parties. If you have questions regarding Enterprise Performance Management Systems Pte. Ltd.'s Terms of Service, please email: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e3909693938c9197a386938e90cd808c8e">[email protected]</a>.</span></p></section><section id="done-section"><div id="container08" class="style1 container default"><div class="wrapper"><div class="inner" data-onvisible-trigger="1"><h2 id="text15" class="style3">Thank you!</h2><p id="text16" class="style9">We have received your message and will get back to you as soon as possible!</p><ul id="buttons02" class="style1 buttons"><li><a href="#home" class="button n01" role="button">Continue</a></li></ul></div></div></div></section></div></div></div><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>(function() {var on = addEventListener,off = removeEventListener,$ = function(q) { return document.querySelector(q) },$$ = function(q) { return document.querySelectorAll(q) },$body = document.body,$inner = $('.inner'),client = (function() {var o = {browser: 'other',browserVersion: 0,os: 'other',osVersion: 0,mobile: false,canUse: null,flags: {lsdUnits: false,},},ua = navigator.userAgent,a, i;a = [['firefox',/Firefox\/([0-9\.]+)/],['edge',/Edge\/([0-9\.]+)/],['safari',/Version\/([0-9\.]+).+Safari/],['chrome',/Chrome\/([0-9\.]+)/],['chrome',/CriOS\/([0-9\.]+)/],['ie',/Trident\/.+rv:([0-9]+)/]];for (i=0; i < a.length; i++) {if (ua.match(a[i][1])) {o.browser = a[i][0];o.browserVersion = parseFloat(RegExp.$1);break;}}a = [['ios',/([0-9_]+) like Mac OS X/,function(v) { return v.replace('_', '.').replace('_', ''); }],['ios',/CPU like Mac OS X/,function(v) { return 0 }],['ios',/iPad; CPU/,function(v) { return 0 }],['android',/Android ([0-9\.]+)/,null],['mac',/Macintosh.+Mac OS X ([0-9_]+)/,function(v) { return v.replace('_', '.').replace('_', ''); }],['windows',/Windows NT ([0-9\.]+)/,null],['undefined',/Undefined/,null]];for (i=0; i < a.length; i++) {if (ua.match(a[i][1])) {o.os = a[i][0];o.osVersion = parseFloat( a[i][2] ? (a[i][2])(RegExp.$1) : RegExp.$1 );break;}}if (o.os == 'mac'&& ('ontouchstart' in window)&& ((screen.width == 1024 && screen.height == 1366)|| (screen.width == 834 && screen.height == 1112)|| (screen.width == 810 && screen.height == 1080)|| (screen.width == 768 && screen.height == 1024)))o.os = 'ios';o.mobile = (o.os == 'android' || o.os == 'ios');var _canUse = document.createElement('div');o.canUse = function(property, value) {var style;style = _canUse.style;if (!(property in style))return false;if (typeof value !== 'undefined') {style[property] = value;if (style[property] == '')return false;}return true;};o.flags.lsdUnits = o.canUse('width', '100dvw');return o;}()),ready = {list: [],add: function(f) {this.list.push(f);},run: function() {this.list.forEach((f) => {f();});},},trigger = function(t) {dispatchEvent(new Event(t));},cssRules = function(selectorText) {var ss = document.styleSheets,a = [],f = function(s) {var r = s.cssRules,i;for (i=0; i < r.length; i++) {if (r[i] instanceof CSSMediaRule && matchMedia(r[i].conditionText).matches)(f)(r[i]); else if (r[i] instanceof CSSStyleRule && r[i].selectorText == selectorText)a.push(r[i]);}},x, i;for (i=0; i < ss.length; i++)f(ss[i]);return a;},escapeHtml = function(s) {if (s === ''|| s === null|| s === undefined)return '';var a = {'&': '&','<': '<','>': '>','"': '"',"'": ''',};s = s.replace(/[&<>"']/g, function(x) {return a[x];});return s;},thisHash = function() {var h = location.hash ? location.hash.substring(1) : null,a;if (!h)return null;if (h.match(/\?/)) {a = h.split('?');h = a[0];history.replaceState(undefined, undefined, '#' + h);window.location.search = a[1];}if (h.length > 0&& !h.match(/^[a-zA-Z]/))h = 'x' + h;if (typeof h == 'string')h = h.toLowerCase();return h;},scrollToElement = function(e, style, duration) {var y, cy, dy,start, easing, offset, f;if (!e)y = 0; else {offset = (e.dataset.scrollOffset ? parseInt(e.dataset.scrollOffset) : 0) * parseFloat(getComputedStyle(document.documentElement).fontSize);switch (e.dataset.scrollBehavior ? e.dataset.scrollBehavior : 'default') {case 'default':default:y = e.offsetTop + offset;break;case 'center':if (e.offsetHeight < window.innerHeight)y = e.offsetTop - ((window.innerHeight - e.offsetHeight) / 2) + offset; else y = e.offsetTop - offset;break;case 'previous':if (e.previousElementSibling)y = e.previousElementSibling.offsetTop + e.previousElementSibling.offsetHeight + offset; else y = e.offsetTop + offset;break;}}if (!style)style = 'smooth';if (!duration)duration = 750;if (style == 'instant') {window.scrollTo(0, y);return;}start = Date.now();cy = window.scrollY;dy = y - cy;switch (style) {case 'linear':easing = function (t) { return t };break;case 'smooth':easing = function (t) { return t<.5 ? 4*t*t*t : (t-1)*(2*t-2)*(2*t-2)+1 };break;}f = function() {var t = Date.now() - start;if (t >= duration)window.scroll(0, y); else {window.scroll(0, cy + (dy * easing(t / duration)));requestAnimationFrame(f);}};f();},scrollToTop = function() {scrollToElement(null);},loadElements = function(parent) {var a, e, x, i;a = parent.querySelectorAll('iframe[data-src]:not([data-src=""])');for (i=0; i < a.length; i++) {a[i].contentWindow.location.replace(a[i].dataset.src);a[i].dataset.initialSrc = a[i].dataset.src;a[i].dataset.src = '';}a = parent.querySelectorAll('video[autoplay]');for (i=0; i < a.length; i++) {if (a[i].paused)a[i].play();}e = parent.querySelector('[data-autofocus="1"]');x = e ? e.tagName : null;switch (x) {case 'FORM':e = e.querySelector('.field input, .field select, .field textarea');if (e)e.focus();break;default:break;}a = parent.querySelectorAll('unloaded-script');for (i=0; i < a.length; i++) {x = document.createElement('script');x.setAttribute('data-loaded', '');if (a[i].getAttribute('src'))x.setAttribute('src', a[i].getAttribute('src'));if (a[i].textContent)x.textContent = a[i].textContent;a[i].replaceWith(x);}x = new Event('loadelements');a = parent.querySelectorAll('[data-unloaded]');a.forEach((element) => {element.removeAttribute('data-unloaded');element.dispatchEvent(x);});},unloadElements = function(parent) {var a, e, x, i;a = parent.querySelectorAll('iframe[data-src=""]');for (i=0; i < a.length; i++) {if (a[i].dataset.srcUnload === '0')continue;if ('initialSrc' in a[i].dataset)a[i].dataset.src = a[i].dataset.initialSrc; else a[i].dataset.src = a[i].src;a[i].contentWindow.location.replace('about:blank');}a = parent.querySelectorAll('video');for (i=0; i < a.length; i++) {if (!a[i].paused)a[i].pause();}e = $(':focus');if (e)e.blur();};window._scrollToTop = scrollToTop;var thisUrl = function() {return window.location.href.replace(window.location.search, '').replace(/#$/, '');};var getVar = function(name) {var a = window.location.search.substring(1).split('&'),b, k;for (k in a) {b = a[k].split('=');if (b[0] == name)return b[1];}return null;};var errors = {handle: function(handler) {window.onerror = function(message, url, line, column, error) {(handler)(error.message);return true;};},unhandle: function() {window.onerror = null;}};var db = {open: function(objectStoreName, handler) {var request = indexedDB.open('carrd');request.onupgradeneeded = function(event) {event.target.result.createObjectStore(objectStoreName,{keyPath: 'id'});};request.onsuccess = function(event) {(handler)(event.target.result.transaction([objectStoreName],'readwrite').objectStore(objectStoreName));};},put: function(objectStore, values, handler) {var request = objectStore.put(values);request.onsuccess = function(event) {(handler)();};request.onerror = function(event) {throw new Error('db.put: error');};},get: function(objectStore, id, handler) {var request = objectStore.get(id);request.onsuccess = function(event) {if (!event.target.result)throw new Error('db.get: could not retrieve object with id "' + id + '"');(handler)(event.target.result);};request.onerror = function(event) {throw new Error('db.get: error');};},delete: function(objectStore, id, handler) {objectStore.delete(id).onsuccess = function(event) {(handler)(event.target.result);};},};var loaderTimeout = setTimeout(function() {$body.classList.add('with-loader');}, 500);var loadHandler = function() {setTimeout(function() {clearTimeout(loaderTimeout);$body.classList.remove('is-loading');$body.classList.add('is-playing');setTimeout(function() {$body.classList.remove('with-loader');$body.classList.remove('is-playing');$body.classList.add('is-ready');}, 500);}, 100);};on('load', loadHandler);(function() {var initialSection, initialScrollPoint, initialId,header, footer, name, hideHeader, hideFooter, disableAutoScroll,h, e, ee, k,locked = false,title = document.title,scrollPointParent = function(target) {while (target) {if (target.parentElement&& target.parentElement.tagName == 'SECTION')break;target = target.parentElement;}return target;},scrollPointSpeed = function(scrollPoint) {let x = parseInt(scrollPoint.dataset.scrollSpeed);switch (x) {case 5:return 250;case 4:return 500;case 3:return 750;case 2:return 1000;case 1:return 1250;default:break;}return 750;},doNextScrollPoint = function(event) {var e, target, id;e = scrollPointParent(event.target);if (!e)return;while (e && e.nextElementSibling) {e = e.nextElementSibling;if (e.dataset.scrollId) {target = e;id = e.dataset.scrollId;break;}}if (!target|| !id)return;if (target.dataset.scrollInvisible == '1')scrollToElement(target, 'smooth', scrollPointSpeed(target)); else location.href = '#' + id;},doPreviousScrollPoint = function(e) {var e, target, id;e = scrollPointParent(event.target);if (!e)return;while (e && e.previousElementSibling) {e = e.previousElementSibling;if (e.dataset.scrollId) {target = e;id = e.dataset.scrollId;break;}}if (!target|| !id)return;if (target.dataset.scrollInvisible == '1')scrollToElement(target, 'smooth', scrollPointSpeed(target)); else location.href = '#' + id;},doFirstScrollPoint = function(e) {var e, target, id;e = scrollPointParent(event.target);if (!e)return;while (e && e.previousElementSibling) {e = e.previousElementSibling;if (e.dataset.scrollId) {target = e;id = e.dataset.scrollId;}}if (!target|| !id)return;if (target.dataset.scrollInvisible == '1')scrollToElement(target, 'smooth', scrollPointSpeed(target)); else location.href = '#' + id;},doLastScrollPoint = function(e) {var e, target, id;e = scrollPointParent(event.target);if (!e)return;while (e && e.nextElementSibling) {e = e.nextElementSibling;if (e.dataset.scrollId) {target = e;id = e.dataset.scrollId;}}if (!target|| !id)return;if (target.dataset.scrollInvisible == '1')scrollToElement(target, 'smooth', scrollPointSpeed(target)); else location.href = '#' + id;},doNextSection = function() {var section;section = $('#main > .inner > section.active').nextElementSibling;if (!section || section.tagName != 'SECTION')return;location.href = '#' + section.id.replace(/-section$/, '');},doPreviousSection = function() {var section;section = $('#main > .inner > section.active').previousElementSibling;if (!section || section.tagName != 'SECTION')return;location.href = '#' + (section.matches(':first-child') ? '' : section.id.replace(/-section$/, ''));},doFirstSection = function() {var section;section = $('#main > .inner > section:first-of-type');if (!section || section.tagName != 'SECTION')return;location.href = '#' + section.id.replace(/-section$/, '');},doLastSection = function() {var section;section = $('#main > .inner > section:last-of-type');if (!section || section.tagName != 'SECTION')return;location.href = '#' + section.id.replace(/-section$/, '');},resetSectionChangeElements = function(section) {var ee, e, x;ee = section.querySelectorAll('[data-reset-on-section-change="1"]');for (e of ee) {x = e ? e.tagName : null;switch (x) {case 'FORM':e.reset();break;default:break;}}},activateSection = function(section, scrollPoint) {var sectionHeight, currentSection, currentSectionHeight,name, hideHeader, hideFooter, disableAutoScroll,ee, k;if (!section.classList.contains('inactive')) {name = (section ? section.id.replace(/-section$/, '') : null);disableAutoScroll = name ? ((name in sections) && ('disableAutoScroll' in sections[name]) && sections[name].disableAutoScroll) : false;if (scrollPoint)scrollToElement(scrollPoint, 'smooth', scrollPointSpeed(scrollPoint)); else if (!disableAutoScroll)scrollToElement(null);return false;} else {locked = true;if (location.hash == '#home')history.replaceState(null, null, '#');name = (section ? section.id.replace(/-section$/, '') : null);disableAutoScroll = name ? ((name in sections) && ('disableAutoScroll' in sections[name]) && sections[name].disableAutoScroll) : false;currentSection = $('section:not(.inactive)');if (currentSection) {currentSection.classList.add('inactive');document.title = title;unloadElements(currentSection);resetSectionChangeElements(currentSection);clearTimeout(window._sectionTimeoutId);setTimeout(function() {currentSection.style.display = 'none';currentSection.classList.remove('active');}, 250);}if (section.dataset.title)document.title = section.dataset.title + ' - ' + title;setTimeout(function() {section.style.display = '';trigger('resize');if (!disableAutoScroll)scrollToElement(null, 'instant');setTimeout(function() {section.classList.remove('inactive');section.classList.add('active');setTimeout(function() {loadElements(section);if (scrollPoint)scrollToElement(scrollPoint, 'instant');locked = false;}, 500);}, 75);}, 250);}},sections = {};window._nextScrollPoint = doNextScrollPoint;window._previousScrollPoint = doPreviousScrollPoint;window._firstScrollPoint = doFirstScrollPoint;window._lastScrollPoint = doLastScrollPoint;window._nextSection = doNextSection;window._previousSection = doPreviousSection;window._firstSection = doFirstSection;window._lastSection = doLastSection;window._scrollToTop = function() {var section, id;scrollToElement(null);if (!!(section = $('section.active'))) {id = section.id.replace(/-section$/, '');if (id == 'home')id = '';history.pushState(null, null, '#' + id);}};if ('scrollRestoration' in history)history.scrollRestoration = 'manual';header = $('#header');footer = $('#footer');h = thisHash();if (h&& !h.match(/^[a-zA-Z0-9\-]+$/))h = null;if (e = $('[data-scroll-id="' + h + '"]')) {initialScrollPoint = e;initialSection = initialScrollPoint.parentElement;initialId = initialSection.id;} else if (e = $('#' + (h ? h : 'home') + '-section')) {initialScrollPoint = null;initialSection = e;initialId = initialSection.id;}if (!initialSection) {initialScrollPoint = null;initialSection = $('#' + 'home' + '-section');initialId = initialSection.id;history.replaceState(undefined, undefined, '#');}name = (h ? h : 'home');hideHeader = name ? ((name in sections) && ('hideHeader' in sections[name]) && sections[name].hideHeader) : false;hideFooter = name ? ((name in sections) && ('hideFooter' in sections[name]) && sections[name].hideFooter) : false;disableAutoScroll = name ? ((name in sections) && ('disableAutoScroll' in sections[name]) && sections[name].disableAutoScroll) : false;if (header && hideHeader) {header.classList.add('hidden');header.style.display = 'none';}if (footer && hideFooter) {footer.classList.add('hidden');footer.style.display = 'none';}ee = $$('#main > .inner > section:not([id="' + initialId + '"])');for (k = 0; k < ee.length; k++) {ee[k].className = 'inactive';ee[k].style.display = 'none';}initialSection.classList.add('active');ready.add(() => {if (initialSection.dataset.title)document.title = initialSection.dataset.title + ' - ' + title;loadElements(initialSection);if (header)loadElements(header);if (footer)loadElements(footer);if (!disableAutoScroll)scrollToElement(null, 'instant');});on('load', function() {if (initialScrollPoint)scrollToElement(initialScrollPoint, 'instant');});on('hashchange', function(event) {var section, scrollPoint,h, e;if (locked)return false;h = thisHash();if (h&& !h.match(/^[a-zA-Z0-9\-]+$/))return false;if (e = $('[data-scroll-id="' + h + '"]')) {scrollPoint = e;section = scrollPoint.parentElement;} else if (e = $('#' + (h ? h : 'home') + '-section')) {scrollPoint = null;section = e;} else {scrollPoint = null;section = $('#' + 'home' + '-section');history.replaceState(undefined, undefined, '#');}if (!section)return false;activateSection(section, scrollPoint);return false;});on('click', function(event) {var t = event.target,tagName = t.tagName.toUpperCase(),scrollPoint, section;switch (tagName) {case 'IMG':case 'SVG':case 'USE':case 'U':case 'STRONG':case 'EM':case 'CODE':case 'S':case 'MARK':case 'SPAN':while ( !!(t = t.parentElement) )if (t.tagName == 'A')break;if (!t)return;break;default:break;}if (t.tagName == 'A'&& t.getAttribute('href') !== null&& t.getAttribute('href').substr(0, 1) == '#') {if (!!(scrollPoint = $('[data-scroll-id="' + t.hash.substr(1) + '"][data-scroll-invisible="1"]'))) {event.preventDefault();section = scrollPoint.parentElement;if (section.classList.contains('inactive')) {history.pushState(null, null, '#' + section.id.replace(/-section$/, ''));activateSection(section, scrollPoint);} else {scrollToElement(scrollPoint, 'smooth', scrollPointSpeed(scrollPoint));}} else if (t.hash == window.location.hash) {event.preventDefault();history.replaceState(undefined, undefined, '#');location.replace(t.hash);}}});})();var style, sheet, rule;style = document.createElement('style');style.appendChild(document.createTextNode(''));document.head.appendChild(style);sheet = style.sheet;if (client.mobile) {(function() {if (client.flags.lsdUnits) {document.documentElement.style.setProperty('--viewport-height', '100svh');document.documentElement.style.setProperty('--background-height', '100lvh');} else {var f = function() {document.documentElement.style.setProperty('--viewport-height', window.innerHeight + 'px');document.documentElement.style.setProperty('--background-height', (window.innerHeight + 250) + 'px');};on('load', f);on('orientationchange', function() {setTimeout(function() {(f)();}, 100);});}})();}if (client.os == 'android') {(function() {sheet.insertRule('body::after { }', 0);rule = sheet.cssRules[0];var f = function() {rule.style.cssText = 'height: ' + (Math.max(screen.width, screen.height)) + 'px';};on('load', f);on('orientationchange', f);on('touchmove', f);})();$body.classList.add('is-touch');} else if (client.os == 'ios') {if (client.osVersion <= 11)(function() {sheet.insertRule('body::after { }', 0);rule = sheet.cssRules[0];rule.style.cssText = '-webkit-transform: scale(1.0)';})();if (client.osVersion <= 11)(function() {sheet.insertRule('body.ios-focus-fix::before { }', 0);rule = sheet.cssRules[0];rule.style.cssText = 'height: calc(100% + 60px)';on('focus', function(event) {$body.classList.add('ios-focus-fix');}, true);on('blur', function(event) {$body.classList.remove('ios-focus-fix');}, true);})();$body.classList.add('is-touch');}(function() {var breakpoints = {small: '(max-width: 736px)',medium: '(max-width: 980px)',},elements = $$('[data-reorder]');elements.forEach(function(e) {var desktop = [],mobile = [],state = false,query,a, x, ce, f;if ('reorderBreakpoint' in e.dataset&& e.dataset.reorderBreakpoint in breakpoints)query = breakpoints[e.dataset.reorderBreakpoint]; else query = breakpoints.small;for (ce of e.childNodes) {if (ce.nodeType != 1)continue;desktop.push(ce);}a = e.dataset.reorder.split(',');for (x of a)mobile.push(desktop[parseInt(x)]);f = function() {var order = null,ce;if (window.matchMedia(query).matches) {if (!state) {state = true;for (ce of mobile)e.appendChild(ce);}} else {if (state) {state = false;for (ce of desktop)e.appendChild(ce);}}};on('resize', f);on('orientationchange', f);on('load', f);on('fullscreenchange', f);});})();var scrollEvents = {items: [],add: function(o) {this.items.push({element: o.element,triggerElement: (('triggerElement' in o && o.triggerElement) ? o.triggerElement : o.element),enter: ('enter' in o ? o.enter : null),leave: ('leave' in o ? o.leave : null),mode: ('mode' in o ? o.mode : 4),threshold: ('threshold' in o ? o.threshold : 0.25),offset: ('offset' in o ? o.offset : 0),initialState: ('initialState' in o ? o.initialState : null),state: false,});},handler: function() {var height, top, bottom, scrollPad;if (client.os == 'ios') {height = document.documentElement.clientHeight;top = document.body.scrollTop + window.scrollY;bottom = top + height;scrollPad = 125;} else {height = document.documentElement.clientHeight;top = document.documentElement.scrollTop;bottom = top + height;scrollPad = 0;}scrollEvents.items.forEach(function(item) {var elementTop, elementBottom, viewportTop, viewportBottom,bcr, pad, state, a, b;if (!item.enter&& !item.leave)return true;if (!item.triggerElement)return true;if (item.triggerElement.offsetParent === null) {if (item.state == true&& item.leave) {item.state = false;(item.leave).apply(item.element);if (!item.enter)item.leave = null;}return true;}bcr = item.triggerElement.getBoundingClientRect();elementTop = top + Math.floor(bcr.top);elementBottom = elementTop + bcr.height;if (item.initialState !== null) {state = item.initialState;item.initialState = null;} else {switch (item.mode) {case 1:default:state = (bottom > (elementTop - item.offset) && top < (elementBottom + item.offset));break;case 2:a = (top + (height * 0.5));state = (a > (elementTop - item.offset) && a < (elementBottom + item.offset));break;case 3:a = top + (height * (item.threshold));if (a - (height * 0.375) <= 0)a = 0;b = top + (height * (1 - item.threshold));if (b + (height * 0.375) >= document.body.scrollHeight - scrollPad)b = document.body.scrollHeight + scrollPad;state = (b > (elementTop - item.offset) && a < (elementBottom + item.offset));break;case 4:pad = height * item.threshold;viewportTop = (top + pad);viewportBottom = (bottom - pad);if (Math.floor(top) <= pad)viewportTop = top;if (Math.ceil(bottom) >= (document.body.scrollHeight - pad))viewportBottom = bottom;if ((viewportBottom - viewportTop) >= (elementBottom - elementTop)) {state = ((elementTop >= viewportTop && elementBottom <= viewportBottom)|| (elementTop >= viewportTop && elementTop <= viewportBottom)|| (elementBottom >= viewportTop && elementBottom <= viewportBottom));} else state = ((viewportTop >= elementTop && viewportBottom <= elementBottom)|| (elementTop >= viewportTop && elementTop <= viewportBottom)|| (elementBottom >= viewportTop && elementBottom <= viewportBottom));break;}}if (state != item.state) {item.state = state;if (item.state) {if (item.enter) {(item.enter).apply(item.element);if (!item.leave)item.enter = null;}} else {if (item.leave) {(item.leave).apply(item.element);if (!item.enter)item.leave = null;}}}});},init: function() {on('load', this.handler);on('resize', this.handler);on('scroll', this.handler);(this.handler)();}};scrollEvents.init();(function() {var items = $$('.deferred'),loadHandler, enterHandler;loadHandler = function() {var i = this,p = this.parentElement,duration = 375;if (i.dataset.src !== 'done')return;if (Date.now() - i._startLoad < duration)duration = 175;i.style.transitionDuration = (duration / 1000.00) + 's';p.classList.remove('loading');i.style.opacity = 1;setTimeout(function() {i.style.backgroundImage = 'none';i.style.transitionProperty = '';i.style.transitionTimingFunction = '';i.style.transitionDuration = '';}, duration);};enterHandler = function() {var i = this,p = this.parentElement,src;src = i.dataset.src;i.dataset.src = 'done';p.classList.add('loading');i._startLoad = Date.now();i.src = src;};items.forEach(function(p) {var i = p.firstElementChild;if (!p.classList.contains('enclosed')) {p.style.backgroundImage = 'url(' + i.src + ')';p.style.backgroundSize = '100% 100%';p.style.backgroundPosition = 'top left';p.style.backgroundRepeat = 'no-repeat';}i.style.opacity = 0;i.style.transitionProperty = 'opacity';i.style.transitionTimingFunction = 'ease-in-out';i.addEventListener('load', loadHandler);scrollEvents.add({element: i,enter: enterHandler,offset: 250,});});})();var onvisible = {effects: {'blur-in': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'filter ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity) {this.style.opacity = 0;this.style.filter = 'blur(' + (0.25 * intensity) + 'rem)';},play: function() {this.style.opacity = 1;this.style.filter = 'none';},},'zoom-in': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity, alt) {this.style.opacity = 0;this.style.transform = 'scale(' + (1 - ((alt ? 0.25 : 0.05) * intensity)) + ')';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'zoom-out': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity, alt) {this.style.opacity = 0;this.style.transform = 'scale(' + (1 + ((alt ? 0.25 : 0.05) * intensity)) + ')';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'slide-left': {type: 'transition',transition: function (speed, delay) {return 'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function() {this.style.transform = 'translateX(100vw)';},play: function() {this.style.transform = 'none';},},'slide-right': {type: 'transition',transition: function (speed, delay) {return 'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function() {this.style.transform = 'translateX(-100vw)';},play: function() {this.style.transform = 'none';},},'flip-forward': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity, alt) {this.style.opacity = 0;this.style.transformOrigin = '50% 50%';this.style.transform = 'perspective(1000px) rotateX(' + ((alt ? 45 : 15) * intensity) + 'deg)';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'flip-backward': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity, alt) {this.style.opacity = 0;this.style.transformOrigin = '50% 50%';this.style.transform = 'perspective(1000px) rotateX(' + ((alt ? -45 : -15) * intensity) + 'deg)';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'flip-left': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity, alt) {this.style.opacity = 0;this.style.transformOrigin = '50% 50%';this.style.transform = 'perspective(1000px) rotateY(' + ((alt ? 45 : 15) * intensity) + 'deg)';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'flip-right': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity, alt) {this.style.opacity = 0;this.style.transformOrigin = '50% 50%';this.style.transform = 'perspective(1000px) rotateY(' + ((alt ? -45 : -15) * intensity) + 'deg)';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'tilt-left': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity, alt) {this.style.opacity = 0;this.style.transform = 'rotate(' + ((alt ? 45 : 5) * intensity) + 'deg)';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'tilt-right': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity, alt) {this.style.opacity = 0;this.style.transform = 'rotate(' + ((alt ? -45 : -5) * intensity) + 'deg)';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'fade-right': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity) {this.style.opacity = 0;this.style.transform = 'translateX(' + (-1.5 * intensity) + 'rem)';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'fade-left': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity) {this.style.opacity = 0;this.style.transform = 'translateX(' + (1.5 * intensity) + 'rem)';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'fade-down': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity) {this.style.opacity = 0;this.style.transform = 'translateY(' + (-1.5 * intensity) + 'rem)';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'fade-up': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity) {this.style.opacity = 0;this.style.transform = 'translateY(' + (1.5 * intensity) + 'rem)';},play: function() {this.style.opacity = 1;this.style.transform = 'none';},},'fade-in': {type: 'transition',transition: function (speed, delay) {return 'opacity ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function() {this.style.opacity = 0;},play: function() {this.style.opacity = 1;},},'fade-in-background': {type: 'manual',rewind: function() {this.style.removeProperty('--onvisible-delay');this.style.removeProperty('--onvisible-background-color');},play: function(speed, delay) {this.style.setProperty('--onvisible-speed', speed + 's');if (delay)this.style.setProperty('--onvisible-delay', delay + 's');this.style.setProperty('--onvisible-background-color', 'rgba(0,0,0,0.001)');},},'zoom-in-image': {type: 'transition',target: 'img',transition: function (speed, delay) {return 'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function() {this.style.transform = 'scale(1)';},play: function(intensity) {this.style.transform = 'scale(' + (1 + (0.1 * intensity)) + ')';},},'zoom-out-image': {type: 'transition',target: 'img',transition: function (speed, delay) {return 'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity) {this.style.transform = 'scale(' + (1 + (0.1 * intensity)) + ')';},play: function() {this.style.transform = 'none';},},'focus-image': {type: 'transition',target: 'img',transition: function (speed, delay) {return 'transform ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '') + ', ' +'filter ' + speed + 's ease' + (delay ? ' ' + delay + 's' : '');},rewind: function(intensity) {this.style.transform = 'scale(' + (1 + (0.05 * intensity)) + ')';this.style.filter = 'blur(' + (0.25 * intensity) + 'rem)';},play: function(intensity) {this.style.transform = 'none';this.style.filter = 'none';},},'wipe-up': {type: 'animate',keyframes: function(intensity) {return [{maskSize: '100% 0%',maskImage: 'linear-gradient(90deg, black 100%, transparent 100%)',},{maskSize: '110% 110%',maskImage: 'linear-gradient(90deg, black 100%, transparent 100%)',},];},options: function(speed) {return {duration: speed,iterations: 1,easing: 'ease',};},rewind: function() {this.style.opacity = 0;this.style.maskComposite = 'exclude';this.style.maskRepeat = 'no-repeat';this.style.maskPosition = '0% 100%';},play: function() {this.style.opacity = 1;},},'wipe-down': {type: 'animate',keyframes: function(intensity) {return [{maskSize: '100% 0%',maskImage: 'linear-gradient(90deg, black 100%, transparent 100%)',},{maskSize: '110% 110%',maskImage: 'linear-gradient(90deg, black 100%, transparent 100%)',},];},options: function(speed) {return {duration: speed,iterations: 1,easing: 'ease',};},rewind: function() {this.style.opacity = 0;this.style.maskComposite = 'exclude';this.style.maskRepeat = 'no-repeat';this.style.maskPosition = '0% 0%';},play: function() {this.style.opacity = 1;},},'wipe-left': {type: 'animate',keyframes: function(intensity) {return [{maskSize: '0% 100%',maskImage: 'linear-gradient(90deg, black 100%, transparent 100%)',},{maskSize: '110% 110%',maskImage: 'linear-gradient(90deg, black 100%, transparent 100%)',},];},options: function(speed) {return {duration: speed,iterations: 1,easing: 'ease',};},rewind: function() {this.style.opacity = 0;this.style.maskComposite = 'exclude';this.style.maskRepeat = 'no-repeat';this.style.maskPosition = '100% 0%';},play: function() {this.style.opacity = 1;},},'wipe-right': {type: 'animate',keyframes: function(intensity) {return [{maskSize: '0% 100%',maskImage: 'linear-gradient(90deg, black 100%, transparent 100%)',},{maskSize: '110% 110%',maskImage: 'linear-gradient(90deg, black 100%, transparent 100%)',},];},options: function(speed) {return {duration: speed,iterations: 1,easing: 'ease',};},rewind: function() {this.style.opacity = 0;this.style.maskComposite = 'exclude';this.style.maskRepeat = 'no-repeat';this.style.maskPosition = '0% 0%';},play: function() {this.style.opacity = 1;},},'wipe-diagonal': {type: 'animate',keyframes: function(intensity) {return [{maskSize: '0% 0%',maskImage: 'linear-gradient(45deg, black 50%, transparent 50%)',},{maskSize: '220% 220%',maskImage: 'linear-gradient(45deg, black 50%, transparent 50%)',},];},options: function(speed) {return {duration: speed,iterations: 1,easing: 'ease',};},rewind: function() {this.style.opacity = 0;this.style.maskComposite = 'exclude';this.style.maskRepeat = 'no-repeat';this.style.maskPosition = '0% 100%';},play: function() {this.style.opacity = 1;},},'wipe-reverse-diagonal': {type: 'animate',keyframes: function(intensity) {return [{maskSize: '0% 0%',maskImage: 'linear-gradient(135deg, transparent 50%, black 50%)',},{maskSize: '220% 220%',maskImage: 'linear-gradient(135deg, transparent 50%, black 50%)',},];},options: function(speed) {return {duration: speed,iterations: 1,easing: 'ease',};},rewind: function() {this.style.opacity = 0;this.style.maskComposite = 'exclude';this.style.maskRepeat = 'no-repeat';this.style.maskPosition = '100% 100%';},play: function() {this.style.opacity = 1;},},'pop-in': {type: 'animate',keyframes: function(intensity) {let diff = (intensity + 1) * 0.025;return [{opacity: 0,transform: 'scale(' + (1 - diff) + ')',},{opacity: 1,transform: 'scale(' + (1 + diff) + ')',},{opacity: 1,transform: 'scale(' + (1 - (diff * 0.25)) + ')',offset: 0.9,},{opacity: 1,transform: 'scale(1)',}];},options: function(speed) {return {duration: speed,iterations: 1,};},rewind: function() {this.style.opacity = 0;},play: function() {this.style.opacity = 1;},},'bounce-up': {type: 'animate',keyframes: function(intensity) {let diff = (intensity + 1) * 0.075;return [{opacity: 0,transform: 'translateY(' + diff + 'rem)',},{opacity: 1,transform: 'translateY(' + (-1 * diff) + 'rem)',},{opacity: 1,transform: 'translateY(' + (diff * 0.25) + 'rem)',offset: 0.9,},{opacity: 1,transform: 'translateY(0)',}];},options: function(speed) {return {duration: speed,iterations: 1,};},rewind: function() {this.style.opacity = 0;},play: function() {this.style.opacity = 1;},},'bounce-down': {type: 'animate',keyframes: function(intensity) {let diff = (intensity + 1) * 0.075;return [{opacity: 0,transform: 'translateY(' + (-1 * diff) + 'rem)',},{opacity: 1,transform: 'translateY(' + diff + 'rem)',},{opacity: 1,transform: 'translateY(' + (-1 * (diff * 0.25)) + 'rem)',offset: 0.9,},{opacity: 1,transform: 'translateY(0)',}];},options: function(speed) {return {duration: speed,iterations: 1,};},rewind: function() {this.style.opacity = 0;},play: function() {this.style.opacity = 1;},},'bounce-left': {type: 'animate',keyframes: function(intensity) {let diff = (intensity + 1) * 0.075;return [{opacity: 0,transform: 'translateX(' + diff + 'rem)',},{opacity: 1,transform: 'translateX(' + (-1 * diff) + 'rem)',},{opacity: 1,transform: 'translateX(' + (diff * 0.25) + 'rem)',offset: 0.9,},{opacity: 1,transform: 'translateX(0)',}];},options: function(speed) {return {duration: speed,iterations: 1,};},rewind: function() {this.style.opacity = 0;},play: function() {this.style.opacity = 1;},},'bounce-right': {type: 'animate',keyframes: function(intensity) {let diff = (intensity + 1) * 0.075;return [{opacity: 0,transform: 'translateX(' + (-1 * diff) + 'rem)',},{opacity: 1,transform: 'translateX(' + diff + 'rem)',},{opacity: 1,transform: 'translateX(' + (-1 * (diff * 0.25)) + 'rem)',offset: 0.9,},{opacity: 1,transform: 'translateX(0)',}];},options: function(speed) {return {duration: speed,iterations: 1,};},rewind: function() {this.style.opacity = 0;},play: function() {this.style.opacity = 1;},},},regex: new RegExp('([^\\s]+)', 'g'),add: function(selector, settings) {var _this = this,style = settings.style in this.effects ? settings.style : 'fade',speed = parseInt('speed' in settings ? settings.speed : 0),intensity = parseInt('intensity' in settings ? settings.intensity : 5),delay = parseInt('delay' in settings ? settings.delay : 0),replay = 'replay' in settings ? settings.replay : false,stagger = 'stagger' in settings ? (parseInt(settings.stagger) >= 0 ? parseInt(settings.stagger) : false) : false,staggerOrder = 'staggerOrder' in settings ? settings.staggerOrder : 'default',staggerSelector = 'staggerSelector' in settings ? settings.staggerSelector : null,threshold = parseInt('threshold' in settings ? settings.threshold : 3),state = 'state' in settings ? settings.state : null,effect = this.effects[style],enter, leave, scrollEventThreshold;if (window.CARRD_DISABLE_ANIMATION === true) {if (style == 'fade-in-background')$$(selector).forEach(function(e) {e.style.setProperty('--onvisible-background-color', 'rgba(0,0,0,0.001)');});return;}switch (threshold) {case 1:scrollEventThreshold = 0;break;case 2:scrollEventThreshold = 0.125;break;default:case 3:scrollEventThreshold = 0.25;break;case 4:scrollEventThreshold = 0.375;break;case 5:scrollEventThreshold = 0.475;break;}switch (effect.type) {default:case 'transition':intensity = ((intensity / 10) * 1.75) + 0.25;enter = function(children, staggerDelay=0) {var _this = this,transitionOrig;if (effect.target)_this = this.querySelector(effect.target);transitionOrig = _this.style.transition;_this.style.setProperty('backface-visibility', 'hidden');_this.style.transition = effect.transition.apply(_this, [ speed / 1000, (delay + staggerDelay) / 1000 ]);effect.play.apply(_this, [ intensity, !!children ]);setTimeout(function() {_this.style.removeProperty('backface-visibility');_this.style.transition = transitionOrig;}, (speed + delay + staggerDelay) * 2);};leave = function(children) {var _this = this,transitionOrig;if (effect.target)_this = this.querySelector(effect.target);transitionOrig = _this.style.transition;_this.style.setProperty('backface-visibility', 'hidden');_this.style.transition = effect.transition.apply(_this, [ speed / 1000 ]);effect.rewind.apply(_this, [ intensity, !!children ]);setTimeout(function() {_this.style.removeProperty('backface-visibility');_this.style.transition = transitionOrig;}, speed * 2);};break;case 'animate':enter = function(children, staggerDelay=0) {var _this = this,transitionOrig;if (effect.target)_this = this.querySelector(effect.target);setTimeout(() => {effect.play.apply(_this, [ ]);_this.animate(effect.keyframes.apply(_this, [ intensity ]),effect.options.apply(_this, [ speed, delay ]));}, delay + staggerDelay);};leave = function(children) {var _this = this,transitionOrig;if (effect.target)_this = this.querySelector(effect.target);let a = _this.animate(effect.keyframes.apply(_this, [ intensity ]),effect.options.apply(_this, [ speed, delay ]));a.reverse();a.addEventListener('finish', () => {effect.rewind.apply(_this, [ ]);});};break;case 'manual':enter = function(children, staggerDelay=0) {var _this = this,transitionOrig;if (effect.target)_this = this.querySelector(effect.target);effect.play.apply(_this, [ speed / 1000, (delay + staggerDelay) / 1000, intensity ]);};leave = function(children) {var _this = this,transitionOrig;if (effect.target)_this = this.querySelector(effect.target);effect.rewind.apply(_this, [ intensity, !!children ]);};break;}$$(selector).forEach(function(e) {var children, targetElement, triggerElement;if (stagger !== false&& staggerSelector == ':scope > *')_this.expandTextNodes(e);children = (stagger !== false && staggerSelector) ? e.querySelectorAll(staggerSelector) : null;if (effect.target)targetElement = e.querySelector(effect.target); else targetElement = e;if (children)children.forEach(function(targetElement) {effect.rewind.apply(targetElement, [ intensity, true ]);}); else effect.rewind.apply(targetElement, [ intensity ]);triggerElement = e;if (e.parentNode) {if (e.parentNode.dataset.onvisibleTrigger)triggerElement = e.parentNode; else if (e.parentNode.parentNode) {if (e.parentNode.parentNode.dataset.onvisibleTrigger)triggerElement = e.parentNode.parentNode;}}scrollEvents.add({element: e,triggerElement: triggerElement,initialState: state,threshold: scrollEventThreshold,enter: children ? function() {var staggerDelay = 0,childHandler = function(e) {enter.apply(e, [children, staggerDelay]);staggerDelay += stagger;},a;if (staggerOrder == 'default') {children.forEach(childHandler);} else {a = Array.from(children);switch (staggerOrder) {case 'reverse':a.reverse();break;case 'random':a.sort(function() {return Math.random() - 0.5;});break;}a.forEach(childHandler);}} : enter,leave: (replay ? (children ? function() {children.forEach(function(e) {leave.apply(e, [children]);});} : leave) : null),});});},expandTextNodes: function(e) {var s, i, w, x;for (i = 0; i < e.childNodes.length; i++) {x = e.childNodes[i];if (x.nodeType != Node.TEXT_NODE)continue;s = x.nodeValue;s = s.replace(this.regex,function(x, a) {return '<text-node>' + escapeHtml(a) + '</text-node>';});w = document.createElement('text-node');w.innerHTML = s;x.replaceWith(w);while (w.childNodes.length > 0) {w.parentNode.insertBefore(w.childNodes[0],w);}w.parentNode.removeChild(w);}},};function form(id, settings) {var _this = this;this.id = id;this.mode = settings.mode;this.method = settings.method;this.code = ('code' in settings ? settings.code : null);this.success = settings.success;this.initHandler = ('initHandler' in settings ? settings.initHandler : null);this.presubmitHandler = ('presubmitHandler' in settings ? settings.presubmitHandler : null);this.failure = ('failure' in settings ? settings.failure : null);this.optional = ('optional' in settings ? settings.optional : []);this.events = ('events' in settings ? settings.events : {});this.recaptcha = ('recaptcha' in settings ? settings.recaptcha : null);this.collectTrackingParameters = ('collectTrackingParameters' in settings ? settings.collectTrackingParameters : false);this.exportVariables = ('exportVariables' in settings ? settings.exportVariables : false);this.$form = $('#' + this.id);this.$form.addEventListener('change', function(event) {if (event.target.tagName != 'INPUT')return;_this.refreshInput(event.target);});this.$form.addEventListener('submit', function(event) {event.preventDefault();event.stopPropagation();_this.triggerSubmit();});this.$form.addEventListener('reset', function(event) {setTimeout(function() {_this.refreshInputs();}, 0);});this.$form.addEventListener('keydown', function(event) {if (event.keyCode == 13 && event.ctrlKey) {event.preventDefault();event.stopPropagation();_this.triggerSubmit();}});var x = $('#' + this.id + ' input[name="' + settings.hid + '"]');if (x) {x.disabled = true;x.parentNode.style.display = 'none';}this.$submit = $('#' + this.id + ' .actions button[type="submit"]');this.$submit.disabled = false;this.initInputs();if (this.initHandler) {errors.handle(function(message) {return _this.failureHandler(message);});if (!this.initHandler())errors.unhandle();}if (this.recaptcha) {grecaptcha.ready(function() {var id;id = grecaptcha.render(_this.$submit, {sitekey: _this.recaptcha.key,isolated: true,theme: (_this.recaptcha.darkMode ? 'dark' : 'light'),callback: function(token) {_this.submit({recaptchaToken: token},['g-recaptcha-response']);grecaptcha.reset(id);}});});}};form.prototype.completionHandler = function(properties, eventHandler, response) {if (eventHandler !== null)eventHandler.apply(this.$form, [ response ]);switch (properties.mode) {default:case 1:alert(this.expandVariables(properties.value));break;case 2:this.openUrlProperty(properties.value);break;case 3:properties.value.apply(this.$form, [ response ]);break;case 4:break;}};form.prototype.expandVariables = function(s) {if (typeof variables === 'undefined')return s;if (variables.hasVariables(s)) {for (input of this.$form.elements) {if (!this.isAllowedInput(input))continue;value = '';if (this.isValidInput(input)) {switch (input.type) {case 'checkbox':value = input.checked ? 'true' : 'false';break;case 'email':case 'select-one':case 'number':case 'tel':case 'text':case 'textarea':case 'hidden':value = input.value;break;default:value = '';break;}} else value = '';if (!!(s.match(/^(#[a-zA-Z0-9\_\-]+|[a-z0-9\-\.]+:[a-zA-Z0-9\~\!\@\#$\%\&\-\_\+\=\;\,\.\?\/\:\{\}\|]+)$/)))value = encodeURIComponent(value);s = variables.expandVariable(s, input.name, value);}}s = variables.expandVariableString(this.$form, s);return s;};form.prototype.exportVariableValues = function(source, values, suffix) {if (typeof variables === 'undefined'|| this.exportVariables !== true)return;variables.import(source + (suffix ? suffix : ''), values);variables.purge('form' + (suffix ? suffix : ''));variables.import('form' + (suffix ? suffix : ''), values);};form.prototype.failureHandler = function(message) {var eventHandler;eventHandler = ('onfailure' in this.events) ? this.events.onfailure : null;if (message.charAt(0) == '*')this.completionHandler({mode: 1,value: message.substring(1)},eventHandler,null); else if (this.failure)this.completionHandler(this.failure,eventHandler,null); else this.completionHandler({mode: 1,value: message},eventHandler,null);this.waiting(false);errors.unhandle();return true;};form.prototype.finalizeInput = function(input) {try {if (!input|| typeof input != 'object'|| !('name' in input))throw 'Not an input.';if (!('value' in input))throw 'Missing "value" property.';if (input.type == 'text'|| input.type == 'email'|| input.type == 'textarea'|| input.type == 'hidden')input.value = input.value.replace(/^\s+/, '').replace(/\s+$/, '');}catch (e) {}};form.prototype.formatDate = function(value, format) {var date, options,a, s;if (!value.match(/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/))return '';a = value.split('-');date = new Date(a[0], parseInt(a[1]) - 1, parseInt(a[2]), 0, 0, 0, 0);switch (format) {default:case 'short':break;case 'medium':options = { dateStyle: 'medium' };break;case 'long':options = { dateStyle: 'long' };break;case 'full':options = { dateStyle: 'full' };break;}s = new Intl.DateTimeFormat(undefined, options).format(date);return s;};form.prototype.getAmount = function() {var x;x = this.getRequiredInputValue('amount', ['select-one', 'number']);if (!x)return null;x = parseFloat(x);if (isNaN(x)|| x < 1.00|| x > 100000.00)return null;return x;};form.prototype.getEmail = function() {return this.getRequiredInputValue('email', 'email');};form.prototype.getQuantity = function() {var x;x = this.getRequiredInputValue('quantity', ['select-one', 'number']);if (!x)return null;x = parseInt(x);if (isNaN(x)|| x < 1|| x > 100000)return null;return x;};form.prototype.getRequiredInputValue = function(name, type) {var input;for (input of this.$form.elements) {if (((Array.isArray(type) && type.includes(input.type)) || input.type == type)&& input.name == name&& input.value !== ''&& input.value !== null)return input.value;}return null;};form.prototype.initInputs = function() {var _this = this,i, input;for (i=0; i < this.$form.elements.length; i++) {input = this.$form.elements[i];switch (input.type) {case 'number':(function(input) {var p = input.parentNode,decrement = p.querySelector('button.decrement'),increment = p.querySelector('button.increment');input.addEventListener('blur', function(event) {_this.normalizeNumberInput(input);});if (decrement&& increment) {decrement.addEventListener('click', function(event) {event.preventDefault();_this.normalizeNumberInput(input);input.stepDown(1);_this.normalizeNumberInput(input);});increment.addEventListener('click', function(event) {event.preventDefault();_this.normalizeNumberInput(input);input.stepUp(1);_this.normalizeNumberInput(input);});}})(input);break;case 'file':(function(input) {var p = input.parentNode,select = p.querySelector('button.select');select.addEventListener('click', function(event) {event.preventDefault();input.click();});input.addEventListener('focus', function(event) {event.target.parentNode.classList.add('focus');});input.addEventListener('blur', function(event) {event.target.parentNode.classList.remove('focus');});})(input);break;case 'date':(function(input) {var p = input.parentNode,select = p.querySelector('button.select'),changeHandler,x, y, z;select.addEventListener('click', function(event) {event.preventDefault();input.click();input.focus();});switch (client.browser) {case 'safari':input.addEventListener('keydown', function(event) {switch (event.keyCode) {case 9:event.preventDefault();input.blur();break;case 27:event.preventDefault();input.blur();break;case 33:break;case 34:break;case 37:break;case 38:break;case 39:break;case 40:break;default:event.preventDefault();break;}});break;default:input.addEventListener('click', function(event) {event.preventDefault();input.focus();input.showPicker();});break;}changeHandler = function() {if (input.value)p.setAttribute('data-value', _this.formatDate(input.value, p.dataset.format)); else p.setAttribute('data-value', '');};input.addEventListener('change', function(event) {changeHandler();});changeHandler();})(input);break;case 'text':case 'textarea':case 'email':input.addEventListener('blur', function(event) {this.value = this.value.replace(/^\s+/, '').replace(/\s+$/, '');});break;}this.refreshInput(input);}};form.prototype.isAllowedInput = function(input, ignore) {try {if (!input|| typeof input != 'object'|| !('name' in input))throw 'Not an input.';if (ignore&& ignore.indexOf(input.name) != -1)throw 'Input is ignored.';if (input.disabled)throw 'Input is disabled.';switch (input.type) {case 'text':case 'email':case 'textarea':case 'select-one':case 'checkbox':case 'number':case 'tel':case 'file':case 'date':case 'hidden':break;default:throw 'Not an allowed input.';}}catch (e) {return false;}return true;};form.prototype.isValidInput = function(input) {var result = false;switch (input.type) {case 'email':result = input.value.match(new RegExp("^([a-zA-Z0-9\\_\\-\\.\\+]+)@([a-zA-Z0-9\\-\\.]+)\\.([a-zA-Z]+)$"));break;case 'select-one':result = input.value.match(new RegExp("^[^\\<\\>]+$"));break;case 'checkbox':result = true;break;case 'number':result = input.value.match(new RegExp("^[0-9\\-\\.]+$"));break;case 'tel':result = input.value.match(new RegExp("^[0-9\\-\\+\\(\\)\\ \\#\\*]+$"));break;case 'file':result = true;break;case 'date':result = input.value.match(new RegExp("^[0-9]{4}-[0-9]{2}-[0-9]{2}$"));break;default:case 'text':case 'textarea':case 'hidden':result = true;break;}return result;};form.prototype.normalizeNumberInput = function(input) {var min = parseFloat(input.min),max = parseFloat(input.max),step = parseFloat(input.step),v = parseFloat(input.value);if (isNaN(v)) {if (!input.required) {input.value = null;return;}v = isNaN(min) ? 0 : min;}if (!isNaN(min)&& v < min)v = min;if (!isNaN(max)&& v > max)v = max;if (!isNaN(step)&& (v % step) !== 0)v = Math.round(v / step) * step;switch (input.dataset.category) {case 'currency':v = parseFloat(v).toFixed(2);break;default:case 'decimal':v = parseFloat(v);break;case 'integer':v = parseInt(v);break;}input.value = v;};form.prototype.openUrlProperty = function(p) {if ('onclick' in p) {(p.onclick)(event);return;}if ('href' in p) {let href = this.expandVariables(p.href);this.$form.reset();if (href.charAt(0) == '#') {window.location.href = href;return;}if ('target' in p&& p.target == '_blank')window.open(href); else window.location.href = href;}};form.prototype.pause = function(values, handler) {var _this = this;this.waiting(true);db.open('formData', function(objectStore) {db.delete(objectStore, _this.id, function() {db.put(objectStore, values, function() {handler.call(_this);});});});};form.prototype.refreshInput = function(input) {var a = [],p;switch (input.type) {case 'file':p = input.parentNode;if (input.files.length > 0)p.setAttribute('data-filename', input.files[0].name); else p.setAttribute('data-filename', '');break;case 'date':p = input.parentNode;if (input.value)p.setAttribute('data-value', this.formatDate(input.value, p.dataset.format)); else p.setAttribute('data-value', '');break;default:break;}};form.prototype.refreshInputs = function() {var i;for (i=0; i < this.$form.elements.length; i++)this.refreshInput(this.$form.elements[i]);};form.prototype.resume = function(handler) {var _this = this;this.waiting(true);this.scrollIntoView();db.open('formData', function(objectStore) {db.get(objectStore, _this.id, function(values) {db.delete(objectStore, _this.id, function() {var e, i, v;for (i in _this.$form.elements) {e = _this.$form.elements[i];if (!e.name)continue;v = (e.name in values ? values[e.name] : null);switch (e.type) {case 'checkbox':e.checked = (v == 'checked' ? true : false);break;case 'file':if (v)e.parentNode.setAttribute('data-filename', v.name);break;default:e.value = v;break;}}handler.call(_this, values);});});});};form.prototype.scrollIntoView = function() {window.scrollTo(0, this.$form.offsetTop);};form.prototype.submit = function(values, ignore) {var _this = this,input, result, _success, _failure,a, b, i, e, fd, k, x, usp;try {for (input of this.$form.elements) {if (!this.isAllowedInput(input, ignore))continue;if (this.optional.indexOf(input.name) !== -1&&(input.value === ''|| input.value === null|| (input.type == 'checkbox' && !input.checked)))continue;this.finalizeInput(input);if (!this.isValidInput(input))throw 'Not valid.';}}catch (e) {alert('Missing or invalid fields. Please try again.');return;}if ('onsubmit' in this.events) {if (this.events.onsubmit.apply(this.$form) === false)return;}a = this.values();if (values) {for (k in values)a[k] = values[k];}if (this.collectTrackingParameters) {usp = new URLSearchParams(window.location.search);b = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content'];for (k of b) {x = usp.get(k);if (x) {x = x.trim();x = x.replace(/[^a-zA-Z0-9\-\_\%\+\s]/g, '');x = x.replace(/\s+/g, '_');if (x.length <= 256)a[k] = x;}}}switch (this.method) {default:case 'ajax':break;case 'get':case 'post':for (k in a) {if (this.$form.elements[k])continue;e = document.createElement('input');e.setAttribute('type', 'hidden');e.setAttribute('name', k);this.$form.appendChild(e);e.value = a[k];}this.$form.submit();return;case 'code':if (typeof this.code == 'function') {this.waiting(true);_success = function() {_this.exportVariableValues(_this.id, a);_this.completionHandler(_this.success,('onsuccess' in _this.events) ? _this.events.onsuccess : null,null);_this.waiting(false);};_failure = function() {_this.completionHandler(_this.failure,('onfailure' in _this.events) ? _this.events.onfailure : null,null);_this.waiting(false);};result = this.code.apply(this.$form, [_success, _failure]);if (result === true)_success(); else if (result === false)_failure();}return;}if (x = $(':focus'))x.blur();errors.handle(function(message) {return _this.failureHandler(message);});if (this.presubmitHandler)this.presubmitHandler.call(this, a); else this.submitHandler(a);};form.prototype.submitHandler = function(values) {var _this = this,x, k, data;this.waiting(true);data = new FormData;for (k in values) {if (values[k]&& typeof values[k] == 'object'&& ('blob' in values[k]))data.append(k,values[k].blob,values[k].name); else data.append(k, values[k]);}x = new XMLHttpRequest();x.open('POST', ['', 'post', this.mode].join('/'));x.send(data);x.onreadystatechange = function() {var o;if (x.readyState != 4)return;if (x.status != 200)throw new Error('Failed server response (' + x.status + ')');try {o = JSON.parse(x.responseText);}catch (e) {throw new Error('Invalid server response');}if (!('result' in o)|| !('message' in o))throw new Error('Incomplete server response');if (o.result !== true) {if ('response' in o)console.log(o.response);throw new Error(o.message);}_this.exportVariableValues(_this.id, values);if ('response' in o)_this.exportVariableValues(_this.id, o.response, '_response');_this.completionHandler(_this.success,('onsuccess' in _this.events) ? _this.events.onsuccess : null,'response' in o ? o.response : null);_this.$form.reset();_this.waiting(false);errors.unhandle();};};form.prototype.triggerSubmit = function() {if (this.recaptcha)this.$submit.click(); else if (!this.$submit.disabled)this.submit();};form.prototype.values = function() {var a = {};for (i in this.$form.elements) {e = this.$form.elements[i];if (!e.name|| !e.value)continue;switch (e.type) {case 'checkbox':a[e.name] = (e.checked ? 'checked' : null);break;case 'file':a[e.name] = {name: e.files[0].name,blob: new Blob([e.files[0]], { type: e.files[0].type })};break;default:a[e.name] = e.value;break;}}a['id'] = this.id;return a;};form.prototype.waiting = function(x) {var _this = this;if (x) {$body.classList.add('is-instant');this.$submit.disabled = true;this.$submit.classList.add('waiting');if (this.recaptcha)setTimeout(function() {_this.$submit.disabled = true;}, 0);} else {$body.classList.remove('is-instant');this.$submit.classList.remove('waiting');this.$submit.disabled = false;}};new form('form01', {mode: 'contact',method: 'ajax',hid: 'mail',success: {mode: 2,value: { href: '#done' },},optional: ['phone', 'company'],});onvisible.add('h1.style6, h2.style6, h3.style6, p.style6', { style: 'fade-up', speed: 1000, intensity: 0, threshold: 3, delay: 0, replay: false });onvisible.add('h1.style4, h2.style4, h3.style4, p.style4', { style: 'fade-up', speed: 1000, intensity: 0, threshold: 3, delay: 0, replay: false });onvisible.add('.buttons.style1', { style: 'fade-up', speed: 1000, intensity: 1, threshold: 3, delay: 250, replay: false });onvisible.add('.image.style1', { style: 'zoom-in', speed: 1000, intensity: 1, threshold: 3, delay: 0, replay: false });onvisible.add('.image.style2', { style: 'fade-up', speed: 1000, intensity: 3, threshold: 3, delay: 0, replay: false });onvisible.add('h1.style3, h2.style3, h3.style3, p.style3', { style: 'fade-up', speed: 1000, intensity: 0, threshold: 3, delay: 0, replay: false });onvisible.add('.image.style3', { style: 'zoom-in', speed: 1000, intensity: 1, threshold: 3, delay: 0, replay: false });onvisible.add('form.style1', { style: 'zoom-in', speed: 1000, intensity: 1, threshold: 3, delay: 250, replay: false });ready.run();})();</script></body></html>