')}.alert-danger:before{background-image:url('data:image/svg+xml;charset=utf-8, ')}.alert-success:before{background-image:url('data:image/svg+xml;charset=utf-8, ')}.alert-info:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23aeaeae' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E")}.alert-note:before{background-image:url('data:image/svg+xml;utf8, ')}.alert-tip:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23d859a1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5M9 18h6M10 22h4'/%3E%3C/svg%3E")}button.alert-close{appearance:none;background-color:transparent;border:0;box-shadow:none;color:inherit;padding:.75rem 1.25rem;position:absolute;right:0}button.alert-close:hover{box-shadow:none;outline:none}button.alert-close.active,button.alert-close:hover .icon{color:initial}.alert-close .icon{cursor:pointer;font-size:1rem}.badge{color:#fff;padding:3px 6px}.badge-warning{background-color:var(--color-warning)}.badge-danger{background-color:var(--color-danger)}.badge-success{background-color:var(--color-success)}p .badge{margin-left:4px;margin-right:4px;top:0}.alert .ref-docs{color:#fff}.alert .ref-cross{background-color:transparent;color:initial;outline:1px solid var(--color-primary)}.alert .ref-cross:hover{color:var(--color-primary)}.alert .ref-cross .icon:first-child{background-color:var(--color-primary);color:#fff}.toast{bottom:0;box-shadow:0 0 1px rgba(67,90,111,.3),0 8px 10px -4px rgba(67,90,111,.47);left:50%;left:0;margin:0 auto;position:fixed;right:0;text-align:left;transform:translateY(100px);transition:all .3s cubic-bezier(.175,.885,.32,1.275);visibility:hidden;width:auto;width:300px;z-index:100}.toast.show{transform:translateY(-30px);visibility:visible}.toast.hide{transform:translateY(100px)}.toast-success{border-left:8px solid var(--color-success)}.toast-success .icon,.toast-success a{color:var(--color-success)}.toast-warning{border-left:8px solid var(--color-danger)}.toast-warning .icon,.toast-warning a{color:var(--color-danger)}.toast-danger{border-left:8px solid var(--color-danger)}.toast-danger .icon,.toast-danger a{color:var(--color-danger)}.mock-ui-c-holder{display:inline-flex;flex-direction:column;margin-right:100px;position:relative}.mock-ui-c-holder-end{margin-right:0}.mock-ui-c-holder.mock-ui-c-holder-row{align-items:flex-start;flex-direction:row;margin-right:0}.mock-ui-c-selectbox{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 6px 12px -2px rgba(50,50,93,.25),0 3px 7px -3px rgba(0,0,0,.3);color:var(--color-primary);display:inline-flex;justify-content:space-between;max-width:200px;min-width:150px;padding:.35rem 1rem;position:relative;white-space:nowrap}.mock-ui-c-selectbox .icon{margin-left:1rem;transform:translateY(2px) scale(.7);transition:transform .2s ease-in-out}.mock-ui-c-selectbox.active{background-color:var(--color-primary);color:#fff}.mock-ui-c-selectbox.active .icon{transform:translateY(2px) scale(.7) rotate(180deg)}.mock-ui-c-selectbox.mock-ui-c-search{padding:.35rem}.mock-ui-c-selectbox.mock-ui-c-search .icon{margin-left:0}.mock-ui-c-connector{border-bottom:2px solid #7e8185;border-bottom-left-radius:9px;border-left:2px solid #cfd7df;height:2px;left:100%;position:absolute;top:calc(50% - 1px);width:100px;z-index:3}.mock-ui-c-connector-down{height:136px;left:calc(50% - 1px);top:calc(100% - 3px);width:2px}.mock-ui-c-connector:before{left:0;top:0}.mock-ui-c-connector:after,.mock-ui-c-connector:before{background-color:#fff;border:2px solid #cfd7df;border-radius:50%;content:"";height:12px;position:absolute;transform:translate(-50%,-50%);width:12px;z-index:5}.mock-ui-c-connector:after{left:100%;top:100%}.mock-ui-c-header{border-bottom:1px solid #ccc}.mock-ui-c-header-dark{background-color:color-mix(in srgb,var(--color-primary),#000 20%);border-bottom:1px solid color-mix(in srgb,var(--color-primary),#000 20%);border-top-left-radius:4px;border-top-right-radius:4px}.mock-ui-c-header p{font-size:1rem}.mock-ui-c-header .button-xtiny{font-size:.85rem}.mock-ui-c-section{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 6px 12px -2px rgba(50,50,93,.25),0 3px 7px -3px rgba(0,0,0,.3);min-width:250px}.mock-ui-c-section-dark{background-color:color-mix(in srgb,var(--color-primary),#000 20%)}.mock-ui-c-textarea{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 6px 12px -2px rgba(50,50,93,.25),0 3px 7px -3px rgba(0,0,0,.3);min-height:150px;min-width:250px;padding:2rem;width:100%}.mock-ui-c-dummy-content{background-color:rgba(77,85,106,.1);border-radius:8px;height:8px}.mock-ui-c-section-dark .mock-ui-c-dummy-content{background-color:var(--color-primary-dark)}.mock-ui-c-selectbox-options{background-color:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-shadow:0 6px 12px -2px rgba(50,50,93,.25),0 3px 7px -3px rgba(0,0,0,.3);display:flex;flex-direction:column;left:0;position:absolute;top:100%;width:100%;z-index:10}.mock-ui-c-selectbox-options li{color:var(--color-primary);font-size:.85rem;padding:.35rem 1rem}.mock-ui-flow{grid-gap:0;border-bottom:1px solid var(--color-primary-light);display:grid;grid-template-columns:265px 400px 220px 120px}.mock-ui-flow p .icon{color:#ccc;margin-left:.5rem}.mock-ui-c-section-capabilities{position:relative;transform:translate(-1rem,-1rem);z-index:5}.mock-ui-c-capabilities{grid-gap:1rem;display:grid;grid-template-columns:repeat(3,1fr)}.mock-ui-c-capabilities svg{height:auto;margin-bottom:1rem;max-height:50px;max-width:50px}.mock-ui-c-capabilities-item{text-align:center}.mock-ui-c-capabilities-item i{font-size:1.5rem}.mock-ui-c-capabilities-item p{font-size:.75rem;line-height:1}.mock-ui-c-alarm-status{align-items:center;background-color:var(--color-success);border-radius:4px;display:inline-flex;justify-content:space-between;padding:.25rem 1rem}.mock-ui-c-alarm-status-alarm,.mock-ui-c-alarm-status-alarm:focus,.mock-ui-c-alarm-status-alarm:hover{background-color:#cb2d2b}.mock-ui-c-alarm-status-inactive{background-color:color-mix(in srgb,var(--color-primary),#000 30%)}.mock-ui-c-alarm-status-text{color:#fff;font-size:.75rem}.mock-ui-c-alarm-status-pulse{background-color:var(--color-success);border-radius:50%;cursor:pointer;display:inline-flex;height:10px;position:relative;width:10px;will-change:transform}.mock-ui-c-alarm-status-alarm .mock-ui-c-alarm-status-pulse:before{animation:alarm_pulse 1.5s infinite;background-color:var(--color-danger);border-radius:100%;content:"";height:100%;left:0;position:absolute;top:0;width:100%;will-change:transform;z-index:-1}.mock-ui-c-alarm-status-alarm .mock-ui-c-alarm-status-pulse{background-color:var(--color-danger)}.mock-ui-c-section:first-child .mock-ui-c-alarm-status-pulse{animation-delay:1.5s}.mock-ui-c-section:nth-child(2) .mock-ui-c-alarm-status-pulse{animation-delay:3s}.mock-ui-c-section:nth-child(3) .mock-ui-c-alarm-status-pulse{animation-delay:4.5s}.mock-ui-c-section:nth-child(4) .mock-ui-c-alarm-status-pulse{animation-delay:6s}.mock-ui-c-section:nth-child(5) .mock-ui-c-alarm-status-pulse{animation-delay:7.5s}.mock-ui-c-section:nth-child(6) .mock-ui-c-alarm-status-pulse{animation-delay:9s}.mock-ui-c-section:nth-child(7) .mock-ui-c-alarm-status-pulse{animation-delay:10.5s}.mock-ui-c-section:nth-child(8) .mock-ui-c-alarm-status-pulse{animation-delay:12s}.mock-ui-c-section:nth-child(9) .mock-ui-c-alarm-status-pulse{animation-delay:13.5s}.mock-ui-c-section:nth-child(10) .mock-ui-c-alarm-status-pulse{animation-delay:15s}.severity{border:1px solid var(--color-primary);border-radius:2rem;color:#fff;display:inline-flex;font-family:Roboto-Medium;letter-spacing:.01em;padding:.1rem 1rem;pointer-events:none;text-align:center;text-transform:uppercase}.severity-indeterminate,.severity-warning{border:1px solid var(--color-warning);color:var(--color-warning)}.severity-major{border:1px solid #cb2d2b;color:#cb2d2b}.severity-critical{background-color:#cb2d2b;border:1px solid #cb2d2b;color:#fff}.severity-minor{border:1px solid salmon;color:salmon}.severity-cleared{border:1px solid var(--color-success);color:var(--color-success)}.mock-ui-c-admin-dashboard{background-color:#424a56}.mock-ui-c-admin-dashboard-grid-container{--min:6em;--gap:1rem;grid-gap:var(--gap);display:grid;grid-template-columns:repeat(2,1fr)}@media(min-width:52em){.section-alarms .mock-ui-c-section{min-width:250px}}.mock-ui-c-alarms-modal{background-color:#fdf7f7;height:440px;max-height:200px;max-width:200px;overflow:hidden;position:absolute;right:1rem;top:2rem;width:300px}@media(min-width:40em){.mock-ui-c-alarms-modal{max-height:340px;top:-6rem}}@media(min-width:52em){.mock-ui-c-alarms-modal{height:440px;left:auto;max-height:none;overflow:initial;right:2rem;top:-8rem;width:300px}}.mock-ui-c-alarms-modal-simple{background-color:#fdf7f7}.mock-ui-c-alarms-modal-regular{background-color:#fafafa}@media(min-width:52em){.mock-ui-c-alarms-modal-regular{height:max-content;right:-2rem;top:-3rem}}.mock-ui-c-alarms-modal-line{display:none;left:58%;position:absolute;top:-50px;transform:scaleX(1) scaleY(-1)}@media(min-width:40em){.mock-ui-c-alarms-modal-line{display:block;left:44%}}@media(min-width:64em){.mock-ui-c-alarms-modal-line{left:34%}}.mock-ui-c-alarms-modal-card{background:#fff;border:1px solid #f6f6f6;border-radius:6px;box-shadow:0 3px 8px 0 rgba(0,0,0,.12)}.mock-ui-c-alarms-modal-card-heading{background-color:#cb2d2b;border-top-left-radius:6px;border-top-right-radius:6px;color:#fff}ol.alarms-impacted-resources-list{counter-reset:item}.alarms-impacted-resources-list li{list-style-type:none;margin:10px 0;position:relative}.alarms-impacted-resources-list .collapsed{display:none}.alarms-impacted-resources-list li button{margin-left:auto}.alarms-impacted-resources-list>li:before{display:none}.alarms-impacted-resources-list li:before{border-bottom:1px solid #ddd;border-left:1px solid #ddd;content:"";counter-increment:item;height:35px;left:-30px;position:absolute;top:-10px;width:30px}.alarms-impacted-resources-list li:after{border-left:1px solid #ddd;content:"";height:100%;left:-30px;position:absolute;top:5px;width:30px}.alarms-impacted-resources-list li:last-child:after{display:none}.alarms-impacted-resources-list li span{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#666;display:block;display:flex;justify-content:space-between;padding:10px;position:relative;text-decoration:none}.alarm-impacted-resources-line-reverse-x{transform:scaleX(-1)}.alarm-impacted-resources-line-line{stroke:var(--color-danger);stroke-width:1;stroke-dasharray:8;animation-delay:.95s;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.alarm-impacted-resources-line-line-reversed,.alarm-impacted-resources-line-reverse-xy .alarm-impacted-resources-line-line,.alarm-impacted-resources-line-reverse-y .alarm-impacted-resources-line-line{animation-direction:reverse}.alarm-impacted-resources-line-arrow{fill:var(--color-danger)}.mock-ui-c-impact-icon{padding:1rem 0 1rem 1rem}@media(min-width:52em){.mock-ui-c-impact-icon{padding:3rem 0 3rem 3rem}}.mock-ui-c-impact-icon svg g{transform:scale(.8);transform-origin:center center}.mock-ui-c-impact-tree{padding:1rem 1rem 1rem 0}@media(min-width:52em){.mock-ui-c-impact-tree{padding:3rem 3rem 3rem 0}}.mock-ui-c-browser aside{flex:0 0 30%}.mock-ui-c-browser main{flex:0 0 70%}.mock-ui-c pre{background-color:#f6f6f6;color:#000}.mock-ui-c-federated-login{border:1px solid var(--color-primary);max-width:260px;min-width:260px;transform:scale(.85)}.mock-ui-c-federated-login-federated{left:2rem;max-width:280px;min-width:280px;position:absolute;top:-1rem}@media(min-width:64em){.mock-ui-c-federated-login-federated{left:4rem}}.mock-ui-c-federated-login .circle{background-color:var(--color-primary)}.share-button{align-items:center;background-color:transparent;border-radius:50%;color:#fff;cursor:pointer;display:none;font-size:1.2rem;height:36px;justify-content:center;padding:0;transition:box-shadow .2s ease-out;width:36px}@media(min-width:64em){.share-button{display:inline-flex}}.share-button:focus,.share-button:hover{background-color:#f6f6f6}.share-button a{align-items:center;display:flex;justify-content:center}.share-button svg{height:18px;line-height:1;transition:fill .3s;width:18px}.share-button:has(svg path[fill=white]){background-color:transparent}.share-button:has(svg path[fill=white]):hover{background-color:#000}:root{--login-width:460px}#___loginIframe___backdrop{background-color:rgba(0,0,0,.9);z-index:20000!important}#___loginIframe___{background-color:#fff;border-radius:12px;left:0!important;margin-left:0!important;overflow-y:auto!important;top:0!important;width:100%!important;z-index:25000!important}@media(min-width:52em){#___loginIframe___{left:calc(50% - var(--login-width)/2)!important;margin-left:0!important;min-height:calc(640px + 1.5rem);top:10vh!important;width:460px!important}}#___loginIframe___closeButton{left:auto!important;right:2rem!important;top:1.5rem!important;z-index:30000!important}@media(min-width:52em){#___loginIframe___closeButton{left:calc(50% - var(--login-width)/2 + var(--login-width) - 5rem)!important;right:auto!important;top:calc(10vh + 1.5rem)!important}}#___loginIframe___closeButton button{background-color:#fff!important;box-shadow:none!important;color:#ccc!important;font-size:2rem!important;height:40px!important;width:40px!important}#___loginIframe___closeButton button.close:hover{background-color:#ccc!important;color:#fff!important}div#hs-eu-cookie-confirmation{--noticeFromBottom:0;--noticeHeight:192px;--ease-in-out-cubic:cubic-bezier(0.645,0.045,0.355,1);--link-color:var(--color-spot);--decline-color:#000;animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:slide-up;animation-timing-function:var(--ease-in-out-cubic);background:#fff!important;border:1px solid #ccc!important;border-radius:8px;bottom:1rem!important;box-shadow:none!important;color:color-mix(in srgb,var(--color-primary) 40%,#fff)!important;content-visibility:auto!important;font-family:inherit;font-size:inherit;font-size:1rem!important;font-weight:400!important;height:auto;line-height:inherit;line-height:1.875!important;max-width:560px!important;padding:.5rem!important;position:fixed;text-align:left;text-shadow:none!important;transform:translateY(calc(var(--noticeHeight) + var(--noticeFromBottom)));transition:transform .2s var(--ease-in-out-cubic);width:100%!important;z-index:100000000!important}div#hs-eu-cookie-confirmation.hs-cookie-notification-position-bottom{bottom:var(--noticeFromBottom)!important;left:auto!important;right:0!important}@media screen and (min-width:480px){div#hs-eu-cookie-confirmation.hs-cookie-notification-position-bottom{--noticeFromBottom:1rem;left:auto!important;right:1rem!important}}@keyframes slide-up{0%{transform:translateY(calc(var(--noticeHeight) + var(--noticeFromBottom)))}to{transform:translateY(0)}}div#hs-eu-cookie-confirmation *{box-sizing:border-box!important}div#hs-eu-cookie-confirmation a:not([role=button]),div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-eu-policy-wording p a{color:var(--link-color)!important;text-decoration:underline!important}body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner{background:transparent!important;border-radius:6px!important;margin:0 auto;margin:0 auto!important;max-width:1200px!important;padding:50px!important}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner a{text-decoration:underline!important}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner a:not[role=button]:after{color:var(--color-tertiary)!important;content:""!important;font-family:Ionicons!important;margin-left:.5rem!important}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner a:hover{text-decoration:underline!important}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-eu-policy-wording{margin-bottom:12px}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area{display:flex;justify-content:flex-start!important;margin:10px 0 0!important;text-align:left!important}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner a#hs-eu-confirmation-button,div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner a#hs-eu-decline-button{border-radius:3px;display:inline-block;padding:.25rem 1rem!important;text-decoration:none!important}body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner{color:var(--color-primary)!important;margin-right:1rem!important;padding:.5rem!important}body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner p{color:unset!important}body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner div#hs-en-cookie-confirmation-buttons-area{text-align:left!important}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner p{color:color-mix(in srgb,var(--color-primary) 40%,#fff)!important;font-size:inherit;line-height:inherit;margin:0 0 12px;text-align:left;text-shadow:none!important}@media print{div#hs-eu-cookie-confirmation{display:none!important}}@media screen and (max-width:480px){div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner{padding:30px!important}body div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner p{font-size:.875rem!important;line-height:1.65!important;margin-bottom:12px!important}}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-en-cookie-confirmation-buttons-area #hs-eu-confirmation-button{background-color:#fff!important;color:#000!important}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-en-cookie-confirmation-buttons-area #hs-eu-confirmation-button,div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-en-cookie-confirmation-buttons-area #hs-eu-decline-button,div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-en-cookie-confirmation-buttons-area a#hs-eu-cookie-settings-button{border:1px solid var(--decline-color)!important;border-radius:8px!important;padding:.25rem 2rem!important;transition:transform .2s}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-en-cookie-confirmation-buttons-area #hs-eu-confirmation-button:hover,div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-en-cookie-confirmation-buttons-area #hs-eu-decline-button:hover,div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-en-cookie-confirmation-buttons-area a#hs-eu-cookie-settings-button:hover{transform:scale(1.05)}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-en-cookie-confirmation-buttons-area #hs-eu-confirmation-button{background-color:var(--color-spot)!important;border-color:var(--color-spot)!important;color:#fff!important}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-en-cookie-confirmation-buttons-area a#hs-eu-cookie-settings-button{background-color:#000!important;color:#fff!important;order:4!important;text-decoration:none!important}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner #hs-en-cookie-confirmation-buttons-area #hs-eu-decline-button{background-color:#fff!important;color:#000!important}@media screen and (max-width:480px){div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner a,div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner a#hs-eu-confirmation-button{font-size:inherit!important}}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner a#hs-eu-decline-button{border:1px solid var(--decline-color)!important;color:var(--decline-color)!important}div#hs-en-cookie-confirmation-buttons-area{display:flex}div#hs-eu-cookie-confirmation div#hs-eu-cookie-confirmation-inner p{margin:0!important}#hs-eu-cookie-confirmation-button-group{order:2}.partner-intro-graphic{display:none;height:auto;object-fit:contain;opacity:.5;position:absolute;right:-10vw;top:10vh;width:50vh;z-index:1}@media(min-width:64em){.partner-intro-graphic{display:block}}.partner .intro .intro-wrapper{max-width:60em}.partner .intro .intro-overlay{background-attachment:fixed;background-color:#fff;background-image:none;background-image:radial-gradient(#ddd 1px,transparent 0),radial-gradient(#ddd 1px,transparent 0);background-position:0 0,25px 25px;background-size:50px 50px}.partner .intro .intro-copy h1,.partner .intro .intro-copy h2,.partner .intro .intro-copy p{color:revert}.partner .intro .intro-copy h2{font-size:medium}.partner-form aside{align-items:center;background-image:linear-gradient(45deg,color-mix(in srgb,var(--color-primary),#000 38%) 0,color-mix(in srgb,var(--color-primary),#000 18%) 66%,color-mix(in srgb,var(--color-primary),#000 16%) 100%);display:none;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.partner-form aside *{color:#fff}@media(min-width:74em){.partner-form aside{display:flex}}.section-testimonials{background-position:50%;background-size:cover;content-visibility:auto}.section-testimonials-overlay{align-items:center;background-color:#000;background-image:radial-gradient(at 77% 78%,#272527 0,transparent 50%),radial-gradient(at 5% 55%,#2c211c 0,transparent 50%),radial-gradient(at 29% 76%,#3d5794 0,transparent 50%),radial-gradient(at 32% 33%,#373e48 0,transparent 50%);background-size:100%;display:flex;height:100%;min-height:50vh;padding:2rem 0;width:100%}@media(min-width:64em){.section-testimonials-overlay{padding:4rem 2rem}}.partners-intro-animation{display:block;height:20em;margin:0 auto;max-height:none;position:absolute;top:calc(50% - 10em);width:20em}@media(min-width:40em){.partners-intro-animation{display:initial;height:32em;margin:unset;top:calc(50% - 16em);width:32em}}.partners-intro-animation-holder{display:inline-flex;margin-bottom:10rem}@media(min-width:40em){.partners-intro-animation-holder{height:auto;margin-bottom:20rem;transform:none}}@media(min-width:64em){.partners-intro-animation-holder{margin-bottom:0}}.partners-intro-animation-logo{display:block;height:8em;position:absolute;right:calc(50% - 4em);top:calc(50% - 2em);width:8em}@media(min-width:40em){.partners-intro-animation-logo{height:16em;right:calc(50% - 8em);top:calc(50% - 8em);width:16em}}.header-anchor{margin-left:.5rem;opacity:0;transition:opacity .3s ease-in-out}h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor{opacity:1}.header-stripe{align-items:center;color:#fff;display:flex;font-size:.85rem;gap:4rem;justify-content:center;overflow:hidden;padding:.75rem;text-overflow:ellipsis;white-space:nowrap;width:100%}.header-stripe .ion-android-arrow-forward{display:inline-block;transition:transform .3s}.header-stripe a{color:#fff;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-stripe a,.header-stripe a .ion-android-arrow-forward{display:inline-block}.header-stripe .icon.ion-close{align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;font-size:.75rem;height:24px;justify-content:center;line-height:0;transition:background-color .3s ease;width:24px;z-index:1}@media(min-width:64em){.header-stripe .icon.ion-close{position:static}}.header-stripe .icon.ion-close:hover{color:#fff}.header-stripe strong{color:#fff;text-decoration:underline}.avatar img{border:1px solid #f2f2f2;border-radius:100%;box-shadow:0 1px 2px rgba(0,0,0,.2);object-fit:cover}.avatar[data-size=sm] img{height:60px;width:60px}@media(min-width:64em){.avatar[data-size=sm] img{height:100px;width:100px}}.avatar[data-size=md] img{height:80px;width:80px}@media(min-width:64em){.avatar[data-size=md] img{height:140px;width:140px}}.avatar[data-size=lg] img{height:128px;width:128px}@media(min-width:64em){.avatar[data-size=lg] img{height:300px;width:300px}}.gradient-line{display:block;position:relative}.gradient-line:after{background:linear-gradient(70deg,#ffdd40,var(--color-spot));content:"";height:4px;left:0;position:absolute;right:0;top:0;width:100%;z-index:1}.skeleton-loading{--accents-1:#fafafa;--accents-2:#e4e4e4;animation:skeleton_loading 8s ease-in-out infinite;background-image:linear-gradient(270deg,var(--accents-1),var(--accents-2),var(--accents-2),var(--accents-1));background-size:400% 100%;display:block}@keyframes skeleton_loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media print{.was-this-helpful{display:none}}.was-this-helpful .hs-no,.was-this-helpful .hs-yes{display:inline-block}.was-this-helpful .inputs-list{list-style:none;padding:0}.was-this-helpful .field.hs-form-field{background-color:transparent;border:none}.was-this-helpful input[type=email],.was-this-helpful input[type=text],.was-this-helpful textarea{border:1px solid rgba(0,0,0,.125);border-radius:3px;width:100%}.was-this-helpful #hubspot-form form>div{display:none}.was-this-helpful.active #hubspot-form form>div{display:block}.was-this-helpful .hs_company,.was-this-helpful .hs_email,.was-this-helpful .hs_firstname,.was-this-helpful .hs_lastname,.was-this-helpful .hs_provide_feedback,.was-this-helpful .hs_submit,.was-this-helpful .legal-consent-container{display:none}.was-this-helpful.active .hs_company,.was-this-helpful.active .hs_email,.was-this-helpful.active .hs_firstname,.was-this-helpful.active .hs_lastname,.was-this-helpful.active .hs_provide_feedback,.was-this-helpful.active .hs_submit,.was-this-helpful.active .legal-consent-container{display:block}.was-this-helpful form>div:first-child{display:flex;flex-direction:column}.was-this-helpful form>div:first-child .hs-form-required{display:none}.was-this-helpful .hs-button{width:auto}.was-this-helpful .hs_feedback_buttons{align-items:center;display:flex}.was-this-helpful .hs_feedback_buttons label{flex:0 0 auto;order:1}.was-this-helpful .hs_feedback_buttons legend.hs-field-desc{display:none!important}.was-this-helpful .hs_feedback_buttons ul{border:2px solid #ccc;border-radius:2rem;padding:.5rem}.was-this-helpful .hs_feedback_buttons .input{order:2}.was-this-helpful .hs_feedback_buttons>label{color:var(--color-paragraphs);font-family:var(--type-regular);font-size:1.5rem}.was-this-helpful .hs_feedback_buttons .input ul{align-items:center;display:flex;gap:.5rem}.was-this-helpful .hs_feedback_buttons input{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.was-this-helpful .hs_feedback_buttons .input label{align-items:center;background-color:#ddd;border:4px solid transparent;border-radius:50%;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:1rem;height:48px;justify-content:center;padding:.25rem 1rem;position:relative;transition:all .2s;width:48px}.was-this-helpful .hs_feedback_buttons li:first-child label{color:var(--color-success)}.was-this-helpful .hs_feedback_buttons li:first-child label:hover{background-color:var(--color-success)}.was-this-helpful .hs_feedback_buttons li:nth-child(2) label{color:var(--color-danger)}.was-this-helpful .hs_feedback_buttons li:nth-child(2) label:hover{background-color:var(--color-danger)}.was-this-helpful .hs_feedback_buttons li label span{align-items:center;display:none;flex-direction:column;line-height:1.2}.was-this-helpful .hs_feedback_buttons li:first-child label:before,.was-this-helpful .hs_feedback_buttons li:nth-child(2) label:before{background-position:50%;background-repeat:no-repeat;background-size:24px;display:block;height:24px;width:24px}.was-this-helpful .hs_feedback_buttons li:first-child label.active{background-color:var(--color-success);border:4px solid var(--color-success);color:#fff}.was-this-helpful .hs_feedback_buttons li:first-child label.active:before{color:#fff}.was-this-helpful .hs_feedback_buttons li:nth-child(2) label.active{background-color:var(--color-danger);border:4px solid var(--color-danger);color:#fff}.was-this-helpful .hs_feedback_buttons li:nth-child(2) label.active:before{color:#fff}.was-this-helpful .hs_feedback_buttons li:first-child label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E");content:""}.was-this-helpful .hs_feedback_buttons li:nth-child(2) label:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17'/%3E%3C/svg%3E");content:""}.was-this-helpful .was-this-helpful-close{align-items:center;border-radius:50%;color:#ccc;cursor:pointer;display:flex;font-size:1rem;height:34px;justify-content:center;position:absolute;right:.5rem;top:.5rem;transition:background-color .3s ease;width:34px}.was-this-helpful .was-this-helpful-close:hover{background-color:var(--color-grey);color:#fff}.was-this-helpful .legal-consent-container .hs-form-booleancheckbox-display>span{margin-left:.5rem}.was-this-helpful .legal-consent-container label{align-items:center;display:flex;font-size:.85rem}.was-this-helpful .legal-consent-container a{color:var(--color-spot)}.was-this-helpful .legal-consent-container p{font-size:.85rem}.carousel{--scrollbar-offset:14px;--color-bg:#ccc;--gap:3rem;--track-width:150px;--height:360px;grid-column-gap:1rem;grid-row-gap:1rem;display:grid;grid-template-rows:1fr;height:var(--height);max-width:100%;overflow-x:scroll;overflow-y:hidden;overscroll-behavior-x:contain;padding:1rem;position:relative;scroll-snap-type:x mandatory}@media(min-width:40em){.carousel{--height:680px}}@media(min-width:52em){.carousel{--height:580px}}@media(min-width:64em){.carousel{--height:580px}}.carousel:hover{cursor:grab}.carousel-large{cursor:grab;grid-template-columns:repeat(2,75vw);height:unset}.carousel img{cursor:grab}.carousel.active{scroll-snap-type:unset}.carousel li{display:inline-block;scroll-snap-align:center}.carousel{--scrollbar:var(--color-primary);--scrollbar-track:#f6f6f6;--scrollbar-track-radius:6px;--scrollbar-thumb-radius:10px;--scrollbar-thumb:var(--color-primary-light);--scrollbar-height:8px;--scrollbar-width:8px}.carousel::-webkit-scrollbar{background-color:transparent;height:var(--scrollbar-height);width:var(--scrollbar-width)}.carousel:hover::-webkit-scrollbar{background-color:var(--scrollbar)}.carousel::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.carousel::-webkit-scrollbar-thumb{background-color:transparent}.carousel:hover::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.button-dropdown-holder{position:relative}.button-dropdown-holder>button:hover{background-color:#f5f5f5;color:initial}.button-dropdown-content,.button-dropdown-holder>button:focus{border:1px solid color-mix(in srgb,var(--color-primary),#000 5%)}.button-dropdown-content{background-color:#fff;border-radius:6px;box-shadow:2.8px 2.8px 2.2px rgba(0,0,0,.02),6.7px 6.7px 5.3px rgba(0,0,0,.028),12.5px 12.5px 10px rgba(0,0,0,.035),22.3px 22.3px 17.9px rgba(0,0,0,.042),41.8px 41.8px 33.4px rgba(0,0,0,.05),100px 100px 80px rgba(0,0,0,.07);left:0;min-width:250px;opacity:0;position:absolute;text-align:left;top:calc(100% + .25rem);transform:scale(.9);transition-duration:.15s;transition-property:transform,opacity,visibility;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden;width:auto;z-index:10}.button-dropdown-content.active{opacity:1;transform:scale(1);visibility:visible}.button-dropdown-content li{display:block}.button-dropdown-content li:first-child>a,.button-dropdown-content li:first-child>button{border-top-left-radius:6px;border-top-right-radius:6px}.button-dropdown-content li:last-child>a,.button-dropdown-content li:last-child>button{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.button-dropdown-content li{align-items:center;display:flex;font-size:.85rem;padding:.75rem 1rem;transition:all .15s}.button-dropdown-content li:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.button-dropdown-content li:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.button-dropdown-content li:hover{background-color:#f6f6f6}.button-dropdown-content li button{align-items:normal;box-shadow:none;font-family:inherit;font-size:1rem;margin:0;padding:0}.button-dropdown-holder i.ion-ios-checkmark-empty{font-size:2rem;margin-left:auto}.button-dropdown-holder .button i.ion-ios-arrow-down{transform-origin:50% 50%;transition:transform .2s}.button-dropdown-holder.active i.ion-ios-arrow-down{transform:rotate(180deg)}.button-dropdown-content li p{color:var(--color-primary);font-size:1rem;line-height:1.2;text-align:left}code,pre,samp{font-family:var(--font-mono)}pre{word-wrap:normal;background-color:var(--code-block-background-color)!important;color:#fff;font-size:var(--code-block-font-size);-webkit-hyphens:none;hyphens:none;line-height:var(--code-block-line-height);margin:0;overflow:auto;padding:var(--code-block-padding);tab-size:var(--code-block-tab-size);text-align:left;white-space:pre;word-break:normal;word-spacing:normal}.token-line{min-height:var(--code-block-token-line-height)}.prism-code .header{all:unset}[data-line-style=highlighted]{background-color:var(--code-block-highlight-color)}.code-pre-wrapper{background-color:var(--code-block-background-color);min-width:calc(100% - 2rem)}.code-wrapper:has(::-webkit-scrollbar){background-color:color-mix(in srgb,var(--color-primary),#000 20%)}.code-wrapper+.code-wrapper{margin-top:var(--space-2)}.button-copy-code{border-radius:6px;box-shadow:0 0 0 2px rgba(0,0,0,.05),0 0 0 1px hsla(0,0%,100%,.1),inset 0 .5px 0 hsla(0,0%,100%,.4);color:var(--color-grey-light);font-size:.75em;line-height:normal;padding:.25rem .5rem}.button-copy-code[tooltip=Copied]{background-color:var(--color-success);color:#fff}.button-copy-code-wrapper{align-items:center;background-color:#000;border-top-left-radius:6px;border-top-right-radius:6px;color:var(--color-grey-light);display:flex;height:32px;justify-content:space-between;padding-left:.25rem;padding-right:.25rem}.button-copy-code-wrapper-title{display:block;font-size:.75rem;text-transform:uppercase}code{background-color:var(--color-inline-code);border:1px solid rgba(0,0,0,.05);border-radius:4px;font-size:14px;padding:.15em .2em .05em;white-space:normal;word-break:break-word}pre[class*=language-]{--scrollbar:var(--color-primary);--scrollbar-track:var(--color-primary) -dark;--scrollbar-track-radius:6px;--scrollbar-thumb-radius:10px;--scrollbar-thumb:var(--color-primary-light);--scrollbar-height:8px;--scrollbar-width:8px}pre[class*=language-]::-webkit-scrollbar{background-color:var(--scrollbar);height:var(--scrollbar-height);width:var(--scrollbar-width)}pre[class*=language-]::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}pre[class*=language-]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.section-dark pre[class*=language-],.section-primary pre[class*=language-]{--scrollbar:var(--color-primary);--scrollbar-track:var(--color-primary) -dark;--scrollbar-thumb:var(--color-primary)}.code-line-numbers{word-wrap:normal;background-color:var(--code-block-background-color);color:#fff;flex:0 0 2rem;font-family:var(--font-mono);font-size:.875rem;-webkit-hyphens:none;hyphens:none;line-height:1.5;overflow:hidden;padding:var(--code-block-padding);tab-size:4;text-align:left;white-space:nowrap;word-break:normal;word-spacing:normal}.code-line-numbers span{align-items:center;background-color:red;display:block;display:flex;flex-direction:column;height:var(--code-block-token-line-height);justify-content:center;line-height:var(--code-block-line-height)}.search-container{min-height:80vh}@media(min-width:64em){.search-container{display:grid;grid-template-areas:"leftbar head" "leftbar main";grid-template-columns:360px minmax(0,2fr);grid-template-rows:min-content minmax(0,1fr)}}.search-main{grid-area:main}@media(min-width:64em){.search-sidebar{grid-area:leftbar}.search-sidebar-inner{max-height:calc(100vh - var(--header-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--header-height) + 2rem)}}.search-header{background-color:#fff}@media(min-width:64em){.search-header{grid-area:head}}input[type=search].header-search-field{appearance:none;background-color:transparent;background-color:color-mix(in srgb,var(--color-primary),#000 20%);border:none;border-radius:34px;caret-color:var(--color-spot);font-size:2rem;font-size:1.5rem;height:auto;height:68px;line-height:normal;outline:none;padding-left:2rem;padding-right:2rem;position:relative;text-indent:1rem;transition:background-color .4s;width:100%}input[type=search].header-search-field::placeholder{color:color-mix(in srgb,var(--color-primary) 40%,#fff)}input[type=search].header-search-field:focus{color:color-mix(in srgb,var(--color-primary) 40%,#fff)}input[type=search].header-search-field:focus::placeholder{color:color-mix(in srgb,var(--color-primary) 40%,#fff)}.search-loader{display:block;height:28px;margin:1rem;width:28px}.search-loader span{color:var(--color-primary);position:relative}.search-loader span:after{animation:loading .4s linear infinite;border-color:transparent transparent currentcolor currentcolor;border-radius:100%;border-style:solid;border-width:.15rem;content:"";display:block;height:20px;position:absolute;width:20px}.ais-SearchBox-form{position:relative}.ais-SearchBox-form input[type=search]{appearance:none;background-color:#fff;border:1px solid transparent;border-radius:34px;box-shadow:0 4px 8px rgba(6,8,9,.16);caret-color:var(--color-spot);font-size:2rem;font-size:1rem;height:auto;height:38px;line-height:normal;min-width:100%;padding-left:4rem;padding-right:2rem;position:relative;transition:box-shadow .2s}@media(min-width:64em){.ais-SearchBox-form input[type=search]{font-size:1.15rem;height:48px;min-width:600px;padding-left:4rem;padding-right:2rem}}.ais-SearchBox-form input[type=search]:focus{box-shadow:0 4px 8px rgba(6,8,9,.16);outline:none}.ais-SearchBox-form input[type=search]::placeholder{color:#666}.ais-SearchBox-form input[type=search]::-ms-clear,.ais-SearchBox-form input[type=search]::-ms-reveal{display:none;height:0;width:0}.ais-SearchBox-form input[type=search]::-webkit-search-cancel-button,.ais-SearchBox-form input[type=search]::-webkit-search-decoration,.ais-SearchBox-form input[type=search]::-webkit-search-results-button,.ais-SearchBox-form input[type=search]::-webkit-search-results-decoration{display:none}input[type=search]::placeholder{color:#666}.ais-SearchBox-form input[type=search]:not(:placeholder-shown)~.ais-SearchBox-reset{display:block}.ais-SearchBox-reset{background-color:#fff;border-radius:50%;box-shadow:none;color:var(--color-primary-light);display:none;height:28px;height:26px;padding:initial;position:absolute;right:6px;top:6px;transition:background-color .3s;width:26px;z-index:2}@media(min-width:64em){.ais-SearchBox-reset{height:36px;left:556px;right:auto;top:16px;top:6px;width:36px}}.ais-SearchBox-reset:hover{background-color:var(--color-primary);color:#fff}.ais-SearchBox-resetIcon{fill:currentColor}.ais-SearchBox-submit{display:none}.search-icon{fill:var(--color-primary);left:26px;position:absolute;top:8px;z-index:2}@media(min-width:64em){.search-icon{top:12px}}.search-loading-indicator{position:absolute;position:relative;right:1.5rem;top:0;z-index:2}.search-loading-indicator.active:after{animation:loading .3s linear infinite;border-color:transparent transparent currentcolor currentcolor;border-radius:100%;border-style:solid;border-width:.15rem;content:"";display:block;height:16px;left:calc(50% - 8px);position:absolute;top:calc(50% - 8px);width:16px}@keyframes loading{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ais-Hits-list{list-style:none;margin:0;padding:0}.ais-Highlight-highlighted{background-color:#fafad2}.ais-Hits-item a{color:var(--color-primary);display:block}.ais-Hits-item a:hover{background-color:#f6f6f6;text-decoration:none}.hit-icon{font-size:3rem}.HitCount{margin-bottom:1.5rem;margin-top:1rem}.hit-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;display:-webkit-box;overflow:hidden;width:min(75%,600px)}.ais-Hits-item img{box-shadow:0 4px 8px rgba(6,8,9,.16)}.ais-Pagination{margin-bottom:2rem}.ais-Pagination-list{-webkit-overflow-scrolling:touch;display:flex;gap:.5rem;list-style:none;margin:0 auto;overflow-x:scroll;padding:0;white-space:nowrap}@media(min-width:64em){.ais-Pagination-list{flex-wrap:wrap;overflow-x:initial}}.ais-Pagination-link{align-items:center;border-radius:50%;color:#000;cursor:pointer;display:flex;height:38px;justify-content:center;text-decoration:none;width:38px}.ais-Pagination-link:hover{text-decoration:none}.ais-Pagination-link--selected,.ais-Pagination-link:hover{background-color:var(--color-spot);color:#fff}.ais-RefinementList-list{display:flex;flex-direction:column;flex-wrap:wrap;list-style:none;margin:0 0 2rem;padding:0}.ais-RefinementList-item{flex:0 0 100%;margin-bottom:.5rem;margin-right:1rem}@media(min-width:64em){.ais-RefinementList-item{margin-right:0}}.ais-RefinementList-list.ais-CurrentRefinements-list--noRefinement{margin-bottom:0}.ais-RefinementList-label{align-items:center;display:flex;line-height:2}.ais-RefinementList-labelText{line-height:1;margin-left:.25rem;overflow-wrap:break-word}.ais-CurrentRefinements-item,.ais-CurrentRefinements-list{display:flex;flex-direction:column}.ais-CurrentRefinements-category{align-items:center;background-color:transparent;border:.075rem solid var(--color-primary-light);border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--color-primary-light);display:inline-flex;font-size:.6em;justify-content:space-between;overflow:hidden;width:max-content}.ais-CurrentRefinements-category:not(:last-child){margin-bottom:.5rem;margin-right:.5rem}@media(min-width:52em){.ais-CurrentRefinements-category{font-size:.6em}}.ais-CurrentRefinements-categoryLabel{padding:.1rem .5rem}.ais-CurrentRefinements-delete{background-color:color-mix(in srgb,var(--color-primary) 50%,#fff);border:none;border-left:.075rem solid var(--color-primary-light);border-radius:0;box-shadow:none;color:var(--color-primary);font-size:.75rem;padding:.1rem .5rem}.ais-CurrentRefinements-delete:active,.ais-CurrentRefinements-delete:focus{background-color:transparent;box-shadow:none;color:var(--color-primary)}.ais-CurrentRefinements-delete:hover{background-color:color-mix(in srgb,var(--color-primary),#000 6%);box-shadow:none;color:#fff}.ais-CurrentRefinements-list{list-style:none;margin:0;padding:0}.ais-CurrentRefinements-label{display:none}.ais-RefinementList-item--selected .ais-RefinementList-labelText,.ais-RefinementList-label:hover .ais-RefinementList-labelText{color:var(--color-spot)}.ais-ClearRefinements-button--disabled,.ais-CurrentRefinements--noRefinement{display:none}.ais-ClearRefinements-button{background-color:var(--color-primary);color:#fff;font-size:.75em;margin-bottom:2rem;margin-top:2rem;min-height:24px;padding:.1rem .75rem}.ais-ClearRefinements-button:disabled{opacity:.25}.ais-ClearRefinements-button:active,.ais-ClearRefinements-button:hover{background-color:var(--color-primary-light);box-shadow:none;color:#fff}.ais-ClearRefinements-button:active .icon,.ais-ClearRefinements-button:hover .icon{color:#fff}.ais-RefinementList-count{-webkit-font-smoothing:antialiased;align-items:center;align-self:center;background-color:#eee;border:#ddd;border-radius:1rem;color:#fff;color:#666;display:inline-flex;font-family:var(--font-bold);font-size:.75rem;height:24px;justify-content:space-between;letter-spacing:.025em;line-height:1;margin-left:.25rem;padding:0 .5rem;text-rendering:optimizeLegibility;text-transform:uppercase}.ais-RefinementList-count:hover{background-color:color-mix(in srgb,#eee,#000 10%)}body{margin-top:var(--header-height)}.header{background-color:color-mix(in srgb,var(--color-primary),#000 50%);left:0;position:fixed;top:0;width:100%;z-index:100}.header-top{height:var(--header-nav-height)}.header-top ul{gap:.5rem}.header-top ul.first-level{align-items:center;display:flex;height:100%;justify-content:center}.header-top ul{font-size:unset}.header-top ul.first-level li{align-items:center;height:100%;justify-content:center}.header-top .first-level>li:not(.header-top-link-hamburger){display:none}@media(min-width:84em){.header-top .first-level>li:not(.header-top-link-hamburger){display:inline-flex}}.header-top ul .header-nav-demo{display:none}@media(min-width:100em){.header-top ul .header-nav-demo{display:inline-flex}}.header-nav-login-text-label,.header-top ul:first-of-type>li.header-nav-search span{display:none}@media(min-width:100em){.header-nav-login-text-label,.header-top ul:first-of-type>li.header-nav-search span{display:inline-block}}.header-top .header-nav-trial{display:none}@media(min-width:84em){.header-top .header-nav-trial{display:inline-flex}}.header-top ul .header-nav-demo,.header-top ul .header-nav-trial{white-space:nowrap}.header-top ul:first-of-type>li.header-top-link-hamburger{display:inline-flex}@media(min-width:84em){.header-top ul:first-of-type>li.header-top-link-hamburger{display:none}}.header-top ul:first-of-type>li.header-top-link-hamburger button{padding-left:0;padding-right:0}.header-top>.container{position:relative}@media(min-width:52em){.header-top>.container{max-width:2400px}}.intro{align-items:center;background-color:#000;display:flex;justify-content:center;min-height:50vh;position:relative}.intro,.intro-full,.intro-full .intro-full{height:auto}@media(min-width:74em){.intro-full,.intro-full .intro-full{min-height:calc(100vh - var(--header-height))}}@media(min-width:40em){.intro-medium,.intro-medium .intro-overlay{min-height:70vh}}@media(min-width:74em){.intro-mediumlow,.intro-mediumlow .intro-overlay{min-height:55vh}.intro-large,.intro-large .intro-overlay{min-height:75vh}}.intro-low,.intro-low .intro-overlay{min-height:25vh}@media(min-width:74em){.intro-low,.intro-low .intro-overlay{min-height:35vh}}.intro-tiny,.intro-tiny .intro-overlay{min-height:15vh}@media(min-width:74em){.intro-tiny,.intro-tiny .intro-overlay{min-height:25vh}}.intro-overlay{align-items:center;background-size:100%;display:flex;height:100%;min-height:50vh;padding-bottom:2rem;padding-top:2rem;width:100%}.intro-full .intro-overlay{min-height:calc(100vh - var(--header-height))}.intro h1{text-wrap:balance;font-family:var(--font-extra-bold)}.intro-copy .h1,.intro-copy h1{font-size:clamp(2.25rem,1.99rem + 1.3vw,4.75rem);letter-spacing:.005em}.intro-copy h2{font-size:.95rem;line-height:1.5}@media(min-width:52em){.intro-copy h2{font-size:1.5rem}}.intro-copy p{font-size:clamp(1rem,1.114rem + .18vw,1.5rem);line-height:1.5}@media(min-width:52em){.intro-copy p{line-height:1.75}}.intro-copy h1,.intro-copy h2,.intro-copy p{color:#fff}.intro-copy .intro-subheading{color:var(--color-primary)}.intro-link{color:#fff;transition:.4s ease;vertical-align:middle}.intro-link:hover{text-decoration:none;transform:translateY(-.25rem)}.intro .intro-overlay{background-image:linear-gradient(45deg,color-mix(in srgb,var(--color-primary),#000 38%) 0,color-mix(in srgb,var(--color-primary),#000 18%) 66%,color-mix(in srgb,var(--color-primary),#000 16%) 100%)}.tokenservice .intro .intro-overlay{background-image:url(/images/bg-lines-green.svg),linear-gradient(13deg,color-mix(in srgb,var(--color-primary),#000 70%) 0,color-mix(in srgb,var(--color-primary),#000 40%) 70%,var(--color-resources-develop) 100%)}.authentication .intro .intro-overlay,.tokenservice .intro .intro-overlay{background-color:#20242e;background-position:50%;background-repeat:no-repeat;background-size:40%,cover}.authentication .intro .intro-overlay{background-image:url(/images/bg-lines-magenta.svg),linear-gradient(13deg,color-mix(in srgb,var(--color-primary),#000 70%) 0,color-mix(in srgb,var(--color-primary),#000 40%) 70%,var(--color-spot) 100%)}.usermanagement .intro .intro-overlay{background-image:url(/images/bg-lines-yellow.svg),linear-gradient(13deg,color-mix(in srgb,var(--color-primary),#000 70%) 0,color-mix(in srgb,var(--color-primary),#000 40%) 70%,var(--color-tertiary) 100%)}.alarms .intro .intro-overlay,.usermanagement .intro .intro-overlay{background-color:#20242e;background-position:50%;background-repeat:no-repeat;background-size:40%,cover}.alarms .intro .intro-overlay{background-image:url(/images/bg-lines-blue.svg),linear-gradient(13deg,color-mix(in srgb,var(--color-primary),#000 70%) 0,color-mix(in srgb,var(--color-primary),#000 40%) 70%,#ad2020 100%)}.intro-wrapper{display:flex;flex-direction:column;margin:0 auto;max-width:100em;padding-left:1rem;padding-right:1rem;width:100%}@media(min-width:52em){.intro-wrapper{align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:center;padding-left:2rem;padding-right:2rem}}@media(min-width:64em){.intro-wrapper{flex-direction:row}}@media(min-width:140em){.intro-wrapper{max-width:120em}}.plans .intro-wrapper{max-width:90%}.intro-presentation{flex:0 0 100%;order:2}@media(min-width:64em){.intro-presentation{flex:0 0 50%;order:1;text-align:initial}}.intro-animation{flex:0 0 100%;order:1}@media(min-width:64em){.intro-animation{flex:0 0 50%;order:2}}.intro-section .intro-overlay{padding-top:calc(64px + 1rem)}@media(min-width:52em){.intro-section .intro-overlay{padding-top:calc(96px + 1rem)}}.intro-section svg{stroke:#fff;border-radius:4px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 5px 15px 0 rgba(112,128,175,.2);height:64px;left:calc(50% - 32px);margin:0 auto;padding:1rem;position:absolute;top:0;width:64px}@media(min-width:52em){.intro-section svg{height:96px;left:calc(50% - 48px);width:96px}}.intro-order{display:flex;flex-direction:column}.intro-order-copy{order:2}@media(min-width:52em){.intro-order-copy{order:1}}.intro-order-benefits{order:3}@media(min-width:52em){.intro-order-benefits{order:2}}.intro-order-cta{order:1}@media(min-width:52em){.intro-order-cta{order:3}}.intro-subheading-logos img{filter:grayscale(1) contrast(.2) brightness(.85) sepia(1) hue-rotate(180deg) saturate(1);position:relative}.intro-animation-start figure{align-items:center;display:none;justify-content:flex-end;margin:0 auto}@media(min-width:64em){.intro-animation-start figure{display:none}@supports(offset-distance:100%){.intro-animation-start figure{display:flex}}}.intro-animation-start-image{display:block}@media(min-width:64em){.intro-animation-start-image{display:none}@supports not (offset-distance:100%){.intro-animation-start-image{display:block}}}.intro.intro-careers .intro-overlay{background-blend-mode:overlay;background-color:color-mix(in srgb,var(--color-primary),#000 20%);background-image:url(/images/careers/careers-intro.jpg);background-position:center 55%;background-size:cover}.intro.intro-careers-interview .intro-overlay{background-blend-mode:overlay;background-color:color-mix(in srgb,var(--color-primary),#000 15%);background-image:url(/images/careers/intro-careers-interview.webp);background-position:center 40%;background-size:cover}.intro.intro-careers-how-we-hire .intro-overlay{background-blend-mode:overlay;background-color:var(--color-primary);background-image:url(/images/careers/intro-careers-how-we-hire.jpg);background-position:center 80%;background-size:cover}.intro.intro-careers-whoweare .intro-overlay{background-blend-mode:overlay;background-image:url(/images/careers/intro-careers-who-we-are.jpg)}.intro.intro-careers-whoweare .intro-overlay,.intro.intro-careers-working-at-curity .intro-overlay{background-color:color-mix(in srgb,var(--color-primary),#000 18%);background-position:center 80%;background-size:cover}.intro.intro-careers-working-at-curity .intro-overlay{background-blend-mode:overlay;background-image:url(/images/careers/intro-careers-working-at-curity.jpg)}.intro.intro-careers-job .intro-overlay{background-blend-mode:overlay;background-color:color-mix(in srgb,var(--color-primary),#000 18%);background-image:url(/images/careers/intro-careers-job.jpg);background-position:center 20%;background-size:cover}.intro .intro-overlay{background-color:#20242e;background-image:url(/images/bg-lines-magenta.svg);background-position:50%;background-repeat:no-repeat;background-size:40%}section.section h2:first-of-type svg{cursor:pointer;opacity:0}section.section h2:first-of-type:hover svg{opacity:1}.customer-intro-logo{align-items:center;border:none;border:4px solid rgba(var(--color-primary),.25);border-radius:50%;display:flex;justify-content:center;position:absolute}.customer-story-item,a.customer-story-item{background-color:#fff;transition:box-shadow .2s ease-in-out 0s}.customer-story-item-card{box-shadow:0 2px 8px 0 rgba(99,99,99,.2);position:relative}.card-circled-link{align-items:center;background-color:#fff;border-radius:50%;bottom:2rem;box-shadow:0 3px 8px 0 rgba(0,0,0,.12);display:flex;height:48px;justify-content:center;opacity:0;position:absolute;right:2rem;transform:translateY(1rem);transition:all .6s var(--ease-out-expo);width:48px}.card-circled-link,.card-circled-link:hover{color:var(--color-primary)}.customer-story-item-card:hover .card-circled-link{opacity:1;transform:translateY(0)}.customer-story-item-card h3:before{color:var(--color-spot);font-family:Cambria,Cochin,Georgia,Times,Times New Roman,serif;font-size:5rem;position:absolute}.customer-story-item-card h3{position:relative}.customer-story-item-card h3>div{-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;display:-webkit-box;overflow:hidden;width:90%}@media(min-width:52em){.customer-story-item-card h3>div{-webkit-line-clamp:6}}@media(min-width:74em){.customer-story-item-card h3>div{-webkit-box-orient:initial;-webkit-line-clamp:none;display:initial;overflow:initial;width:auto}}.customer-story-item-card h3:before{content:"“";left:-2rem;top:-2rem}.customer-story-item-card p,a.customer-story-item-card p{line-height:unset}.customer-story-item-image-wrapper img{display:block;height:240px;object-fit:cover;width:100%}@media(min-width:52em){.customer-story-item-image-wrapper img{border-bottom-left-radius:14px;border-top-left-radius:14px;border-top-right-radius:0;height:100%}}.customer-story-item-content p{position:relative}.customer-story-item-image-credit{bottom:10px;position:absolute;right:10px}.customer-story-item-image-credit .icon{opacity:.5}.customer-story-item-image-credit:hover .icon{opacity:1}.customer-story-item.customer-story-item-single{box-shadow:none}@media(min-width:52em){.customer-story-item.customer-story-item-single{display:grid;grid-template-columns:1.5fr 2fr}}.customer-story-item-single .customer-story-item-image img{border-bottom-left-radius:0;border-top-left-radius:0;object-fit:cover}@media(min-width:52em){.customer-story-item-single .customer-story-item-image img{border-bottom-left-radius:0;border-bottom-right-radius:80px;border-top-left-radius:0}}.customer-story-item-single .customer-story-item-content p:after,.customer-story-item-single .customer-story-item-content p:before{display:none}.footer{background-position:90% 15%;background-size:20%;overflow:hidden;padding-bottom:2rem;position:relative}@media(min-width:84em){.footer{padding-bottom:16rem}}.footer-lines{bottom:-60px;height:360px;left:0;object-fit:cover;pointer-events:none;position:absolute;width:100%;z-index:0}@media(min-width:140em){.footer-lines{background-size:cover;bottom:-20px;height:560px}}.footer li a{display:block;font-size:.85rem;padding:.35rem 0}.footer [itemprop],.footer address,.footer h3,.footer h4,.footer li,.footer li a,.footer p,.footer small,.footer ul{color:color-mix(in srgb,var(--color-primary) 30%,#fff)}.footer .newsletter-privacy-validation small{color:red}.footer h4{color:#fff;font-family:Roboto-Medium;font-size:.85rem;letter-spacing:.025rem;text-transform:uppercase}.footer a:hover{color:#fff}.footer-logo{max-width:120px}@media(min-width:52em){.footer-logo{max-width:160px}}.footer-container{grid-gap:2rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr))}@media(min-width:64em){.footer-container{grid-template-columns:minmax(500px,1fr) 1fr 1fr 1fr 1fr}}.footer-social{grid-gap:1rem;display:grid;grid-template-columns:repeat(4,minmax(0,48px))}.footer-social li a{padding:0}.footer-social svg:hover path{fill:#fff}.section{padding:2rem 0}@media(min-width:64em){.section{padding:3rem 2rem}}.legal .section:not(.section-getstarted){padding:0}.section-sm{padding:2rem 0}@media(min-width:64em){.section-sm{padding:2rem 1rem}}.section-xl{padding:2rem 0}@media(min-width:64em){.section-xl{padding:4rem}}.section-xxl{padding:2rem 0}@media(min-width:64em){.section-xxl{padding:8rem 2rem}}.section-bottom-overflow{padding-bottom:0}.section-white{background-color:#fff}.section-light{background-color:#f6f6f6}.section-alarms{background-color:#fdf7f7}.section-dark{background-color:color-mix(in srgb,var(--color-primary),#000 70%)}.section-primary{background-color:color-mix(in srgb,var(--color-primary),#000 50%)}.section-primary-light{background-color:color-mix(in srgb,var(--color-primary),#000 40%)}.section-green{background-color:color-mix(in srgb,var(--color-resources-develop),#fff 45%)}.section-dotted{background-attachment:fixed;background-image:radial-gradient(#ddd 1px,transparent 0),radial-gradient(#ddd 1px,transparent 0);background-position:0 0,25px 25px;background-size:50px 50px}@media(min-width:64em){.section-boxbg{background-image:url(/images/emptybox.svg);background-position:left 120%;background-repeat:no-repeat;background-size:110%}.section-boxbg-fixed{background-position:left -1000px}.section-rounded{border-bottom-left-radius:80% 20%;border-bottom-right-radius:80% 20%}}.section-featured{background-image:linear-gradient(90deg,#eaebef,#fff);position:relative}.section-featured:before{background:linear-gradient(-45deg,#b9dcf2,#f6cfbe);filter:blur(20px);opacity:var(.7);transform:translate3d(0,20px,0) scale(.95);transition:opacity .3s}.section-featured:after,.section-featured:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.section-featured:after{background:inherit;border-radius:8px}.section-unique-combination{padding-top:calc(180px + 3vmin)}@media(min-width:74em){.section-unique-combination{padding-top:calc(480px + 3vmin)}}.unique-combination-image{--width:25em;--height:auto;height:var(--height);left:calc(50% - var(--width)/2);object-fit:contain;opacity:.7;pointer-events:none;position:absolute;top:6vmin;width:var(--width);z-index:1}@media(min-width:74em){.unique-combination-image{--width:60em}}.section-deploy-anywhere{padding-top:calc(180px + 3vmin)}@media(min-width:74em){.section-deploy-anywhere{padding-top:calc(380px + 3vmin)}}.deploy-anywhere-image{--width:25em;--height:auto;height:var(--height);left:calc(50% - var(--width)/2);object-fit:contain;pointer-events:none;position:absolute;top:6vmin;width:var(--width);z-index:1}@media(min-width:74em){.deploy-anywhere-image{--width:60em}}.section-unique-combination .fade:not(:last-child):before{--size:120px;background-image:url(/images/start/card-arrow.svg);background-position:50%;background-repeat:no-repeat;background-size:var(--size);content:"";display:none;height:var(--size);position:absolute;right:calc(var(--size)/3*-1);top:calc(50% - var(--size)/2);width:var(--size);z-index:1}@media(min-width:74em){.section-unique-combination .fade:not(:last-child):before{display:block}}.tab-group{--radius:8px;margin-bottom:1rem;margin-top:1rem}.tab-group>[role=tablist]{-webkit-overflow-scrolling:touch;align-self:center;background-color:#f0f3f9;border:1px solid #dcdfe4;border-radius:var(--radius);display:flex;gap:.25rem;list-style:none;margin-bottom:1rem;overflow-x:auto;padding:.25rem;position:relative;width:fit-content}@media(min-width:74em){.tab-group>[role=tablist]{margin-bottom:2rem;overflow-x:initial;width:min-content}}.tab-group-center>[role=tablist]{margin:0 auto 2rem}.tab-group>[role=tablist]>button{align-items:center;border-radius:calc(var(--radius)/1.5);box-shadow:none;color:var(--color-primary);display:inline-flex;justify-content:flex-start;padding:.25rem 1.5rem;position:relative;transition:box-shadow .2s,border-color .2s,background-color .2s;white-space:nowrap}.tab-group>[role=tablist]>button:hover{background-color:#e7eaf1}.tab-group>[role=tablist]>button:focus-visible{box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.5)}.tab-group>[role=tablist]>button.active{background-color:#fff;color:var(--color-primary);outline:none}.tab-group>[role=tablist]>button.active:before,.tab-group>[role=tablist]>button.active:hover{color:var(--color-primary)}.tab-group>div[data-item]{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);background-color:#fff;color:var(--color-paragraphs);font-size:.85rem;font-weight:300;height:1px;line-height:1.85;overflow:hidden;overflow-x:auto;position:absolute;white-space:nowrap;width:1px;z-index:1}.tab-group>div[data-item].active{clip:unset;height:unset;position:relative;white-space:unset;width:unset;z-index:2}@media(min-width:52em){.tab-group>div[data-item]{white-space:normal}.tab-group>div[data-item].active{overflow-x:initial}}@media(min-width:64em){.tab-group>div[data-item]{font-size:1rem}}.tab-group-files [role=tablist]{align-items:center;background-color:#2a2f3a;border:1px solid #2a2f3a;border-radius:0;display:flex;justify-content:flex-start;margin-bottom:0;padding:0}.tab-group-files [role=tablist]>button{background-color:color-mix(in srgb,var(--color-primary),#000 50%);border-radius:0;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);color:var(--color-primary-light);font-family:Roboto Mono,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.85rem;height:auto;padding:.5rem 1.5rem;text-transform:none}.tab-group-files [role=tablist]>button:hover{background-color:transparent;color:var(--color-tertiary)}.tab-group-files [role=tablist]>button.active{border-bottom:none}.tab-group-files [role=tablist]>button.active:hover{background-color:transparent;color:var(--color-tertiary)}.tab-group-files>[role=tablist]{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.tab-group-files>[role=tablist]>button:not(:last-child){margin-right:0}.tab-group-files [role=tablist]>button.active{background-color:transparent;color:#fff}.tab-group-files>div[data-item] .button-copy-code-wrapper-title{display:none}.tab-group-files>div .button-copy-code-wrapper{border-radius:0}.tab-group-dark>[role=tablist]{background-color:transparent;border:1px solid color-mix(in srgb,var(--color-primary) 5%,#fff)}.tab-group-dark>div[data-item]{background-color:transparent}.tab-group-dark>[role=tablist]>button{background-color:transparent;color:#fff}.tab-group-dark>[role=tablist]>button:hover{background-color:var(--color-primary-light);color:#fff}.tab-group-dark>[role=tablist]>button.active{background-color:#fff;color:var(--color-primary)}.tab-group-dark>[role=tablist]>button.active:hover{background-color:var(--color-primary-light);color:#fff}.tab-group-primary>[role=tablist]{background-color:transparent;border:1px solid color-mix(in srgb,var(--color-primary) 45%,#fff)}.tab-group-primary>[role=tablist]>button{background-color:transparent}.tab-group-primary>[role=tablist]>button:hover{background-color:color-mix(in srgb,var(--color-primary),#000 0);color:#fff}.tab-group-primary>[role=tablist]>button:active{background-color:#fff}.tab-group-primary>[role=tablist]>button.active{background-color:color-mix(in srgb,var(--color-primary),#000 6%)}.tab-group-primary>[role=tablist]>button.active:hover{background-color:color-mix(in srgb,var(--color-primary),#000 40%)}.faq-question h2{-webkit-user-select:none;user-select:none}.faq-question a{color:var(--color-spot)}.faq-question.active{background-color:#fafafa}.faq-question.active.faq-highlighted{background-color:var(--color-spot);border-radius:6px;color:#fff}.faq-question.active.faq-highlighted:hover{background-color:var(--color-spot)}.faq-question-chevron{align-items:center;border-radius:50%;color:var(--color-spot);display:flex;flex:0 0 30px;font-size:.85rem;height:30px;justify-content:center;margin-right:16px;transition:transform .15s;width:30px}@media(min-width:74em){.faq-question-chevron{flex:0 0 40px;height:40px;margin-right:20px;width:40px}}.faq-question-chevron .ion-chevron-down{transform:translateY(2px);transform-origin:center center;transition:transform .3s ease-in-out}.faq-question:hover{background-color:#fafafa}.faq-question .button-transparent{opacity:0}.faq-question.active:hover .button-transparent{opacity:1}.faq-question:hover .faq-question-chevron{transform:scale(1.1)}.faq-question.active .faq-question-chevron{border:2px solid var(--color-spot)}.faq-question.active .faq-question-chevron .ion-chevron-down{transform:rotate(180deg)}.faq-answer{margin-top:.5rem}@media(min-width:74em){.faq-answer{margin-top:1rem}}.faq-categories{position:sticky;top:calc(var(--header-height) + var(--resources-header-height) + 1rem)}.faq-categories .scroller ul a{padding:.25rem}.faq-categories .scroller ul a:hover{background-color:#fafafa;text-decoration:none}.faq-categories .scroller li{white-space:nowrap}@media(min-width:74em){.faq-categories .scroller li{justify-content:center}}body.contact{background-color:color-mix(in srgb,var(--color-primary),#000 70%)}.contact-or{grid-gap:20px;align-items:center;display:grid;grid-template-columns:1fr;min-height:100%;position:relative;text-align:center;width:100%}.contact-or:after,.contact-or:before{background-color:#fff;content:"";height:40%;left:calc(50% - 1px);position:absolute;width:1px}.contact-or:before{top:0}.contact-or:after{bottom:0}@media(min-width:64em){.contact-layout-left .benefit{grid-column-end:2;grid-column-start:2;grid-row-end:2;grid-row-start:1}.contact-layout-right .benefit{grid-column-end:2;grid-column-start:1;grid-row-end:2;grid-row-start:1}}.contact-layout-center .benefit{order:1}.contact-layout-left .hq{grid-area:5/1/6/2}@media(min-width:64em){.contact-layout-left .hq{align-self:end;grid-column-end:2;grid-column-start:2;grid-row-end:2;grid-row-start:3}}.contact-layout-right .hq{grid-area:5/1/6/2}@media(min-width:64em){.contact-layout-right .hq{align-self:end;grid-column-end:1;grid-column-start:1;grid-row-end:2;grid-row-start:3}}.contact-layout-center .hq{order:3}.contact-layout-left .form{grid-area:2/1/5/2}@media(min-width:64em){.contact-layout-left .form{grid-column-end:1;grid-column-start:1;grid-row:1/span 2}}.contact-layout-right .form{grid-area:2/1/5/2}@media(min-width:64em){.contact-layout-right .form{grid-column-end:2;grid-column-start:2;grid-row:1/span 2}}.contact-layout-center .form{order:2}.contact-layout aside li{font-size:1.25rem;line-height:1.5}.contact-layout aside li:before{border-radius:50%;color:var(--color-spot);content:"";font-family:Ionicons;font-size:1.5rem;margin-inline-end:1ch;padding-inline:1ch}.contact .contact-layout form{background-color:#fff;border-radius:6px;padding:2rem}@media(min-width:40em){.contact form .grid-container{column-gap:1rem;display:grid;grid-template-columns:140px 2fr}}.contact form input[type=email],.contact form input[type=text],.contact form select,.contact form textarea{background-color:#f8f8f8}#contact_form #reason{border:none}@media(min-width:40em){#contact_form #reason{grid-gap:.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}#contact_form #reason label{border:1px solid rgba(0,0,0,.125);border-radius:6px;cursor:pointer;display:block;padding:.5rem;transition:background-color .2s ease-in-out,border-color .2s ease-in-out;width:100%}#contact_form #reason label input{margin-right:.5rem}#contact_form #reason label.active,#contact_form #reason label:hover{border:1px solid var(--color-spot)}@media(min-width:40em){#contact_form #reason label{align-items:center;display:flex}}.contact-hq-info h3{color:#fff}.contact-hq-info .paragraph,.contact-hq-info a,.contact-hq-info address{color:color-mix(in srgb,var(--color-primary) 20%,#fff);font-size:.9rem}.contact-hq-info *{line-height:1.5}.contact-hq-info a{color:color-mix(in srgb,var(--color-primary) 20%,#fff)}.contact .form .grid-container{grid-row-gap:0}@media(min-width:64em){.contact .form .grid-container{grid-row-gap:1rem}}.intro-start-rive-animation{aspect-ratio:1/1;display:none;height:clamp(300px,60vw,100%);max-width:100%;width:clamp(300px,60vw,100%)}@media(min-width:64em){.intro-start-rive-animation{display:block}}.intro-start-rive-animation-mobile{aspect-ratio:1/1;display:block;height:clamp(300px,60vw,100%);max-width:100%;width:clamp(300px,60vw,100%)}@media(min-width:64em){.intro-start-rive-animation-mobile{display:none}}.intro-dci-rive-animation{aspect-ratio:13/10;height:clamp(300px,60vw,100%);max-width:100%;width:clamp(300px,60vw,100%)}.dci-start-animation{aspect-ratio:3/2;height:clamp(150px,60vw,300px);max-width:100%;width:clamp(600px,60vw,400px)}.vci-rive-animation{aspect-ratio:16/9;height:clamp(300px,80vw,100%);max-width:100%;position:relative;width:clamp(300px,80vw,100%)}.vci-rive-animation:after{background-color:#1d1f28;bottom:0;content:"";height:10%;position:absolute;right:0;width:506px;z-index:1}.bg-line-pattern{background-color:#20242e;background-position:50%;background-repeat:no-repeat;background-size:40%}.bg-line-pattern-dark{background-color:#1c1f28}.bg-line-pattern-magenta,.bg-line-pattern-magenta-light{background-image:url(/images/bg-lines-magenta.svg)}.bg-line-pattern-magenta-light{background-color:#fff}.bg-line-pattern-primary,.bg-line-pattern-primary-light{background-image:url(/images/bg-lines-blue.svg)}.bg-line-pattern-primary-light{background-color:#fff}.bg-line-pattern-yellow,.bg-line-pattern-yellow-light{background-image:url(/images/bg-lines-yellow.svg)}.bg-line-pattern-yellow-light{background-color:#fff}.bg-line-pattern-green{background-image:url(/images/bg-lines-green.svg)}.zoom-card{align-items:center;background-color:rgba(0,0,0,.25);border-radius:6px;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;visibility:hidden;z-index:10}.zoom-card,.zoom-card-content{opacity:0;overflow:hidden;transition:opacity .2s ease-in-out}.zoom-card-content{background-color:#fff;border-radius:8px;box-shadow:0 50px 100px -20px rgba(50,50,93,.25),0 30px 60px -30px rgba(0,0,0,.3),0 -18px 60px -10px rgba(0,0,0,.025);max-width:300px;min-width:200px;width:90%;will-change:opacity}@media(min-width:40em){.zoom-card-content{max-width:600px;min-width:300px}}.zoom-card-active{opacity:1;visibility:visible}.zoom-card-active .zoom-card-content{opacity:1}.zoom-card-content header{align-items:center;border-bottom:1px solid #ccc;display:flex;justify-content:space-between;padding:1rem 1.5rem}.zoom-card-content header .button-transparent:hover{background-color:transparent}.zoom-card-content header .icon{align-items:center;border-radius:50%;color:#ccc;cursor:pointer;display:flex;font-size:1rem;height:34px;justify-content:center;transition:background-color .3s ease;width:34px}.zoom-card-content header .icon:hover{background-color:var(--color-grey);color:#fff}.zoom-card-content main{padding:2rem}[zoom-card-open]{cursor:pointer;position:relative}.oauth-tools{--start-color:#ebdbf1;--end-color:hotpink;--border-width:5px;--bg-color:#22232f}.oauth-tools header~.section{content-visibility:unset}.oauth-tools .section h1,.oauth-tools .section h2,.oauth-tools .section h3{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-image:linear-gradient(90deg,var(--start-color),var(--end-color));font-family:var(----font-bold)}.oauth-tools h1{letter-spacing:-.01em}@media(min-width:74em){.oauth-tools h1{font-size:5rem}}.oauth-tools{background-color:var(--bg-color)}.oauth-tools-isometric{display:none;height:auto;object-fit:contain;opacity:.7;position:absolute;right:0;top:10vh;width:35vw;z-index:1}@media(min-width:52em){.oauth-tools-isometric{display:block}}.oauth-tools-swoosh{height:auto;left:-12vw;object-fit:cover;position:absolute;top:15vh;width:30vw;z-index:1}.oauth-tools-app-icons svg{max-height:60px;max-width:80px}.oauth-tools-app-icons svg:first-of-type{margin-right:.2rem}.oauth-tools-app-icons svg *{fill:#fff}.unique-combination-video{margin:0 auto;max-width:480px}@media(min-width:64em){.unique-combination-video{flex:0 0 50%;max-width:unset}}.logo-parade{--gap:3rem;--track-width:150px;--height:100px;display:flex;gap:var(--gap);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.logo-parade-content{--scroll-speed:30s;animation-play-state:paused;display:flex;flex-shrink:0;gap:var(--gap);justify-content:space-around;list-style:none;min-width:100%}.enable-animation .logo-parade-content{animation:scroll var(--scroll-speed) linear infinite}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(calc(-100% - var(--gap)))}}.logo-parade:after,.logo-parade:before{content:"";height:var(--height);position:absolute;width:var(--track-width);z-index:2}@media(min-width:600px){.logo-parade:after,.logo-parade:before{background:linear-gradient(90deg,#fff 0,hsla(0,0%,100%,0))}}.logo-parade:after{right:0;top:0;transform:rotate(180deg)}.logo-parade:before{left:0;top:0}.landing-form-layout-container .intro-animation{display:none}@media(min-width:74em){.landing-form-layout-container .intro-animation{display:block}}.landing-form-layout-container .intro-presentation{flex:0 0 100%;order:2;text-align:center}@media(min-width:74em){.landing-form-layout-container .intro-presentation{flex:0 0 50%;order:1;text-align:initial}}@media(min-width:52em){.landing-form-layout-container .intro-wrapper{padding-left:4rem;padding-right:4rem}}.landing-form-layout-container .intro-presentation{text-align:initial}@media(min-width:52em){.landing-form-layout-container .intro-presentation{flex:0 0 80%}}@media(min-width:64em){.landing-form-layout-container .intro-presentation{flex:0 0 80%;order:1;padding-bottom:4rem;padding-top:4rem;text-align:initial}}@media(min-width:74em){.landing-form-layout-container .intro-presentation{flex:0 0 70%}}.landing-form-layout-container .intro-copy .h1,.landing-form-layout-container .intro-copy h1{font-size:2.25rem;letter-spacing:-.02em}@media(min-width:74em){.landing-form-layout-container .intro-copy .h1,.landing-form-layout-container .intro-copy h1{font-size:2.5rem}}@media(min-width:114em){.landing-form-layout-container .intro-copy .h1,.landing-form-layout-container .intro-copy h1{font-size:3rem}}.landing-form-layout .intro-overlay a{color:#fff}.landing-form-layout-container{--page-bg:#fff;background:#fff;min-height:100vh;min-width:100%}@media(min-width:64em){.landing-form-layout-container{display:grid;grid-template-columns:2fr 400px}}.landing-form-layout-form{background-attachment:fixed;background-image:radial-gradient(#ddd 1px,transparent 0),radial-gradient(#ddd 1px,transparent 0);background-position:0 0,25px 25px;background-size:50px 50px;min-height:100%;padding:2rem}@media(min-width:64em){.landing-form-layout-form{align-self:start;border-left:1px solid #ccc;padding:3rem}}.landing-form-layout-form-wrapper{position:sticky;top:calc(var(--header-height) + 2rem)}.landing-form-layout-main{background-color:var(--page-bg)}.section-wallet-use-cases{--color-primary:#323c53;--color-primary-dark:#262c3d;background-color:var(--color-primary-dark);background-image:repeating-radial-gradient(circle at 0 0,transparent 0,var(--color-primary) 10px),repeating-linear-gradient(var(--color-primary),var(--color-primary-dark))}.wallet-gallery{grid-column-gap:2rem;grid-row-gap:2rem;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);margin:0 auto;max-width:90em}@media(min-width:52em){.wallet-gallery{display:grid}}.wallet-gallery-item,.wallet-gallery-item img{height:100%;object-fit:cover;width:100%}.wallet-gallery-item-1{grid-area:1/1/3/3}.wallet-gallery-item-2{display:none;grid-area:1/3/2/5}@media(min-width:52em){.wallet-gallery-item-2{display:block}}.wallet-gallery-item-3{display:none;grid-area:2/3/3/4}@media(min-width:52em){.wallet-gallery-item-3{display:block}}.wallet-gallery-item-4{display:none;grid-area:2/4/3/5}@media(min-width:52em){.wallet-gallery-item-4{display:block}}.wallet .grid-container-example>div:not(:last-child){position:relative}@media(min-width:74em){.wallet .grid-container-example>div:not(:last-child):after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23d859a1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='prefix__lucide prefix__lucide-arrow-right' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:24px;content:"";height:100px;left:calc(100% - 50px + .5rem);position:absolute;top:30%;width:100px;z-index:1}}.wallet-guidance{background-color:color-mix(in srgb,var(--color-primary),#000 25%);box-shadow:0 0 0 2px rgba(0,0,0,.05),0 0 0 1px hsla(0,0%,100%,.1),inset 0 1.5px 0 hsla(0,0%,100%,.4)}.wallet-guidance header{border-bottom:1px solid var(--color-primary);padding:1rem 1.5rem}.wallet-guidance-omni-field{background-color:var(--color-primary-dark);border:1px solid var(--color-primary-light);font-size:.85rem}.wallet-guidance-omni-field span:first-child{background-color:#262930;border-right:1px solid var(--color-primary-light);color:var(--color-primary-light)}.wallet-guidance-omni-field-url{color:#f5f5f5}.landing-page table td:first-child p{white-space:nowrap}body.training{height:calc(100% - var(--header-height) + var(--resources-header-height));margin-top:calc(var(--header-height) + var(--resources-header-height))}body:is(.training) .intro-full{min-height:calc(100dvh - var(--header-height) - var(--resources-header-height))}.training-container{height:100%}.training-container,.training-main{min-height:calc(100dvh - 172px)}@media(min-width:52em){.training-main{margin-left:320px;width:calc(100% - 320px)}}.training-main .container{position:relative;top:6rem}body.training #starttoday,body.training .footer{display:none}.training-progressbar-holder{align-items:flex-end;display:flex;flex-direction:column;justify-content:space-between}.training-progressbar{background-color:#ccc;border-radius:40px;height:6px;min-width:120px;width:100%}.training-progressbar-fill{background-color:var(--color-spot);border-radius:inherit;height:6px;text-align:right;transition:width .5s ease-in-out;width:0}.training-progressbar-label{font-size:.85rem;line-height:1;margin-top:.25rem}.quiz [type=radio]:checked,.quiz [type=radio]:not(:checked){clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.quiz [type=radio]:checked+label,.quiz [type=radio]:not(:checked)+label{color:#666;cursor:pointer;display:flex;line-height:1;padding-left:28px;position:relative}.quiz [type=radio]:checked+label:before,.quiz [type=radio]:not(:checked)+label:before{align-items:center;background:#fff;border:1px solid #ddd;border-radius:100%;content:"";display:flex;height:18px;justify-content:center;left:0;position:absolute;top:0;width:18px}.quiz [type=radio]:checked+label:after,.quiz [type=radio]:not(:checked)+label:after{background:var(--color-spot);border-radius:50%;content:"";height:10px;left:4px;position:absolute;top:4px;transition:all .2s ease;width:10px}.quiz [type=radio]:not(:checked)+label:after{opacity:0;transform:scale(0)}.quiz [type=radio]:checked+label:after{opacity:1;transform:scale(1)}.training-finished-course{border-radius:12px;box-shadow:0 6px 24px 0 rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.08);margin-bottom:8rem}.training-checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:3;stroke-miterlimit:10;stroke:var(--color-success);fill:none;animation:training-stroke .6s cubic-bezier(.65,0,.45,1) forwards}.training-checkmark{stroke-width:3;stroke:var(--color-success);stroke-miterlimit:10;animation:training-fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;border-radius:50%;box-shadow:inset 0 0 0 var(--color-success);display:block;height:56px;margin:2rem auto;width:56px}.training-checkmark-check{stroke-dasharray:48;stroke-dashoffset:48;animation:training-stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards;transform-origin:50% 50%}@keyframes training-stroke{to{stroke-dashoffset:0}}@keyframes training-scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes training-fill{to{box-shadow:inset 0 0 0 30px #fff}}.training-sidebar{border-right:1px solid #ddd;height:calc(100vh - var(--resources-header-height));left:0;position:fixed;top:calc(var(--header-height) + 69px);width:100%;width:320px;z-index:3}.training-sidebar-inner{background-color:color-mix(in srgb,var(--color-primary) 8%,#fff);height:calc(100vh - var(--header-height) - 69px);overflow-y:auto;position:absolute;top:0;width:100%}.training-sidebar-inner li:first-child{background-color:color-mix(in srgb,var(--color-primary) 5%,#fff);border-bottom:1px solid #ccc}@media(min-width:64em){.training-sidebar-inner li:first-child{position:sticky;top:0}}.training-sidebar-inner li a{color:var(--color-primary);transition:background-color .2s}.training-sidebar-inner li a:hover{text-decoration:none}.training-sidebar-inner li:not(:first-child) a{padding:.5rem 1rem .5rem 2rem}.training-sidebar-inner li a.level-1{padding:.5rem 1rem .5rem 1.5rem}.training-sidebar-inner li a.level-1 .icon{font-size:2rem}.training-sidebar-inner li a.level-2{padding:.35rem 1rem .35rem 3rem}.training-sidebar-inner li a.level-2 h4{font-family:Roboto-Regular,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:.85rem}.training-sidebar-inner li a.level-2 .icon{font-size:1.5rem}.training-sidebar-inner h4{font-family:Roboto-Medium;font-size:1rem}.training-sidebar-inner li a.active,.training-sidebar-inner li:not(:first-child) a:hover{background-color:#fff}.training-sidebar-inner li a .icon{transform-origin:center;transition:transform;transition:.3s ease-in}.training-sidebar-inner li a .icon:after{content:"";font-family:Ionicons;font-style:normal}.training-sidebar-inner li a.active .icon{animation:notify .1s cubic-bezier(1,0,0,1) 2 alternate}.training-sidebar-inner li a.active .icon:after{color:var(--color-spot);content:""}.training-sidebar-inner li a.finished .icon:after{color:var(--color-resources-develop);content:""}.solutions [class*=solutions-line]{display:none;position:absolute;z-index:1}@media(min-width:74em){.solutions [class*=solutions-line]{display:block}}.solutions [class*=solutions-line-line]{stroke:#ccc;stroke-width:2;stroke-dasharray:8;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.intro-animation-open-banking{align-items:center;display:flex;justify-content:center}.solutions-openbanking .intro-animation-holder{display:inline-flex;transform:translateX(2rem)}@media(min-width:64em){.solutions-openbanking .intro-animation-holder{transform:none}}.open-banking-psd2{height:60px;left:0;object-fit:contain;position:absolute;top:120px;width:60px}@media(min-width:40em){.open-banking-psd2{height:86px;left:0;top:200px;width:86px}}@media(min-width:64em){.open-banking-psd2{height:86px;left:0;top:260px;width:86px}}.oauth-and-openid-connect{bottom:-128px;display:none;position:absolute;z-index:1}@media(min-width:64em){.oauth-and-openid-connect{display:grid;grid-auto-flow:column}}.oauth-and-openid-connect figure:nth-child(2){transform:translateX(-1rem);z-index:10}.open-banking-intro-bank{display:block;height:16em;margin:0 auto;width:16em}@media(min-width:40em){.open-banking-intro-bank{display:initial;height:26em;margin:unset;width:26em}}@media(min-width:64em){.open-banking-intro-bank{display:initial;height:32em;margin:unset;width:32em}}.solutions-openbanking-brazil .intro-overlay{background-blend-mode:overlay;background-color:#2a303a;background-image:url(/images/solutions/open-banking-brazil/open-banking-brazil-background.webp);background-position:center 80%;background-size:cover}.solutions-openbanking-uk .intro-overlay{background-blend-mode:overlay;background-color:rgba(0,0,0,.75);background-image:url(/images/solutions/open-banking-uk/intro-background.avif);background-position:center 40%;background-size:cover}.solutions-openbanking-us .intro-overlay{background-blend-mode:overlay;background-color:rgba(0,0,0,.75);background-image:url(/images/solutions/open-banking-us/ferdinand-stohr-PeFk7fzxTdk-unsplash.jpg);background-position:center 20%;background-size:cover}.zero-trust-intro-animation{display:block;height:12em;margin:0 auto;max-height:none;position:absolute;right:calc(50% - 6em - 1.5rem);top:50%;width:12em}@media(min-width:40em){.zero-trust-intro-animation{display:initial;height:20em;margin:unset;right:calc(50% - 12em);top:auto;top:0;width:20em}}@media(min-width:64em){.zero-trust-intro-animation{height:26em;right:calc(50% - 13em);top:calc(50% - 13em);width:26em}}@media(min-width:74em){.zero-trust-intro-animation{height:36em;right:calc(50% - 21em);top:calc(50% - 21em);width:36em}}.solutions-zero-trust .intro-animation-holder{display:inline-flex;margin-bottom:12rem}@media(min-width:40em){.solutions-zero-trust .intro-animation-holder{margin-bottom:24rem}}@media(min-width:64em){.solutions-zero-trust .intro-animation-holder{margin-bottom:0;transform:none}}.zero-trust-intro-image{display:block;height:5em;margin:0 auto;position:absolute;right:calc(50% - 2.5em);top:calc(50% + 3.5rem);width:5em}@media(min-width:40em){.zero-trust-intro-image{height:9em;right:calc(50% - 4.5em);top:calc(50% + 6em);width:9em}}@media(min-width:64em){.zero-trust-intro-image{height:11em;right:calc(50% - 2.5em);top:calc(50% - 5.5em);width:11em}}@media(min-width:74em){.zero-trust-intro-image{height:14em;right:calc(50% - 5.5em);top:calc(50% - 8.5em);width:14em}}.frictionless-intro-checkmark{display:block;height:6.5em;position:absolute;right:calc(50% - 3.25em);top:calc(50% - .75rem);width:6.5em}@media(min-width:40em){.frictionless-intro-checkmark{height:13em;right:calc(50% - 6.5rem);top:calc(42% - 2rem - 50px);width:13em}}@media(min-width:64em){.frictionless-intro-checkmark{right:calc(50% - 3.25rem)}}.frictionless-intro-lock{display:block;height:2em;left:calc(50% - 8rem);position:absolute;top:-1em;width:2em}@media(min-width:40em){.frictionless-intro-lock{height:4em;left:9.65rem;top:calc(-9.7rem - 40px);width:4em}}.frictionless-intro-user{display:block;height:4em;position:absolute;right:calc(50% - 7em);top:4em;width:4em}@media(min-width:40em){.frictionless-intro-user{height:7em;right:10rem;top:calc(-7.5em - 30px);width:7em}}.frictionless-intro-animation{display:block;height:14em;margin:0 auto;max-height:none;position:absolute;top:calc(50% - 7em);width:14em}@media(min-width:40em){.frictionless-intro-animation{display:initial;height:26em;margin:unset;top:calc(50% - 13em - 50px);width:26em}}@media(min-width:74em){.frictionless-intro-animation{right:calc(50% - 10em)}}.solutions-frictionless .intro-animation-holder{display:inline-flex;margin-bottom:6rem}@media(min-width:40em){.solutions-frictionless .intro-animation-holder{height:auto;margin-bottom:10rem;transform:none}}@media(min-width:64em){.solutions-frictionless .intro-animation-holder{margin-bottom:0}}.modernizing-intro-image{display:block;height:7em;margin:0 auto;position:absolute;right:calc(50% - 3.5em);top:calc(50% - 1em);width:7em}@media(min-width:40em){.modernizing-intro-image{height:12em;right:calc(50% - 6em);top:calc(50% + 4em);width:12em}}@media(min-width:64em){.modernizing-intro-image{height:16em;right:calc(50% - 8em);top:calc(50% - 5.5em);width:16em}}.modernizing-intro-animation{display:block;height:14em;margin:0 auto;max-height:none;position:absolute;top:calc(50% - 7em);width:14em}@media(min-width:40em){.modernizing-intro-animation{height:30em;right:calc(50% - 15em);top:calc(50% - 8em);width:30em}}@media(min-width:64em){.modernizing-intro-animation{height:30em;right:calc(50% - 15em);top:calc(50% - 20em);width:30em}}.solutions-modernizing .intro-animation-holder{display:inline-flex;margin-bottom:6rem}@media(min-width:40em){.solutions-modernizing .intro-animation-holder{margin-bottom:16rem}}@media(min-width:64em){.solutions-modernizing .intro-animation-holder{height:auto;margin-bottom:0;transform:none}}@media(min-width:52em){.modernizing-standards-figure{height:12em;width:32em}}@media(min-width:40em){.modernizing-standards-image{height:37em;left:-1em;position:absolute;top:-18rem;width:37em;z-index:1}}@media(min-width:64em){.modernizing-standards-image{height:40em;left:-1em;top:-20rem;width:40em;z-index:1}}.common-identity-platform-intro-logo-figure{margin:0 auto 6rem;max-width:160px}@media(min-width:64em){.common-identity-platform-intro-logo-figure{margin-bottom:0}}.common-identity-platform-intro-logo{margin:0 auto;max-width:100px}@media(min-width:40em){.common-identity-platform-intro-logo{animation:pulses 1s linear infinite;left:calc(50% - 80px);max-width:160px;position:absolute;top:calc(50% - 80px);transition-timing-function:var(--ease-in-cubic)}}@media(min-width:74em){.common-identity-platform-intro-logo{animation:pulses 1s linear infinite;left:calc(50% - 116px);max-width:232px;position:absolute;top:calc(50% - 18px);transition-timing-function:var(--ease-in-cubic)}}.common-identity-platform-intro-top{margin:0 auto;max-width:280px}@media(min-width:40em){.common-identity-platform-intro-top{margin-bottom:5rem;max-width:400px}}@media(min-width:74em){.common-identity-platform-intro-top{left:calc(50% - 300px);max-width:600px;position:absolute;top:-150px}}@keyframes pulses{0%{transform:scale(.9)}50%{transform:scale(1)}to{transform:scale(.9)}}.header-top-link{color:#fff;font-size:.9rem}.header-top-link:hover{color:currentColor;text-decoration:none}.header-top-link{align-items:center;border-radius:2rem;display:flex;height:32px;padding:.15rem .75rem;white-space:nowrap}.header-top-link:hover{background-color:color-mix(in srgb,var(--color-primary),#000 14%)}.header-nav-contact{color:#fff}.header-nav-contact a{justify-content:center;padding:.15rem .75rem}.header-top-link-dropdown{align-items:center;cursor:pointer;display:inline-flex;height:100%;padding:0;position:relative}.header-top-link-dropdown .header-top-link{color:#fff}.header-top-link-dropdown:focus:not(:focus-visible){box-shadow:none;outline:none}.header-top-link-dropdown:hover .header-top-link{background-color:color-mix(in srgb,var(--color-primary),#000 14%);text-decoration:none}.header-top-link-dropdown.active .header-top-link{background-color:var(--color-primary);border-radius:2rem}.dropdown-content{background-color:#fff;border-bottom-left-radius:8px;border-bottom-right-radius:8px;box-shadow:0 10px 30px 0 rgba(0,0,0,.16);left:0;max-height:80vh;min-width:280px;opacity:0;overflow:auto;overflow:hidden;position:absolute;text-align:left;top:var(--header-nav-height);transform:scale(.9);transition-duration:.15s;transition-property:opacity;transition-property:transform,opacity,visibility;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:10}.dropdown-content-link{border-radius:0;color:var(--color-primary);font-size:.9rem;padding:.75rem 2.5rem .75rem 1.5rem;position:relative;transition-duration:.3s;transition-property:fill;width:100%}.dropdown-content-link:hover:not(.dropdown-content-link-dark):first-child{border-top-left-radius:8px;border-top-right-radius:8px}.dropdown-content-link:hover:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.dropdown-content-link:hover{background-color:#fafafa;color:var(--color-primary);text-decoration:none}.dropdown-content-link.active,.dropdown-content-link[aria-current=page]{background-color:#f6f6f6}.dropdown-content-link:not(.dropdown-content-link-logout,.dropdown-content-link-noarrow):after{background-image:url(/images/right-arrow.svg);background-position:50%;background-repeat:no-repeat;background-size:10px 8px;content:" ";display:inline-block;height:8px;margin-left:8px;opacity:.5;position:absolute;right:1rem;transition:transform .1s ease 0s,opacity .1s ease 0s;vertical-align:-1px;width:10px}.dropdown-content .dropdown-content-link-text-heading{align-items:center;display:flex;font-size:1rem;line-height:1.5}.dropdown-content .dropdown-content-link-text-description{color:#666;display:flex;font-size:.75rem;line-height:1.25}.dropdown-content p{font-family:var(--type-regular);font-size:1rem;font-weight:400}.dropdown-content.active{opacity:1;transform:scale(1);visibility:visible}.header-top-link-dropdown svg{display:inline-flex;margin-left:.25rem;transform-origin:50% 50%;transition:transform .2s}.dropdown-content h5{font-size:.75rem}.header-top-link .ion-ios-arrow-down.active{transform:rotate(180deg)}.header-top-link-dropdown .dropdown-content.dropdown-content-product{left:0;min-width:1000px;top:100%;width:min-content}.dropdown-content-link-sub-page{padding-left:3rem}.dropdown-content-link-sub-page .dropdown-content-link-text-heading{font-size:.85rem}.product-nav-holder{border:1px solid #ccc;border-radius:8px;overflow:hidden;position:relative}.header-top-link-dropdown .dropdown-content.dropdown-content-resources{left:0;min-width:1000px;top:100%;width:min-content}.dropdown-content-user{color:var(--color-primary)}.dropdown-content-user,.dropdown-content-user .dropdown-content-link{min-width:180px}.header-top-link-dropdown .dropdown-content.dropdown-content-solutions{left:0;min-width:800px;top:100%;width:min-content}.header-top-link-dropdown .dropdown-content.dropdown-content-developer{overflow:hidden;position:absolute;width:350px}.dropdown-content-link-dark{background-image:url(/images/emptybox.svg);background-position:left -240px;background-repeat:no-repeat;background-size:110%;position:relative}.dropdown-content-link-dark,.dropdown-content-link-dark.active{background-color:color-mix(in srgb,var(--color-primary),#000 50%)}.dropdown-content-link-dark:after{background-image:url(/images/right-arrow-white.svg);opacity:1}.dropdown-content-link-dark:focus{background-color:color-mix(in srgb,var(--color-primary),#000 30%)}.dropdown-content-link-dark:hover{background-color:color-mix(in srgb,var(--color-primary),#000 28%)}.header-top-link-dropdown .dropdown-content.dropdown-content-user{left:auto;position:absolute;right:0;top:49px;width:240px}@media(min-width:100em){.header-top-link-dropdown .dropdown-content.dropdown-content-user{left:0;right:auto}}.header-nav-login{justify-content:flex-end}@media(min-width:100em){.header-nav-login{min-width:100px}}.header-top-link-dropdown .dropdown-content.dropdown-content-company{left:0;min-width:800px;top:100%;width:min-content}.header-top-link-dropdown .dropdown-content.dropdown-content-support{left:0;min-width:400px;top:100%;width:min-content}.mobile-nav{--width:100vw;-webkit-overflow-scrolling:touch;align-items:center;background-color:var(--color-primary-dark);border-radius:4px;box-shadow:2.8px 2.8px 2.2px rgba(0,0,0,.02),6.7px 6.7px 5.3px rgba(0,0,0,.028),12.5px 12.5px 10px rgba(0,0,0,.035),22.3px 22.3px 17.9px rgba(0,0,0,.042),41.8px 41.8px 33.4px rgba(0,0,0,.05),100px 100px 80px rgba(0,0,0,.07);content-visibility:auto;justify-content:center;left:auto;margin-left:auto;margin-right:auto;max-height:100vh;min-height:100vh;opacity:0;overflow:auto;overflow-y:scroll;position:fixed;right:0;top:0;transform:translateX(100%);transform:translateX(var(--width));transition:transform .3s;visibility:hidden;width:var(--width);z-index:600}.mobile-nav.active{opacity:1;transform:translateX(0);visibility:visible}@media(min-width:40em){.mobile-nav{--width:400px}}.mobile-nav button.button-has-dropdown{height:unset;padding:.25rem .75rem}.mobile-nav .button-has-dropdown .icon{display:none}.mobile-nav nav ul{content-visibility:auto}.mobile-nav button.navigation-expand{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;border:none;border-radius:0;display:flex;justify-content:space-between;outline:none;width:100%}.mobile-nav li button.navigation-expand,.mobile-nav ul>li a{color:#fff;font-size:1.25rem;line-height:calc(var(--button-line-height)*1.5);padding:calc(var(--button-padding-y)*1.5) calc(var(--button-padding-x)*1.5)}.mobile-nav li button.navigation-expand:hover,.mobile-nav ul>li a:hover{text-decoration:none}.mobile-nav li button.navigation-expand{font-family:var(--type-regular);opacity:1}.mobile-nav li button.navigation-expand:hover{box-shadow:none;text-decoration:none}.mobile-nav li button.navigation-expand.navigation-expand-active{background-color:color-mix(in srgb,var(--color-primary),#000 20%);color:#fff}button.navigation-expand .icon{color:var(--color-primary-light);cursor:pointer;font-size:.85rem;outline:0;transition:transform .2s ease}button.navigation-expand-active .icon{transform:rotate(180deg)}.mobile-nav-logo{max-width:120px}.mobile-nav .mobile-nav-children li a{color:#fff;display:block;font-size:.95rem;opacity:1;padding:.75rem .75rem .75rem 4rem;text-decoration:none;transition:.3s}.mobile-nav .mobile-nav-children li a:hover{text-decoration:none}.mobile-nav .mobile-nav-children{content-visibility:auto;display:grid;grid-template-columns:1fr;margin:0;max-height:0;overflow:hidden;transition:max-height .3s ease-out}.mobile-nav .mobile-nav-children.is-visible{max-height:1600px;transition:max-height .2s ease-in}.mobile-nav .mobile-nav-close{align-items:center;color:#fff;display:flex;font-size:32px;height:36px;justify-content:center;line-height:36px;padding:0;text-align:center;width:36px}.mobile-nav .mobile-nav-close:hover{background-color:color-mix(in srgb,var(--color-primary),#000 20%);color:#fff;text-decoration:none}.hamburger{align-items:flex-start;cursor:pointer;display:flex;position:relative}.header-top-link-hamburger:hover{background-color:transparent}.hamburger__text{align-self:center;color:#fff;content:"Menu";flex:1 1;font-size:.9rem;letter-spacing:.1rem;margin:0 .5rem 0 0;text-transform:uppercase;-webkit-user-select:none;user-select:none}.hamburger__icon{align-self:center;cursor:pointer;flex:1 1;height:20px;position:relative;transform:rotate(0deg);transition:.5s ease-in-out;width:28px}.hamburger__icon span{background:var(--color-spot);border-radius:0;display:block;height:3px;left:0;opacity:1;position:absolute;transform:rotate(0deg);transition:.25s ease-in-out;width:100%}.hamburger__icon span:first-child{top:0}.hamburger__icon span:nth-child(2),.hamburger__icon span:nth-child(3){top:8px;width:70%}.hamburger__icon span:nth-child(4){top:16px}.hamburger__icon:hover span:nth-child(2){width:100%}.hamburger__icon.open span{background:var(--color-spot)}.hamburger__icon.open span:first-child{left:50%;top:16px;width:0}.hamburger__icon.open span:nth-child(2){transform:rotate(45deg)}.hamburger__icon.open span:nth-child(3){transform:rotate(-45deg)}.hamburger__icon.open span:nth-child(4){left:50%;top:16px;width:0}.release-nav a{display:block;font-size:1.25;margin-right:.5rem}@media(min-width:52em){.release-nav a{display:inline-block}}.resources-topic small{align-items:center;display:flex;justify-content:center}.resources-time{align-items:center;border-radius:2px;color:var(--color-primary);display:inline-flex;font-size:.85rem;justify-content:space-between;padding:.35rem .5rem}.resources-topic svg{border-radius:6px;box-shadow:0 5px 15px 0 rgba(112,128,175,.2);display:inline-flex;height:36px;padding:.5rem;transition:box-shadow .3s ease-in-out;width:36px}.resources-topic svg:hover{box-shadow:0 5px 15px 0 rgba(112,128,175,.5)}.resources-topic-develop{color:var(--color-resources-develop)}.resources-topic-architect{color:var(--color-spot)}.resources-topic-livepresentation,.resources-topic-operate,.resources-topic-usecases{color:var(--color-primary)}.career-post-meta{border:1px solid #ccc}.career-post-meta>div:first-child,.career-post-meta>div:nth-child(2),.career-post-meta>div:nth-child(3){border-bottom:1px solid #ccc}#hippo-audio-check-container,#hippo-screen-check-container,#hippo-webcam-check-container{display:none!important}.hippo-embed-widget-container{margin:0!important}.career-interview-presentation .gatsby-image-wrapper{border:4px solid #fff}@media(min-width:52em){.career-interview-presentation .gatsby-image-wrapper{margin-top:-160px;position:relative}}.career-interview-presentation{align-items:center;display:flex}@media(min-width:52em){.career-interview-presentation{display:initial}}.blog .circle{border:4px solid transparent;transition:border-color .4s}.blog .circle:hover{border:4px solid var(--color-spot)}.blog article div[itemprop=description] p,.blog article ol,.blog article ul{margin:0}.blog article>div[itemprop=description]{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}.blog article{max-width:110ch}.news-pagination{grid-gap:1rem;display:grid;grid-auto-flow:column;place-items:center}.productbar{-webkit-backdrop-filter:saturate(180%) blur(5px);backdrop-filter:saturate(180%) blur(5px);background-color:rgba(0,0,0,.6);box-shadow:inset 0 -1px 0 0 hsla(0,0%,100%,.1);display:none;padding:.5rem;position:fixed;right:0;top:var(--header-height);width:100%;z-index:50}@media(min-width:64em){.productbar{display:block}}.productbar select{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border:1px solid #fff;color:#fff;font-size:.85rem;outline:none}.productbar select option{color:initial}.white-fill{fill:#fff}.blue-stroke{stroke-width:3px;stroke:var(--color-primary)}.blue-stroke-thin{stroke-width:1px;stroke:var(--color-primary)}.white-stroke{stroke-width:3px;stroke:#fff}.white-stroke-thin{stroke-width:1px;stroke:#fff}.green-fill{fill:var(--color-resources-develop)}.dark-grey-fill{fill:#1b1b1b}.blue-fill{fill:var(--color-primary)}.dark-blue-fill{fill:color-mix(in srgb,var(--color-primary),#000 20%)}.grey-fill{fill:#e2e0e0}.transparent-fill{fill:transparent}.shadow{fill:var(--color-primary);opacity:.25}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOutVisibility{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes fadeInVisibility{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInScale{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{transform:translateX(-50%)}50%{transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(50%)}50%{transform:translateX(-10%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInTop{0%{transform:translateY(-50%)}50%{transform:translateY(-10%)}to{opacity:1;transform:translateY(0)}}@keyframes slideInBottom{0%{transform:translateY(50%)}50%{transform:translateY(10%)}to{opacity:1;transform:translateY(0)}}@keyframes flash{0%{opacity:1}50%{opacity:.1}to{opacity:1}}@keyframes dash{to{stroke-dashoffset:500}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:.9;transform:scale(1.1)}80%{opacity:1;transform:scale(.89)}to{opacity:1;transform:scale(1)}}@keyframes bounceScale{0%{transform:scale(1)}50%{transform:scale(.9)}to{transform:scale(1)}}@keyframes browserMove{to{transform:scale(.75) translateX(-35%) translateY(-25%)}}@keyframes browserMoveRight{0%{transform:scale(.75) translateX(-35%) translateY(-25%)}to{transform:translateX(50%)}}@keyframes pulseprimary{0%{box-shadow:0 0 0 0 rgba(var(--color-primary),.4)}to{box-shadow:0 0 0 60px rgba(var(--color-primary),0)}}.standard-circle{border-radius:50%;height:60px;width:60px}@media(min-width:64em){.standard-circle{height:90px;width:90px}}.section-standards-item{flex:0 0 33.333%}@media(min-width:64em){.section-standards-item{flex:0 0 33.333%}}.section-architecture{background-image:url(/images/architecture-background.svg);background-position:left -200px;background-repeat:repeat;background-size:50%}.section-architecture-stack-image{max-height:400px}@media(min-width:52em){.section-architecture-stack-image{max-height:600px}}@media(min-width:64em){.section-architecture-stack-image{max-height:700px}.section-architecture-main{align-items:center;display:flex;justify-content:space-between}}.section-architecture-side{align-items:flex-start;display:flex;flex:0 0 100%;justify-content:space-between}@media(min-width:64em){.section-architecture-side{align-items:normal;display:initial;flex:0 0 25%;height:500px;justify-content:normal}}.section-architecture-stack{flex:0 0 100%}@media(min-width:64em){.section-architecture-stack{flex:0 0 50%}}.architecture-part{padding-left:.5rem;padding-right:.5rem}@media(min-width:64em){.architecture-part-right{text-align:right}.architecture-part-right>.flex{justify-content:flex-end}}.architecture-part .section-architecture-apis,.architecture-part .section-architecture-apps,.architecture-part .section-architecture-server,.architecture-part .section-architecture-users{max-height:60px;max-width:60px;min-height:60px}@media(min-width:64em){.architecture-part .section-architecture-apis,.architecture-part .section-architecture-apps,.architecture-part .section-architecture-server,.architecture-part .section-architecture-users{max-height:120px;max-width:100px;min-height:100px}}.architecture-standards .standard-circle{height:46px;padding:.5rem;width:46px}.architecture-symbol{max-width:200px}.architecture-line-1{animation-delay:.7s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeIn;display:none;left:calc(100% - 40px);opacity:0;position:absolute;top:10%;z-index:10}@media(min-width:64em){.architecture-line-1{display:block}}.architecture-line-1-arrow,.architecture-line-1-circle{fill:var(--color-primary-light)}.architecture-line-1-line{stroke:var(--color-primary-light);stroke-width:.05rem;stroke-dasharray:8;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.architecture-line-2{animation-delay:.7s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeIn;display:none;left:calc(100% - 40px);opacity:0;position:absolute;top:90%;z-index:10}@media(min-width:64em){.architecture-line-2{display:block}}.architecture-line-2-line{stroke:var(--color-primary-light);stroke-width:.05rem;stroke-dasharray:8;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.architecture-line-2-arrow{fill:var(--color-primary-light)}.architecture-line-3{animation-delay:.7s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeIn;display:none;opacity:0;position:absolute;right:calc(100% - 30px);top:10%;transform:scaleX(-1);z-index:10}@media(min-width:64em){.architecture-line-3{display:block}}.architecture-line-3-line{stroke:var(--color-primary-light);stroke-width:.05rem;stroke-dasharray:8;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.architecture-line-3-arrow{fill:var(--color-primary-light)}.architecture-line-4{animation-delay:.7s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeIn;display:none;opacity:0;position:absolute;right:calc(100% - 30px);top:90%;transform:scaleX(-1);z-index:10}@media(min-width:64em){.architecture-line-4{display:block}}.architecture-line-4-line{stroke:var(--color-primary-light);stroke-width:.05rem;stroke-dasharray:8;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.architecture-line-4-arrow{fill:var(--color-primary-light)}.how-curity-works{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeInVisibility;opacity:0;transform:scale(.9);visibility:hidden}@media(min-width:64em){.how-curity-works{transform:scale(1)}}.how-curity-works-browser{background-attachment:fixed;background-color:#fff;background-color:#000;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 800'%3E%3Ccircle cx='400' cy='400' r='600'/%3E%3Ccircle cx='400' cy='400' r='500' fill='%23180d1c'/%3E%3Ccircle cx='400' cy='400' r='400' fill='%23261431'/%3E%3Ccircle cx='400' cy='400' r='300' fill='%23351947'/%3E%3Ccircle cx='400' cy='400' r='200' fill='%23451e5e'/%3E%3Ccircle cx='400' cy='400' r='100' fill='%23527'/%3E%3C/svg%3E");background-size:200%;border-radius:8px;box-shadow:0 10px 10px -20px rgba(50,50,93,.25),0 10px 20px -20px rgba(0,0,0,.3),0 -10px 20px -10px rgba(0,0,0,.025);flex:0 0 100%;margin:2.5rem auto;max-width:80%;position:relative;transition:transform 1s ease}.how-curity-works-browser-header{align-items:center;background-color:#e6e4e4;border-top-left-radius:8px;border-top-right-radius:8px;display:flex;padding:.5rem 1rem}.how-curity-works-browser-header-omnibar{background-color:#fff;border-radius:16px;display:flex;justify-content:center;margin:0 auto;min-width:50%;padding:.15rem 1rem}.how-curity-works-browser-header-omnibar .icon{color:#ccc}.how-curity-works-browser-header-omnibar-url{color:#666;font-size:.75rem}.how-curity-works-browser-header-omnibar-url.active{color:purple}.how-curity-works-browser-header span{background-color:#ccc;border-radius:50%;height:12px;position:relative;width:12px}.how-curity-works-browser-main{padding:3rem}.how-curity-works-browser-main-content-circle{background-color:#f2f2f2;border-radius:50%;flex:none;height:100px;width:100px}.how-curity-works-browser-main-content-loaded{align-items:center;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;visibility:hidden;width:100%}.how-curity-works-browser-main-content-loaded section{align-items:flex-start;display:flex;flex:0 0 75%;justify-content:space-between}.how-curity-works-browser-main-content-loaded section aside{align-items:center;display:flex;flex:0 0 20%;flex-direction:column;justify-content:center}.how-curity-works-browser-main-content-loaded section main{flex:0 0 70%}.how-curity-works-browser-main-content-loaded-avatar{background-color:#fff;border-radius:50%;height:40px;margin-bottom:2rem;opacity:0;width:40px}.how-curity-works-browser-main-content-loaded-lines{background-color:hsla(0,0%,100%,.5);border-radius:4px;height:8px;opacity:0;width:100%}.how-curity-works-browser-main-content-loaded-lines:first-of-type{width:90%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(2){width:80%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(3){width:70%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(4){width:60%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(5){width:50%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(6){width:40%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(7){width:30%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(8){width:20%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(9){width:10%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(10){width:0}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(11){width:-10%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(12){width:-20%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(13){width:-30%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(14){width:-40%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(15){width:-50%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(16){width:-60%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(17){width:-70%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(18){width:-80%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(19){width:-90%}.how-curity-works-browser-main-content-loaded-lines:nth-of-type(20){width:-100%}.how-curity-works-browser-main-field{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:1rem 2rem;width:90%}.how-curity-works-browser-main-field span{background-color:#ccc;border-radius:50%;height:12px;opacity:0;position:relative;width:12px}.how-curity-works-browser-main-button{background-color:purple;border-radius:4px;color:#fff;font-family:Roboto-Medium;font-size:1.2rem;letter-spacing:.1em;padding:1rem 2rem;text-transform:uppercase;width:90%}.how-curity-works-browser-main-field-spinner{left:calc(50% - 25px);opacity:0;position:absolute;top:calc(50% - 25px);visibility:hidden}.how-curity-works-browser-main-field-spinner span{animation:spinning .5s linear infinite;border:3px solid hsla(0,0%,80%,.3);border-radius:50%;border-top-color:#ccc;display:inline-block;height:50px;width:50px}@keyframes spinning{to{transform:rotate(1turn)}}.how-curity-works-line{left:50%;opacity:0;position:absolute;top:10%;visibility:hidden;z-index:10}.how-curity-works-line-arrow{fill:var(--color-primary)}.how-curity-works-line-line{stroke:var(--color-primary);stroke-width:1;stroke-dasharray:4;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.how-curity-works-line-to-app{left:25%;opacity:0;position:absolute;top:55%;transform:scaleX(-1);visibility:hidden;z-index:10}.how-curity-works-line-to-app-arrow{fill:var(--color-primary)}.how-curity-works-line-to-app-line{stroke:var(--color-primary);stroke-width:1;stroke-dasharray:4;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.how-curity-works-line-vertical{opacity:0;position:absolute;right:-7%;top:50%;transform:rotate(90deg);visibility:hidden;z-index:10}.how-curity-works-line-vertical-arrow{fill:var(--color-primary)}.how-curity-works-line-vertical-line{stroke:var(--color-primary);stroke-width:1;stroke-dasharray:4;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.how-curity-works-line-api{left:0;opacity:0;position:absolute;top:-8%;transform:rotate(90deg) translateY(145%) translateX(90%);visibility:hidden;z-index:10}.how-curity-works-line-api-arrow{fill:var(--color-primary)}.how-curity-works-line-api-line{stroke:var(--color-primary);stroke-width:1;stroke-dasharray:4;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.how-curity-works-line-right{left:-10%;opacity:0;position:absolute;top:20%;transform:scaleX(-1);visibility:hidden;z-index:10}.how-curity-works-line-right-arrow{fill:var(--color-primary)}.how-curity-works-line-right-line{stroke:var(--color-primary);stroke-width:1;stroke-dasharray:4;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.how-curity-works-line-data{left:15%;opacity:0;position:absolute;top:75%;visibility:hidden;z-index:10}.how-curity-works-line-data-arrow{fill:var(--color-primary)}.how-curity-works-line-data-line{stroke:var(--color-primary);stroke-width:1;stroke-dasharray:4;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.how-curity-works-api,.how-curity-works-server,.how-curity-works-token,.how-curity-works-token2{align-items:center;background-color:#fff;border-radius:50%;box-shadow:0 6px 12px -2px rgba(50,50,93,.25),0 3px 7px -3px rgba(0,0,0,.3);display:flex;height:100px;justify-content:center;opacity:0;padding:1rem;position:absolute;visibility:hidden;width:100px}.how-curity-works-api img,.how-curity-works-server img,.how-curity-works-token img,.how-curity-works-token2 img{max-height:75%}.how-curity-works-token{bottom:30%;right:0;z-index:10}.how-curity-works-token2{left:-10%;top:10%;z-index:10}.how-curity-works-server{background-color:var(--color-primary);right:0;top:0;z-index:10}.how-curity-works-api{background-color:purple;left:-10%;top:65%;z-index:10}.how-curity-works-data{color:#000;font-family:Roboto-Mono,monospace;left:15%;opacity:0;position:absolute;top:68%;visibility:hidden;z-index:10}.how-curity-works-data span:first-child{color:#20b2aa}.multi-tenancy-colocated-label,.multi-tenancy-isolated-label{box-shadow:inset 0 0 0 0 #31302b;padding-left:.25rem;padding-right:.25rem;transition:all .5s ease}.multi-tenancy-colocated-label.marked,.multi-tenancy-isolated-label.marked{box-shadow:inset 100px 0 0 0 var(--color-spot)}.how-curity-works-browser-web-ui{background-attachment:fixed;background-color:#fff;background-image:none;background-size:200%;position:relative;transform:scale(1.1) translateX(-20px) translateY(0) perspective(1230px) rotateY(-30deg) rotateX(1deg) rotate(1deg)}.how-curity-works-browser-web-ui.active{transform:scale(1.1) translateX(-20px) translateY(0) perspective(1230px) rotateY(-10deg) rotateX(1deg) rotate(1deg)}.how-curity-works-browser-web-ui .how-curity-works-browser-main{backface-visibility:hidden;padding-left:100px;position:relative}.how-curity-works-browser-main-sidebar{background-color:color-mix(in srgb,var(--color-primary),#000 10%);border-bottom-left-radius:4px;height:calc(100% + 2px);justify-content:left;left:-1px;min-height:100%;position:absolute;top:-1px;width:80px}.how-curity-works-browser-web-ui hr{background-color:#f6f6f6;border:none;border-radius:1rem;display:block;height:8px;width:100%}.how-curity-works-browser-main-box{align-items:center;background-color:#fff;border:1px solid var(--color-primary);border-radius:2px;display:flex;height:30px;justify-content:center;position:relative;width:30px}.how-curity-works-browser-main-box:not(:last-child){margin-right:20px}.how-curity-works-browser-main-box:not(:last-child):after{background-color:var(--color-primary);content:"";height:1px;left:100%;position:absolute;top:50%;width:40px}.how-curity-works-browser-main-box-lg{background-color:var(--color-primary);border:1px solid var(--color-primary);height:60px;width:60px}@media(min-width:64em){.how-curity-works-browser-main-box-lg{font-size:3rem;height:90px;width:90px}}.how-curity-works-browser-main-box-lg:before{top:25%}.how-curity-works-browser-main-box-lg:after,.how-curity-works-browser-main-box-lg:before{background-color:var(--color-primary);content:"";height:1px;left:100%;position:absolute;width:40px}.how-curity-works-browser-main-box-lg:after{top:75%}.how-curity-works-browser-main-box-sm{height:30px}.how-curity-works-browser-main-box-sm img{object-fit:contain;width:16px}.how-curity-works-browser-main-pipeline .flex-30{padding-right:40px}.how-curity-works-browser-main-pipeline .flex-30>.flex:first-child{margin-bottom:1rem}.how-curity-works-browser-authenticators{background-attachment:fixed;background-color:#fff;background-color:color-mix(in srgb,var(--color-primary),#000 15%);background-image:none;background-size:200%;opacity:.4;transform:scale(1.1) translateX(-20px) translateY(30px) perspective(1230px) rotateY(-30deg) rotateX(1deg) rotate(1deg);transform:none}@media(min-width:84em){.how-curity-works-browser-authenticators{height:500px;position:absolute;width:620px}}.how-curity-works-browser-authenticators .how-curity-works-browser-main{backface-visibility:hidden;position:relative}.how-curity-works-browser-authenticators .how-curity-works-browser-main-button,.how-curity-works-browser-authenticators .how-curity-works-browser-main-content-circle,.how-curity-works-browser-authenticators .how-curity-works-browser-main-field{opacity:0}@media(min-width:64em){.how-curity-works-browser-authenticators .how-curity-works-browser-main-button,.how-curity-works-browser-authenticators .how-curity-works-browser-main-content-circle,.how-curity-works-browser-authenticators .how-curity-works-browser-main-field{opacity:.07}}.how-curity-works-browser-authenticators .how-curity-works-browser-main-button{background-color:var(--color-primary)}.action-list-item{flex:0 0 50%;padding:1rem}@media(min-width:64em){.action-list-item{flex:0 0 25%}}.action-list-item figure{align-items:center;background-color:#fff;border-radius:50%;box-shadow:0 10px 100px -20px rgba(50,50,93,.25),0 10px 20px -20px rgba(0,0,0,.3),0 -10px 20px -10px rgba(0,0,0,.025);color:#fff;display:flex;flex:none;font-size:1.5rem;height:48px;justify-content:center;margin:0;padding:0;width:48px}@media(min-width:64em){.action-list-item figure{height:80px;width:80px}}.action-list-item figure img{max-width:50%;object-fit:contain}.section-item-mobile img{max-height:300px}@media(min-width:64em){.section-item-mobile img{max-height:500px}}.how-curity-works-browser-selfservice{background-attachment:fixed;background-color:#fff;background-image:none;background-size:200%;position:relative;transform:scale(.75)}.how-curity-works-browser-selfservice .how-curity-works-browser-main-button{background-color:var(--color-primary)}.section-item-selfservice img{max-width:240px}@media(min-width:64em){.section-item-selfservice img{max-width:400px}}.section-item-sso img{max-width:300px}@media(min-width:64em){.section-item-sso img{max-width:500px}}.how-curity-works-browser-branding{background-image:none;border:8px solid #fff}@media(min-width:64em){.how-curity-works-browser-branding{margin:1rem;max-width:400px;min-width:380px}}.how-curity-works-browser-branding .how-curity-works-browser-main-content-circle{height:60px;width:60px}.how-curity-works-browser-branding .how-curity-works-browser-main-button{margin-top:.5rem}.how-curity-works-browser-branding .how-curity-works-browser-main-button,.how-curity-works-browser-branding .how-curity-works-browser-main-field{height:30px;padding:0 1rem}.how-curity-works-browser-branding .how-curity-works-browser-main-field{border:1px solid #f2f2f2}.how-curity-works-browser-branding .how-curity-works-browser-main-field span{height:8px;width:8px}.how-curity-works-browser-branding hr{background-color:rgba(0,0,0,.1);border:none;border-radius:1rem;display:block;height:8px;width:100%}.how-curity-works-browser-branding-1{background-color:#fafafa;flex:0 0 20%}@media(min-width:64em){.how-curity-works-browser-branding-1{transform:translateY(-2rem) translateX(5rem) scale(.8)}}.how-curity-works-browser-branding-2{background-color:#fafafa;flex:0 0 50%;position:relative;z-index:10}@media(min-width:64em){.how-curity-works-browser-branding-2{transform:translateY(1rem) scale(1)}}.how-curity-works-browser-branding-3{background-color:#fafafa;flex:0 0 20%}@media(min-width:64em){.how-curity-works-browser-branding-3{transform:translateY(-2rem) translateX(-5rem) scale(.8)}}.how-curity-works-browser-branding-1 .how-curity-works-browser-main-button,.how-curity-works-browser-branding-1 .how-curity-works-browser-main-content-circle{background-color:var(--color-spot)}.how-curity-works-browser-branding-2 .how-curity-works-browser-main-button,.how-curity-works-browser-branding-2 .how-curity-works-browser-main-content-circle{background-color:var(--color-primary)}.how-curity-works-browser-branding-3 .how-curity-works-browser-main-button,.how-curity-works-browser-branding-3 .how-curity-works-browser-main-content-circle{background-color:var(--color-tertiary)}.how-curity-works-browser-branding-1 .how-curity-works-browser-main-field span,.how-curity-works-browser-branding-2 .how-curity-works-browser-main-field span,.how-curity-works-browser-branding-3 .how-curity-works-browser-main-field span{background-color:var(--color-grey-light)}.true-mobile-image{max-width:280px}@media(min-width:64em){.true-mobile-image{bottom:-10rem;left:0;max-width:380px;position:absolute}}.full-control-image{max-width:380px}@media(min-width:40em){.full-control-image{bottom:-1rem;left:0;max-width:380px;position:absolute}}.maturity-model-illustration{transform:scale(.8)}@media(min-width:64em){.maturity-model-illustration{height:500px}}.maturity-model-illustration-item{left:calc(50% - 100px);max-width:200px;position:absolute}@media(min-width:64em){.maturity-model-illustration-item{bottom:0;left:calc(50% - 200px);max-width:400px}}.maturity-model-illustration-item-4{z-index:4}@media(min-width:64em){.maturity-model-illustration-item-4{bottom:360px;left:80px}}.maturity-model-illustration-item-3{z-index:3}@media(min-width:64em){.maturity-model-illustration-item-3{bottom:240px;left:60px}}.maturity-model-illustration-item-2{z-index:2}@media(min-width:64em){.maturity-model-illustration-item-2{bottom:120px;left:40px}}.maturity-model-illustration-item-1{z-index:1}@media(min-width:64em){.maturity-model-illustration-item-1{bottom:0;left:20px}}.maturity-model-arrow{display:block;margin:0 auto}@media(min-width:64em){.maturity-model-arrow{height:450px}}.authorization-animation{height:400px;transform:scale(.8) translateX(-100px) translateY(-40px);width:400px}@media(min-width:64em){.authorization-animation{height:500px;transform:scale(.9) translateX(-75px);width:500px}}img.authorization-circle{left:0;max-height:none;max-width:none;position:absolute;top:0}.authorization-api{height:225px;left:154px;position:absolute;top:230px;width:225px}.authorization-api-description{left:196px;position:absolute;top:470px;z-index:4}.authorization-data{background:#fff;border-radius:8px;box-shadow:0 3px 8px 0 rgba(0,0,0,.12);left:0;left:20%;padding:1rem 2rem;position:absolute;top:0;width:200px;z-index:2}.authorization-checkmark{border-radius:50%;height:50px;left:250px;position:absolute;top:116px;width:50px;z-index:30}.authorization-data-api{align-items:center;color:var(--color-resources-develop);display:flex;font-size:2rem;justify-content:center;left:370px;top:306px}.authorization-data-api:before{background-color:var(--color-resources-develop);content:"";height:3px;left:-40px;position:absolute;top:calc(50% - 1px);width:40px}.authorization-bank,.authorization-token,.authorization-user,.authorization-wallet{align-items:center;background-color:#fff;border-radius:50%;box-shadow:0 1px 2px 0 rgba(41,52,156,.1),0 2px 8px 0 rgba(119,120,171,.1);display:flex;height:114px;justify-content:center;margin:0;padding:1.5rem;position:absolute;width:114px;z-index:2}.authorization-bank img,.authorization-token img,.authorization-user img,.authorization-wallet img{object-fit:cover}.authorization-token{left:250px;top:-50px}.authorization-wallet{left:-50px;top:100px}.authorization-bank{left:30%;top:80%}.authorization-user{right:0;top:75px}.authorization-bank{left:-30px;top:275px}@media(min-width:64em){.authorization-bank{height:154px;padding:1.5rem;width:154px}}.authorization-data header{align-items:flex-start;display:flex;justify-content:space-between}.authorization-data header .avatar{background-color:var(--color-resources-develop);border-radius:50%;display:inline-flex;flex:none;height:34px;width:34px}.authorization-data header .credentials{display:inline-flex;flex-wrap:wrap}.authorization-data header .credentials span{background-color:var(--color-resources-develop);height:.5rem;margin-right:.25rem}.authorization-data header .credentials span:first-child{width:1rem}.authorization-data header .credentials span:nth-child(2){width:1.5rem}.authorization-data header .credentials span:nth-child(3){margin-top:.5rem;width:6rem}.authorization-data header .credentials span:nth-child(4){background-color:color-mix(in srgb,var(--color-resources-develop) 40%,#fff);margin-top:.5rem;width:1rem}.authorization-data header .credentials span:nth-child(5){background-color:color-mix(in srgb,var(--color-resources-develop) 40%,#fff);margin-top:.5rem;width:3rem}.authorization-data header .credentials span:nth-child(6){background-color:color-mix(in srgb,var(--color-resources-develop) 40%,#fff);margin-top:.5rem;width:6rem}.authorization-line{animation-delay:.7s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeIn;display:block;left:160px;opacity:0;position:absolute;top:95px;width:90%;z-index:1}.authorization-line-line{stroke:var(--color-resources-develop);stroke-width:2;stroke-dasharray:8;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.token-factory-slider{animation-direction:alternate-reverse;animation-iteration-count:infinite;animation-name:bounce;animation-timing-function:cubic-bezier(.77,0,.175,1);left:160px;position:absolute;top:142px;width:30px}.token-factory-slider1{animation-delay:.5s;animation-duration:2s;left:132px;width:30px}.token-factory-slider2{animation-delay:.5s;animation-duration:1s;left:166px;width:30px}.token-factory-slider3{animation-delay:2s;animation-duration:3s;left:200px;width:30px}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(30px)}}.token-factory-text{left:360px;position:absolute;top:10px}.token-factory-holder{height:300px;left:0;top:0;transform:scale(.8);width:600px}@media(min-width:64em){.token-factory-holder{transform:scale(1)}}.token-factory{left:0;max-width:none;top:0;width:600px}.token-factory-line{animation-delay:.7s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeIn;left:220px;opacity:0;position:absolute;top:0;transform:scaleX(-1);width:120px;z-index:10}.token-factory-line-arrow{fill:var(--color-resources-develop)}.token-factory-line-line{stroke:var(--color-resources-develop);stroke-width:.05rem;stroke-dasharray:8;animation-delay:.95s;animation-direction:reverse;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.token-factory-input{background:#fff;border-radius:8px;box-shadow:0 3px 8px 0 rgba(0,0,0,.12);left:340px;padding:1rem 2rem;position:absolute;text-align:left;top:-20px;width:230px;z-index:2}.token-factory-input ol{font-size:.75rem}.tab-group.tab-group-everything-through-configuration>div[data-item]{background-color:#fff;border-radius:6px;padding:1rem}@media(min-width:74em){.tab-group.tab-group-everything-through-configuration>div[data-item]{padding:3rem}}.oauth-toolbox-item{background-color:transparent;box-shadow:none;padding:1rem;position:relative;text-align:center}.oauth-toolbox-item figure{align-items:center;background-color:#fff;border-radius:50%;box-shadow:0 3px 6px -2px rgba(50,50,93,.25),0 3px 5px -2px rgba(0,0,0,.1);display:flex;height:96px;justify-content:center;padding:1.5rem;width:96px}@media(min-width:74em){.oauth-toolbox-item figure{height:116px;width:116px}}.oauth-toolbox-item img{max-height:85%;object-fit:contain}.oauth-toolbox-item li{color:#fff}.oauth-features{grid-column-gap:2rem;grid-row-gap:1rem;display:grid;grid-auto-rows:1fr;grid-template-columns:1fr;grid-template-rows:auto;margin:0 auto;position:relative;z-index:2}@media(min-width:52em){.oauth-features{grid-template-columns:1fr 1fr}}@media(min-width:84em){.oauth-features{grid-row-gap:0;align-items:center;grid-template-columns:repeat(6,minmax(140px,1fr));grid-template-rows:repeat(5,minmax(0,1fr))}}.oauth-features-column-item{background-color:#fff;border-radius:8px;box-shadow:0 20px 20px 0 rgba(20,52,92,.18);min-height:180px;position:relative;text-align:left}.oauth-features-column-item.oauth-features-column-item-client-features header{cursor:pointer}.oauth-features-column-item-token{grid-column:1/-1;grid-row-start:1}.oauth-features-column-item button{background-color:var(--color-resources-develop);border-bottom:1px solid #d8d8d8;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:none;padding:.85rem 1.45rem}.oauth-features-column-item.oauth-features-column-item-client-features button{background-color:var(--color-primary)}.oauth-features-column-item button:hover .icon{background-color:var(--color-resources-develop);color:#fff}.oauth-features-column-item button .icon{align-items:center;background-color:#fff;border-radius:50%;color:var(--color-resources-develop);cursor:pointer;display:flex;flex:none;height:24px;justify-content:center;transition:background-color .2s;width:24px}.oauth-features-column-item button .icon:hover{color:#fff}@media(min-width:84em){.oauth-features-column-item-token{grid-column-end:5;grid-column-start:3;grid-row-end:5;grid-row-start:2}.oauth-features-column-item-purpose{grid-column-end:2;grid-column-start:1;grid-row-end:6;grid-row-start:1}.oauth-features-column-item-scopes{grid-column-end:2;grid-column-start:2;grid-row-end:3;grid-row-start:1}.oauth-features-column-item-formats{grid-column-end:3;grid-column-start:2;grid-row-end:6;grid-row-start:4}.oauth-features-column-item-claims{grid-column-end:6;grid-column-start:5;grid-row-end:3;grid-row-start:1}.oauth-features-column-item-revocations{grid-column-end:6;grid-column-start:5;grid-row-end:6;grid-row-start:4}.oauth-features-column-item-protections{grid-column-end:6;grid-column-start:6;grid-row-end:6;grid-row-start:1}}.oauth-features-column-item-line{display:none;height:110px;opacity:.5;position:absolute;width:110px;z-index:-1}@media(min-width:84em){.oauth-features-column-item-line{display:block}}.oauth-features-column-item-line-protections{height:4px;left:-300px;top:calc(50% - 2px);width:300px}.oauth-features-column-item-line-purpose{height:4px;left:100%;right:100%;top:calc(50% - 2px);width:300px}.oauth-features-column-item-line-scopes{right:-80px;top:40%}.oauth-features-column-item-line-formats{right:-80px;top:-10px;transform:scaleY(-1)}.oauth-features-column-item-line-claims{left:-80px;top:40%;transform:scaleX(-1)}.oauth-features-column-item-line-revokable{left:-80px;top:-10px;transform:scaleX(-1) scaleY(-1)}.oauth-features-column-item h4{color:#fff;font-family:Roboto-Medium;font-size:.9rem;letter-spacing:.03em;position:relative}.oauth-features-column-item ul{margin:1rem}.oauth-features-column-item li{font-size:.85rem}.oauth-features-column-item header{background-color:var(--color-resources-develop);border-bottom:1px solid #d8d8d8;border-top-left-radius:8px;border-top-right-radius:8px;padding:.85rem 1.45rem}.oauth-features-column-item.oauth-features-column-item-client-features header{background-color:var(--color-primary)}.oauth-features-column-item header:hover .icon{background-color:var(--color-resources-develop);color:#fff}.oauth-features-column-item header .icon{align-items:center;background-color:#fff;border-radius:50%;color:var(--color-resources-develop);cursor:pointer;display:flex;flex:none;height:24px;justify-content:center;transition:background-color .2s;width:24px}.oauth-features-column-item [tooltip]:after{min-width:200px}.oauth-features-column-item-token{align-items:center;background:transparent;border-radius:8px;box-shadow:none;display:flex;flex-direction:column;height:300px;justify-content:center;padding:1rem 2rem;position:relative;width:100%;z-index:2}.oauth-features-column-item-token img{min-height:120px}@media(min-width:84em){.oauth-features-column-item-token img{min-height:150px}}.oauth-features-column-item-token.oauth-features-column-item-clients img{min-height:150px}@media(min-width:74em){.oauth-features-column-item-token.oauth-features-column-item-clients img{min-height:150px}}.pulse{animation:pulse 2s infinite;border:3px solid rgba(var(--color-primary),.2);border-radius:100%;height:100px;left:calc(50% - 50px);opacity:.3;position:absolute;top:calc(50% - 50px);width:100px;z-index:1}.pulse-big{animation-delay:.3s;border:3px solid rgba(var(--color-primary),.2);height:95px;width:95px}@keyframes pulse{0%{transform:scale(1)}to{opacity:0;transform:scale(2.5)}}.examples-grid-item-line{fill:transparent;animation-delay:.7s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeIn;opacity:0}.examples-grid-item-line-reverse-x{transform:scaleX(-1)}.examples-grid-item-line-reverse-y{transform:scaleY(-1)}.examples-grid-item-line-reverse-xy{transform:scaleX(-1) scaleY(-1)}.examples-grid-item-line-line{stroke:#cfd7df;stroke-width:2;stroke-dasharray:8;animation-delay:.95s;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.examples-grid-item-line-line-reversed{animation-direction:reverse}.examples-grid-item-line-arrow{fill:#cfd7df}.examples-grid{grid-gap:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,max-content));justify-content:center;margin:0 auto;max-width:85%}.examples-grid.examples-grid-oauth-for-web{grid-template-columns:90px 90px 90px 90px 160px 90px 90px 90px 90px}.examples-grid.examples-grid-microservices{grid-template-columns:repeat(9,minmax(80px,100px))}.examples-grid.examples-grid-banking{grid-template-columns:repeat(5,minmax(80px,100px))}.examples-grid.examples-grid-mesh{grid-template-columns:repeat(7,minmax(80px,100px))}.examples-grid.examples-grid-support{grid-template-columns:repeat(5,minmax(80px,100px))}.examples-grid p{line-height:1.2}.filter-scroller{overflow-x:auto;overflow:auto;white-space:nowrap}.filter{align-items:center;display:flex;list-style:none;margin:0;padding:0}.filter li:not(:last-child){margin-right:1rem}.filter label{font-size:1rem}.checkbox{align-items:center;display:inline-flex;position:relative}.checkbox-visible{background:#fff;border:1px solid #ccc;border-radius:2px;height:22px;position:absolute;width:22px}.checkbox input:checked+.checkbox-visible{background:var(--color-primary);background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJNNS4zNzggMTEuMzcgMiA3LjU5bDEuNDM4LTEuMjg2TDUuMzc0IDguNDdsNS4xODUtNS44NEwxMiAzLjkxbC02LjYyMiA3LjQ2Ii8+PC9zdmc+);background-position:50%;background-repeat:no-repeat;background-size:16px;border-color:var(--color-primary)}.checkbox input:focus+.checkbox-visible,.checkbox input:hover:checked+.checkbox-visible{border-color:var(--color-primary)}.checkbox span{display:inline-flex;margin-left:.5rem;-webkit-user-select:none;user-select:none}.checkbox-reset span{font-weight:700}.filter.examples-grid-mesh-filter{background-color:color-mix(in srgb,var(--color-resources-develop) 20%,#fff);border-radius:8px;line-height:normal;padding:6px}.filter.examples-grid-mesh-filter li .checkbox span{margin:0}.filter.examples-grid-mesh-filter li:not(:last-child){margin-right:.25rem}.examples-grid-mesh-filter .checkbox-visible,.examples-grid-mesh-filter input{display:none}.examples-grid-mesh-filter label{background-color:transparent;border-radius:4px;cursor:pointer;line-height:normal;padding:.15rem .75rem;transition:background-color .3s ease}.examples-grid-mesh-filter label.active,.examples-grid-mesh-filter label:hover{background-color:#fff}.examples-grid-item-first{grid-column:1/2}.examples-grid-item{align-items:center;display:flex;flex-direction:column;justify-content:center}.examples-grid-support .examples-grid-item:first-child img{max-height:75px}.examples-grid-item-center{grid-column:5/6}.examples-grid-item-token-large{height:140px;width:140px}.examples-grid-item-token-small{background-color:#fff;border-radius:50%;box-shadow:0 0 3px 0 rgba(0,0,0,.05),0 3px 10px 0 rgba(0,0,0,.01),0 18px 30px -10px rgba(75,82,94,.099);height:40px;padding:.5rem;width:40px}.examples-grid-item-token-group .examples-grid-item-token-small{position:absolute;right:-1rem;top:50%}.examples-grid-item-token-group .examples-grid-item-token-red{right:35%}.examples-grid-item-token-group .examples-grid-item-token-blue{right:10%}.examples-grid-item-token-red{border:1px solid red}.examples-grid-item-token-blue{border:1px solid blue}.zone{transition:opacity .5s ease}.examples-grid-mesh.examples-grid-mesh-zone-embed .zone:not(.zone-embed),.examples-grid-mesh.examples-grid-mesh-zone-exchange .zone:not(.zone-exchange),.examples-grid-mesh.examples-grid-mesh-zone-share .zone:not(.zone-share){opacity:.2}.examples-grid-mesh.examples-grid-mesh-zone-embed.examples-grid-mesh-zone-embed .zone-embed,.examples-grid-mesh.examples-grid-mesh-zone-embed.examples-grid-mesh-zone-exchange .zone-exchange{opacity:1}.examples-grid-mesh.examples-grid-mesh-zone-embed.examples-grid-mesh-zone-exchange .zone:not(.zone-embed):not(.zone-exchange){opacity:.2}.examples-grid-mesh.examples-grid-mesh-zone-exchange.examples-grid-mesh-zone-share .zone-exchange,.examples-grid-mesh.examples-grid-mesh-zone-exchange.examples-grid-mesh-zone-share .zone-share{opacity:1}.examples-grid-mesh.examples-grid-mesh-zone-exchange.examples-grid-mesh-zone-share .zone:not(.zone-exchange):not(.zone-share){opacity:.2}.examples-grid-mesh.examples-grid-mesh-zone-embed.examples-grid-mesh-zone-embed .zone-embed,.examples-grid-mesh.examples-grid-mesh-zone-embed.examples-grid-mesh-zone-share .zone-share{opacity:1}.examples-grid-mesh.examples-grid-mesh-zone-embed.examples-grid-mesh-zone-share .zone:not(.zone-embed):not(.zone-share){opacity:.2}.examples-grid-mesh.examples-grid-mesh-zone-embed.examples-grid-mesh-zone-exchange.examples-grid-mesh-zone-share .zone{opacity:1!important}.mtls-tunnel{animation-delay:0s;animation-direction:reverse;animation-duration:2s;animation-fill-mode:none;animation-iteration-count:infinite;animation-name:cssProgressActiveRight;animation-play-state:running;animation-timing-function:linear;background:color-mix(in srgb,var(--color-resources-develop) 20%,#fff);background-image:linear-gradient(-45deg,hsla(0,0%,100%,.125) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.125) 0,hsla(0,0%,100%,.125) 75%,transparent 0,transparent);background-size:35px 35px;box-shadow:inset 0 -1px 2px rgba(0,0,0,.1);height:20px;position:relative;width:100%}.mtls-tunnel:before{left:-5px}.mtls-tunnel:after,.mtls-tunnel:before{background-color:#fff;border:2px solid var(--color-resources-develop);border-radius:50%;content:"";height:20px;position:absolute;width:10px}.mtls-tunnel:after{left:auto;right:-5px}@keyframes cssProgressActiveRight{0%{background-position:0 0}to{background-position:-35px -35px}}.tab-completion{background-color:#000;border:4px solid #000;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.07),0 4px 8px rgba(0,0,0,.07),0 8px 16px rgba(0,0,0,.07),0 16px 32px rgba(0,0,0,.07),0 32px 64px rgba(0,0,0,.07);left:88px;overflow:hidden;position:absolute;top:4.5rem;width:200px;z-index:1}.tab-completion pre{color:#add8e6;margin:0}@keyframes fadeInAndOut{0%{opacity:0}to{opacity:1}}.tab-completion-cursor{animation:typing 3.6s steps(8),blink-caret .75s step-end infinite;border-right:.15em solid orange;font-family:Roboto-Mono,monospace;font-size:.7rem;font-weight:600;letter-spacing:.15em;overflow:hidden;white-space:nowrap;width:80px}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:orange}}.api-driven-management{grid-gap:1rem;align-content:center;align-items:center;display:grid;grid-template-columns:1fr;grid-template-rows:1fr .5fr 2fr .5fr 2fr;justify-content:center}@media(min-width:52em){.api-driven-management{grid-template-columns:1fr .5fr 2fr .5fr 2fr;grid-template-rows:repeat(5,1fr)}}.api-driven-management img{display:block;object-fit:cover;width:100%}.api-driven-management svg{max-height:none}.api-driven-management-scim{align-self:center;grid-column:1/-1;justify-self:center}@media(min-width:52em){.api-driven-management-scim{grid-column:initial;grid-row:1/-1}}.api-driven-management-arrow{align-self:center;grid-column:1/-1;justify-self:center}@media(min-width:52em){.api-driven-management-arrow{grid-column:initial;grid-row:1/-1}}.api-driven-management-scim img{max-height:46px;min-width:270px;object-fit:contain}.api-driven-management-main{align-self:center;grid-column:1/-1;justify-self:center}@media(min-width:52em){.api-driven-management-main{grid-column:initial;grid-row:1/-1}}.api-driven-management-main img{max-width:160px;padding:1rem;width:100%}@media(min-width:52em){.api-driven-management-main img{max-width:200px;min-width:200px}}.api-driven-management-database{align-self:center;justify-self:center;text-align:center}.api-driven-management-database img{height:50px;object-fit:contain;width:50px}.api-drive-management-line{fill:transparent;animation-delay:.7s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeIn;opacity:0;transform:scaleX(-1) rotate(-90deg) scale(.8)}@media(min-width:52em){.api-drive-management-line{transform:scaleX(-1) scale(1)}}.api-drive-management-line-line{stroke:var(--color-tertiary);stroke-width:2;stroke-dasharray:8;animation-delay:.95s;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.api-drive-management-line-arrow{fill:var(--color-tertiary)}.examples-grid-item-stack-symbol{align-items:center;background-color:#fff;border-radius:50%;color:var(--color-tertiary);display:flex;font-size:2rem;height:30px;justify-content:center;position:absolute;right:5px;top:-15px;width:30px;z-index:10}.api-driven-connections{align-self:center;display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:52em){.api-driven-connections{gap:1rem;grid-column:initial;grid-row:1/-1}}.mock-ui-c-pill{background-color:var(--color-primary);border-radius:8px;color:#fff;display:inline-flex;font-size:.75rem;padding:.25rem 1rem}.mock-ui-c-field{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:.65rem 1rem}.mock-ui-c-field span{background-color:#ccc;border-radius:50%;height:8px;position:relative;width:8px}@media(min-width:64em){.mock-ui-webui{justify-content:flex-end}}.mock-ui-webui.step2 .mock-ui-c-field span{animation-delay:.3s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:bounceIn;opacity:0}.mock-ui-webui.step2 .mock-ui-c-field span:nth-child(2){animation-delay:.4s}.mock-ui-webui.step2 .mock-ui-c-field span:nth-child(3){animation-delay:.5s}.mock-ui-webui.step2 .mock-ui-c-field span:nth-child(4){animation-delay:.6s}.mock-ui-webui.step2 .mock-ui-c-field span:nth-child(5){animation-delay:.7s}.mock-ui-webui.step2 .mock-ui-c-field span:nth-child(6){animation-delay:.8s}.mock-ui-c-facilities .button-success-outline{backface-visibility:hidden}.mock-ui-webui.step1 .mock-ui-c-facilities .button-success-outline{animation-delay:0s;animation-duration:.2s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:bounceScale;background-color:var(--color-success);color:#fff}.configuration-circle{background-color:color-mix(in srgb,var(--color-primary) 30%,#fff);border:3px solid #f6f6f6;box-shadow:0 3px 8px 0 rgba(0,0,0,.12);display:none;font-family:Roboto-Medium,sans-serif;font-size:.85rem;height:90px;left:0;margin-left:auto;margin-right:auto;position:absolute;right:0;top:-45px;width:90px}@media(min-width:74em){.configuration-circle{display:flex;font-size:1.2rem;height:140px;top:-70px;width:140px}}.configuration-circle img{transform:translate(30px);width:100px}.configuration-line{fill:none;stroke:color-mix(in srgb,var(--color-primary) 45%,#fff);stroke-miterlimit:10;stroke-width:4;padding-right:1rem}@media(min-width:74em){.configuration-line{stroke-width:1}}.mock-ui-c-facilities{background-color:#fff;border-radius:4px;box-shadow:0 6px 12px -2px rgba(50,50,93,.25),0 3px 7px -3px rgba(0,0,0,.3);color:var(--color-primary);padding:.35rem 1rem;position:relative}@media(min-width:74em){.mock-ui-c-facilities{max-width:500px}}.mock-ui-c-facilities li{color:#666;font-size:.85rem;padding:.35rem 1rem}.mock-ui-c-facilities-modal{left:0;opacity:0;position:absolute;top:-1rem;z-index:5}@media(min-width:74em){.mock-ui-c-facilities-modal{left:-25%;min-width:300px;top:-4rem}}.mock-ui-webui.step3 .mock-ui-c-facilities-modal{animation-delay:1s;animation-duration:.2s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideInBottom}.mock-ui-webui.step5 .mock-ui-c-checkmark-circle{animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.mock-ui-webui.step5 .mock-ui-c-checkmark{animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.mock-ui-webui.step5 .mock-ui-c-checkmark-check{animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}.mock-ui-c-checkmark-circle{fill:none;stroke:var(--color-success);stroke-dasharray:166;stroke-dashoffset:166;stroke-miterlimit:10;stroke-width:2}.mock-ui-c-checkmark{stroke:#fff;stroke-miterlimit:10;stroke-width:2;border-radius:50%;bottom:-23px;box-shadow:inset 0 0 0 var(--color-success);display:block;height:46px;left:calc(50% - 23px);position:absolute;width:46px}.mock-ui-c-checkmark-check{stroke-dasharray:48;stroke-dashoffset:48;transform-origin:50% 50%}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px var(--color-success)}}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:first-of-type span{animation-delay:1.3s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:bounceIn;opacity:0}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:first-of-type span:nth-child(2){animation-delay:1.4s}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:first-of-type span:nth-child(3){animation-delay:1.5s}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:first-of-type span:nth-child(4){animation-delay:1.6s}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:first-of-type span:nth-child(5){animation-delay:1.7s}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:first-of-type span:nth-child(6){animation-delay:1.8s}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:nth-of-type(2) span{animation-delay:1.9s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:bounceIn;opacity:0}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:nth-of-type(2) span:nth-child(2){animation-delay:2s}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:nth-of-type(2) span:nth-child(3){animation-delay:2.1s}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:nth-of-type(2) span:nth-child(4){animation-delay:2.2s}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:nth-of-type(2) span:nth-child(5){animation-delay:2.3s}.mock-ui-webui.step3 .mock-ui-c-facilities-modal .mock-ui-c-field:nth-of-type(2) span:nth-child(6){animation-delay:2.4s}.cli-example-header{background:#282a36;border-top-left-radius:8px;border-top-right-radius:8px;padding:1rem 2rem;position:relative;top:4px}.cli-example-header span{background-color:var(--color-primary-light);border-radius:50%;display:inline-block;height:16px;margin-right:1rem;width:16px}.cli-example pre{word-wrap:normal;margin-top:0;min-height:100px}.cli-example pre .output{color:var(--color-tertiary)}.typed-cursor{display:none;opacity:0}.cli-example pre:after{animation:blink .7s infinite;background-color:var(--color-spot);content:"";display:inline-block;font-weight:700;height:16px;line-height:1;margin-left:.5rem;vertical-align:middle;width:4px}@keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.mock-ui-c-checkmark-cli{bottom:auto;top:-79px}.mock-ui-c-checkmark-cli.finished .mock-ui-c-checkmark-circle{animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.mock-ui-c-checkmark-cli.finished{animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.mock-ui-c-checkmark-cli.finished .mock-ui-c-checkmark-check{animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}.restconf-animation{align-items:center;display:flex;justify-content:center}.restconf-animation-lines{flex-direction:column}.restconf-animation-lines,.restconf-animation-lines-holder{align-items:center;display:flex}.restconf-animation-line{width:100px}.restconf-animation-lines-holder .restconf-animation-line-line{stroke:#fff;animation-delay:.95s;animation-duration:40.5s}.restconf-animation-line-arrow{fill:#fff}.restconf-animation-lines-holder:not(:last-child){margin-bottom:1rem}.restconf-animation-lines-holder .pill{border-radius:4px;color:#fff;display:inline-block;font-size:.65rem;padding:.25rem 1rem;text-align:center;width:90px}@media(min-width:74em){.restconf-animation-lines-holder .pill{font-size:.75rem}}.restconf-animation-lines-holder-get .pill{background-color:var(--color-primary)}.restconf-animation-lines-holder-get .restconf-animation-line-line{stroke:var(--color-primary)}.restconf-animation-lines-holder-get .restconf-animation-line-arrow{fill:var(--color-primary)}.restconf-animation-lines-holder-post .pill{background-color:color-mix(in srgb,var(--color-primary),#000 10%)}.restconf-animation-lines-holder-post .restconf-animation-line-line{stroke:var(--color-primary)}.restconf-animation-lines-holder-post .restconf-animation-line-arrow{fill:var(--color-primary)}.restconf-animation-lines-holder-update .pill{background-color:color-mix(in srgb,var(--color-primary),#000 15%)}.restconf-animation-lines-holder-update .restconf-animation-line-line{stroke:var(--color-primary)}.restconf-animation-lines-holder-update .restconf-animation-line-arrow{fill:var(--color-primary)}.restconf-animation-lines-holder-patch .pill{background-color:color-mix(in srgb,var(--color-primary),#000 20%)}.restconf-animation-lines-holder-patch .restconf-animation-line-line{stroke:var(--color-primary)}.restconf-animation-lines-holder-patch .restconf-animation-line-arrow{fill:var(--color-primary)}.restconf-animation-lines-holder-head .pill{background-color:color-mix(in srgb,var(--color-primary),#000 27%)}.restconf-animation-lines-holder-head .restconf-animation-line-line{stroke:var(--color-primary)}.restconf-animation-lines-holder-head .restconf-animation-line-arrow{fill:var(--color-primary)}.restconf-animation-lines-holder-put .pill{background-color:color-mix(in srgb,var(--color-primary),#000 30%)}.restconf-animation-lines-holder-put .restconf-animation-line-line{stroke:var(--color-primary)}.restconf-animation-lines-holder-put .restconf-animation-line-arrow{fill:var(--color-primary)}.restconf-animation-lines-holder-delete .pill{background-color:color-mix(in srgb,var(--color-primary),#000 35%)}.restconf-animation-lines-holder-delete .restconf-animation-line-line{stroke:var(--color-primary)}.restconf-animation-lines-holder-delete .restconf-animation-line-arrow{fill:var(--color-primary)}.restconf-animation-server{margin-left:2rem;width:150px}.restconf-animation-line{fill:transparent;animation-delay:.7s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeIn;opacity:0;transform:scaleX(-1)}.restconf-animation-line-line{stroke-width:2;stroke-dasharray:8;animation-delay:.95s;animation-duration:20.5s;animation-iteration-count:infinite;animation-name:dash;animation-timing-function:linear}.restconf-animation-line-arrow{fill:#cfd7df}.code-editor-fadeout{max-height:240px;overflow:hidden}.code-editor-fadeout:after{background-image:linear-gradient(transparent,#fff 95%);bottom:0;content:"";height:120px;left:0;position:absolute;text-align:center;width:100%;z-index:1}.code-editor-fadeout .button-copy-code{visibility:hidden}.code-editor-fadeout pre[class*=language-]{margin:0;padding-left:1rem}.code-editor-fadeout .line-numbers-rows{display:none}.examples-grid.examples-grid-on-premise{border-radius:12px;grid-template-columns:4fr 1fr 1fr 1fr 1fr 1fr;min-width:1000px}.pulse-on-premise{border:3px solid #fff;display:none;left:auto;right:48px;top:86px}@media(min-width:40em){.pulse-on-premise{display:block}}.examples-grid.examples-grid-one-cloud{grid-template-columns:3fr 1fr 1fr 1fr 1fr 1fr;min-width:1000px}.pulse-one-cloud{border:3px solid #fff;left:calc(50% - 40px)}.one-cloud-k8s,.pulse-one-cloud{height:80px;top:-40px;width:80px}.one-cloud-k8s{align-items:center;background-color:#fff;border-radius:50%;display:flex;justify-content:center;left:0;margin-left:auto;margin-right:auto;padding:.5rem;position:absolute;right:0}.pulse-multi-cloud{border:3px solid #fff;height:60px;left:calc(50% - 30px);top:-30px;width:60px}.examples-grid.examples-grid-multi-cloud-wrapper{grid-gap:2rem;display:initial;grid-template-columns:1fr 1fr 1fr;max-width:none}.examples-grid.examples-grid-multi-cloud-wrapper .examples-grid.examples-grid-one-cloud{margin-bottom:4rem;min-width:unset}@media(min-width:64em){.examples-grid.examples-grid-multi-cloud-wrapper{display:grid}}.examples-grid.examples-grid-multi-cloud{grid-template-columns:3fr 1fr 1fr 1fr 1fr 1fr}.examples-grid.examples-grid-multi-cloud-wrapper .examples-grid-item-line-line,.examples-grid.examples-grid-one-cloud .examples-grid-item-line-line{stroke:var(--color-primary)}.examples-grid.examples-grid-multi-cloud-wrapper .examples-grid-item-line-arrow,.examples-grid.examples-grid-one-cloud .examples-grid-item-line-arrow{fill:var(--color-primary)}.examples-grid.examples-grid-multi-cloud-wrapper .examples-grid.examples-grid-one-cloud{grid-gap:.5rem;grid-template-columns:1fr .25fr 1fr .25fr 1fr}.examples-grid-item-span{grid-column:1/-1;grid-row-start:1}.examples-grid.examples-grid-multi-cloud-wrapper .one-cloud-k8s{height:60px;top:-30px;width:60px}.intro-animation .alarm-pulse{background-color:var(--color-danger);border-radius:50%;display:inline-flex;height:10px;position:relative;transform:scale(1) rotateX(60deg) rotateY(0deg) rotate(-45deg);width:10px;will-change:transform}.examples-grid-item-line-line-alarms{stroke:#ad2021}.examples-grid-item-line-arrow-alarms{fill:#ad2021}.intro-animation .alarm-pulse-large{display:none;height:40px;left:130px;position:absolute;top:174px;width:40px;z-index:10}@media(min-width:74em){.intro-animation .alarm-pulse-large{display:block;left:264px;top:430px}}@media(min-width:140em){.intro-animation .alarm-pulse-large{left:360px;top:430px}}.intro-animation .alarm-pulse:before{background-color:var(--color-danger);border-radius:100%;content:"";height:100%;left:0;position:absolute;top:0;width:100%;will-change:transform;z-index:-1}@media(min-width:84em){.intro-animation .alarm-pulse:before{animation:alarm_pulse 1.5s infinite}}.intro-animation .alarm-pulse.alarm-pulse-large{background-color:transparent}@keyframes alarm_pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(8)}to{opacity:0;transform:scale(1)}}.alarm-chain-of-events{grid-gap:1rem;display:grid;grid-template-columns:1fr;grid-template-rows:1fr .5fr 1fr .5fr 1fr .5fr}@media(min-width:52em){.alarm-chain-of-events{grid-template-columns:2fr .5fr 2fr .5fr 2fr .5fr 2fr;grid-template-rows:repeat(1,1fr)}}.alarm-chain-of-events-item{align-self:center;justify-self:center;text-align:center}.alarm-chain-of-events-item-reports{display:grid;grid-template-columns:repeat(3,1fr)}@media(min-width:52em){.alarm-chain-of-events-item-reports{display:initial}}.alarm-chain-of-events-arrow{align-self:center;justify-self:center}.alarm-chain-of-events-arrow .examples-grid-item-line{width:80px}@media(min-width:52em){.alarm-chain-of-events-arrow .examples-grid-item-line{width:150px}}.alarm-chain-of-events-arrow .examples-grid-item-line{transform:scaleX(-1) rotate(-90deg) scale(.8)}@media(min-width:52em){.alarm-chain-of-events-arrow .examples-grid-item-line{transform:scaleX(-1) scale(1)}}.plans-edition{background-color:#fff;border-radius:8px;flex:0 0 20%;overflow:hidden}.plans-edition-table{border:none}.plans-edition-table td,.plans-edition-table th{border:none;font-size:.875rem;vertical-align:middle}.plans-edition-table tr.hovered td{background-color:color-mix(in srgb,var(--color-primary) 15%,#fff);color:#fff}.plans-edition-table tr.hovered .icon{color:#fff}.plans-edition-table tr:first-child{border-top:none}.plans-item h4{color:#fff;overflow:hidden;padding:1rem}@media(min-width:64em){.plans-item h4{padding:1rem 1.2rem}}.plans-item ol,.plans-item p,.plans-item ul{font-size:.9rem}.plans-item ul li .icon,.plans-item ul li.icon{line-height:1}.plans-edition.plans-edition-token-handler .plans-item h4{background-color:color-mix(in srgb,var(--color-primary),#000 5%)}.plans-edition.plans-edition-community .plans-item h4{background-color:color-mix(in srgb,var(--color-primary),#000 10%)}.plans-edition.plans-edition-basic .plans-item h4{background-color:color-mix(in srgb,var(--color-primary),#000 40%)}.plans-edition.plans-edition-standard .plans-item h4{background-color:var(--color-resources-develop)}.plans-edition.plans-edition-enterprise .plans-item h4{background-color:var(--color-spot)}.plan-comparison-scroller{-webkit-overflow-scrolling:touch;margin:0 auto;max-width:90em;overflow-x:scroll}@media(min-width:74em){.plan-comparison-scroller{margin-bottom:2rem;overflow-x:initial}}@media(min-width:140em){.plan-comparison-scroller{max-width:100em}}.plans-edition-ps{border:1px solid #f6f6f6;box-shadow:0 10px 30px 0 rgba(0,0,0,.16)}.plans-edition.plans-edition-ps:first-child .plans-item h2{background-color:var(--color-primary)}.plans-edition.plans-edition-ps:nth-child(2) .plans-item h2{background-color:color-mix(in srgb,var(--color-primary),#000 20%)}.plans-edition.plans-edition-ps:nth-child(3) .plans-item h2{background-color:var(--color-spot)}.plan-comparison{background-color:#fff;border-radius:6px;display:grid;grid-template-columns:2fr repeat(4,1fr);padding:1rem;white-space:nowrap;width:80rem}@media(min-width:64em){.plan-comparison{padding:1.5rem;white-space:normal;width:auto}}.plan-comparison-item{padding:1rem .5rem}.plan-comparison-item-community{background-color:color-mix(in srgb,var(--color-primary) 10%,#fff)}.plan-comparison-item-basic{background-color:var(--color-grey-subtle)}.plan-comparison-item-standard{background-color:color-mix(in srgb,var(--color-resources-develop) 40%,#fff)}.plan-comparison-item-enterprise{background-color:color-mix(in srgb,var(--color-spot) 20%,#fff)}.plan-comparison-item-sticky-compare{background-color:#fff;position:sticky;top:50px;z-index:20}.plan-comparison-item-sticky{background-color:#fff;border-bottom:none;position:sticky;top:var(--header-height);z-index:10}.plan-comparison-item-sticky-spread{grid-column:1/-1}.plan-comparison-item{font-size:.85rem}@media(min-width:64em){.plan-comparison-item{font-size:.85rem}}.plan-comparison-item-feature{text-align:center}.plan-comparison-item-transparent{background-color:transparent;visibility:hidden}.ref,a.ref{align-items:center;border-radius:4px;display:inline-flex;font-size:80%;padding-right:.45rem;position:relative}@media print{.ref,a.ref{all:unset}}.ref:hover,a.ref:hover{color:currentColor;text-decoration:none}@media print{.ref .icon,a.ref .icon{display:none}}.ref .icon:first-child,a.ref .icon:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-right:.25rem;padding-left:.45rem;padding-right:.45rem}.ref-docs:hover,a.ref-docs:hover{color:#fff}.ref-cross{background-color:var(--color-inline-code);color:var(--color-primary)}.ref-cross:hover .icon:first-child{background-color:var(--color-primary);color:#fff}.ref-cross .icon:first-child{background-color:var(--color-inline-code);color:currentColor}.ref-docs{background-color:var(--color-primary)}.ref-docs,.ref-docs:hover{color:#fff}.ref-docs .icon:first-child{background-color:var(--color-primary);color:#fff}.ref-docs .icon:nth-child(2){color:#fff}.article-main{margin:0 auto;max-width:60em}@media(min-width:40em){.article-main{display:flex;padding-left:1em;padding-right:1em}}@media(min-width:64em){.article-main{max-width:90em;padding-left:2em;padding-right:2em}}@media(min-width:74em){.article-main{max-width:110em}}@media(min-width:84em){.article-main{max-width:120em}}.article-sidebar{background-color:#fff;left:0;opacity:0;overflow-y:visible;position:fixed;top:calc(var(--header-height) + 60px);transform:translateY(-300px);transition:opacity .4s;visibility:hidden;width:100%;z-index:10}@media(min-width:64em){.article-sidebar{display:block;min-width:260px;opacity:1;position:sticky;transform:none;transition:none;visibility:visible;width:25%;z-index:auto}}@media(min-width:114em){.article-sidebar{width:460px}}.article-sidebar.active{opacity:1;transform:translateY(0);visibility:visible}.article-content{width:100%}@media(min-width:52em){.article-content{display:flex}}@media(min-width:64em){.article-content{width:75%}}.article-nav-wrapper{display:block;overflow-y:auto;position:sticky;top:calc(var(--header-height) + var(--resources-header-height))}.article-sidebar-panel{border-right:1px solid #ddd;height:calc(100vh - 200px)}@media(min-width:52em){.article-content:has(.article-toc) .article-text{width:calc(100% - 320px)}}@media(min-width:52em){.article-text-full{flex:0 0 100%;max-width:none}}.article-text-full [itemprop=articleBody]{max-width:none}body.careers,body.resources{margin-top:calc(var(--header-height) + var(--resources-header-height))}@media(min-width:52em){body.product-feature,body.solutions{margin-top:calc(var(--header-height) + var(--resources-header-height))}}@media(min-width:64em){body.resources.guides{margin-top:calc(var(--header-height) + var(--resources-header-height) + var(--resources-guides-header-height))}}.resources-topic-card-list{border:1px solid #ededed;border-radius:6px}.resources-topic-card-list li{margin:0}.resources-topic-card-list li:first-child a{border-top-left-radius:6px;border-top-right-radius:6px}.resources-topic-card-list li:last-child a{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.resources-topic-card-list a{font-size:.9rem;padding:.5rem 1rem;transition:box-shadow .2s,background-color .2s}.resources-topic-card-list a:hover{box-shadow:0 0 2px 0 rgba(0,0,0,.06),0 4px 16px 0 rgba(0,0,0,.12);text-decoration:none}.resources-topic-card-list a:active{background-color:#f6f6f6;box-shadow:none}.resources-topic-card-list li:not(:last-child) a{border-bottom:1px solid #ededed}.resources-topic-card-list .bg-tutorials{background-color:var(--color-primary)}.resources-topic-card-list .bg-develop{background-color:var(--color-resources-develop)}.resources-topic-card-list .bg-architect{background-color:var(--color-spot)}.resources-topic-card-list .bg-operate{background-color:var(--color-primary-dark)}.resources-topic-card-list .bg-concepts{background-color:var(--color-primary)}.grid-container-index a{display:none}.grid-container-index a:nth-child(-n+3){display:grid}.resources-article-intro img{aspect-ratio:attr(width)/attr(height);border-radius:6px;height:auto;width:100%}.resources-article-intro .resources-topic h4{justify-content:normal}.article-related{border:1px solid rgba(0,0,0,.125);border-radius:2px;box-shadow:0 3px 8px 0 rgba(116,129,141,.1);padding:1rem;transition:border-color .15s ease-in-out}.article-related a{font-size:.85rem}.article-related ul{grid-gap:.25rem;display:grid;grid-template-columns:1fr 1fr}.headerlink-anchor{opacity:0}h2[id]:hover .headerlink-anchor{opacity:1}.article-sidebar-trigger{align-items:center;background-color:var(--color-primary);border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:2.5rem;height:44px;justify-content:center;text-align:center;width:44px;z-index:100}@media(min-width:64em){.article-sidebar-trigger{display:none}}.article-sidebar-trigger:hover{background-color:var(--color-spot)}.article-sidebar-trigger .ion-navicon{font-size:2rem}.article-sidebar-trigger .ion-close{font-size:1.5rem}[itemprop=articleBody] [id]{scroll-margin-top:calc(var(--resources-header-height) + var(--header-height))}.article-toc{--dotColor:#ddd;--dotColorActive:#d859a1;--active:#d859a1;--activeBg:rgba(157,16,223,.05);--dotSize:10px;--lineWidth:1px;--lineColor:#ddd;--listSpacing:1rem;border-left:none;display:block;max-width:none;min-width:auto;overflow-y:visible}@media(min-width:52em){.article-toc{width:320px}}.article-toc-wrapper{display:block;overflow-y:auto;position:sticky;top:calc(var(--header-height) + var(--resources-header-height))}.article-toc h5.uppercasecaps{font-size:.75rem;padding-bottom:.5rem}.article-toc .article-toc-panel{overflow-y:auto;padding:1rem;position:sticky}@media(min-width:52em){.article-toc .article-toc-panel{height:calc(100vh - 180px)}}.article-toc nav{position:static;top:auto}.article-related-articles ol{border-left:none}.article-toc ol{list-style:none;margin:0;padding:0;position:relative}@media(min-width:84em){.article-toc ol{max-width:300px}}.article-toc-links{min-height:200px}.article-toc-links li{grid-column-gap:1rem;display:grid;grid-template-columns:20px 1fr;overflow:visible;position:relative}.article-toc .article-toc-links ol:after{background-color:#e5e7eb;content:"";height:calc(100% - var(--listSpacing)*2);left:calc(var(--dotSize) + 2px);position:absolute;top:calc(var(--dotSize));width:var(--lineWidth);z-index:0}.article-toc li span{background-color:#bbb;border-radius:50%;display:inline-block;height:var(--dotSize);position:relative;top:calc(var(--dotSize)/1.5);transform-origin:50% 50%;transition-duration:.2s;transition-timing-function:cubic-bezier(.46,.265,.285,1.635);width:var(--dotSize);z-index:2}.article-toc li.active span{background-color:var(--dotColorActive)}.article-toc li{font-size:.85rem;padding:.5rem}.article-toc li:hover{background-color:var(--color-grey-subtle)}.article-toc li a{color:#666;display:block;text-decoration:none}.article-toc li:hover span{opacity:1;transform:scale(1.25)}.article-toc li a:focus{outline:none}.article-toc li.active a{color:var(--active);font-family:var(--font-bold)}.article-toc li a:focus-visible{background-color:var(--activeBg);color:var(--active);outline:1px solid var(--active)}.article-toc li.active a span{transform:scale(1.35)}.breadcrumbs-dark{background-color:color-mix(in srgb,var(--color-primary),#000 22%)}.breadcrumbs:not(.breadcrumbs-standalone){display:none}@media(min-width:74em){.breadcrumbs:not(.breadcrumbs-standalone){display:flex}}.breadcrumbs ol{align-items:center;color:color-mix(in srgb,var(--color-primary) 8%,#fff);display:flex;flex-wrap:wrap;justify-content:flex-start;margin:0}.breadcrumbs li{color:currentColor;display:inline-flex;white-space:nowrap}.breadcrumbs li:not(:last-child){margin-right:1rem}.breadcrumbs li{font-size:.95rem}.breadcrumbs-dark li a{color:#fff}.breadcrumbs li a:hover{text-decoration:underline}.breadcrumbs li span{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs li:first-child a:before{color:#666;content:"";display:inline-block;font-family:Ionicons;font-size:1rem;margin-right:.5rem;vertical-align:middle}.breadcrumbs li:not(:last-child) a:after{color:#666;content:"";display:inline-block;font-family:Ionicons;font-size:.6rem;margin-left:1rem;vertical-align:middle}.navbar{background-color:#fff;border-bottom:1px solid #ddd;height:var(--resources-guides-header-height);position:fixed;top:var(--header-height);width:100%;z-index:50}body:is(.product) .navbar,body:is(.product-feature) .navbar,body:is(.solutions) .navbar{display:none}@media(min-width:52em){body:is(.product) .navbar,body:is(.product-feature) .navbar,body:is(.solutions) .navbar{display:block}}.navbar .container{margin:0 auto;max-width:60em}@media(min-width:52em){.navbar .container{display:flex;padding-left:2em;padding-right:2em}}@media(min-width:64em){.navbar .container{max-width:90em}}@media(min-width:74em){.navbar .container{max-width:110em}}@media(min-width:84em){.navbar .container{max-width:120em}}.pagination{grid-gap:1rem;display:grid;grid-template-areas:"previous next";grid-template-columns:1fr 1fr}.pagination a.prev{grid-area:previous}.pagination a.next{grid-area:next}.article-entry .pagination a{font-family:Roboto-Medium;font-size:.85rem}@media(min-width:52em){.article-entry .pagination a{font-size:1.25rem}}.article-entry .pagination a span{color:var(--color-spot);display:block;line-height:1.2}.article-entry .pagination a .icon{color:#ccc;font-size:1rem;transition:color .2s ease-in-out}.related-resources{grid-gap:1rem;align-items:start;container-name:related_resources;container-type:inline-size;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:114em){.related-resources{grid-template-columns:repeat(3,minmax(0,1fr))}}@container related_resources (max-width: 600px){.related-resources .card{grid-column:span 2}}.article-sidebar h4{border-bottom:1px solid var(--color-grey-subtle);font-size:.75rem;padding-bottom:1rem}.article-sidebar li a{border-radius:2px;color:#000;display:block;font-size:.9rem;line-height:1.5;padding:.65rem 2rem .65rem 1rem;position:relative}.article-sidebar li a.active{font-family:var(--font-bold)}.article-sidebar li a.active:before{background-color:#000;content:"";height:100%;left:calc(-1rem - .5px);position:absolute;top:0;width:2px}.article-sidebar li a:hover{text-decoration:none}.article-sidebar a.active,.article-sidebar a.active:hover,.article-sidebar a[aria-current=page],.article-sidebar a[aria-current=page]:hover,.article-sidebar li a:hover{background-color:var(--color-grey-subtle)}.article-sidebar ul{margin-left:1px}.resources-article-intro .resources-topic{border-top:none}.resources-article-intro .resources-topic svg{height:32px;width:32px}.resources-article-intro .resources-topic h4{margin:0;padding:0}.article-sidebar button[data-pagegroup]:hover{background-color:#fff}.article-sidebar button[data-pagegroup] i{font-size:unset;transform-style:preserve-3d;transition:.3s}.article-sidebar .has-children-topic>a:is(.active) button[data-pagegroup] i,.article-sidebar button[data-pagegroup]:is(.active) i{transform:rotateX(180deg)}.has-children>a{position:relative}.has-children-topic>a{color:#000}.has-children-topic+.sublist,.has-children-topic>a+.sublist{margin-left:2.5rem}.has-children-topic+.sublist:before,.has-children-topic>a+.sublist:before{background-color:var(--color-grey-light);content:"";height:100%;left:-1rem;position:absolute;top:0;width:1px}.has-children-topic .sublist .has-children>span{letter-spacing:.01em}.has-children-topic .sublist .has-children>span.active{color:#000}.article-sidebar .sublist{display:flex;flex-direction:column;height:auto;max-height:0;overflow:hidden;padding-bottom:0;padding-top:0}.article-sidebar .sublist-open{max-height:6000px;overflow:initial}.sublist:empty{display:none}.article-sidebar [title="Understanding Curity Concepts"] li a:before{background-size:24px;content:"";display:inline-flex;height:24px;margin-right:.5rem;vertical-align:middle;width:24px}.article-sidebar [title="Understanding Curity Concepts"] li a[title=Overview]:before{background-image:url(/images/resources/getting-started/concepts/icon-concepts-overview.svg)}.article-sidebar [title="Understanding Curity Concepts"] li a[title=Authentication]:before{background-image:url(/images/resources/getting-started/concepts/icon-concepts-authentication.svg)}.article-sidebar [title="Understanding Curity Concepts"] li a[title=Tokens]:before{background-image:url(/images/resources/getting-started/concepts/icon-concepts-token.svg)}.article-sidebar [title="Understanding Curity Concepts"] li a[title=Data]:before{background-image:url(/images/resources/getting-started/concepts/icon-concepts-data.svg)}.article-sidebar [title="Understanding Curity Concepts"] li a[title=Availability]:before{background-image:url(/images/resources/getting-started/concepts/icon-concepts-availability.svg)}.article-sidebar [title="Understanding Curity Concepts"] li a[title=Deployment]:before{background-image:url(/images/resources/getting-started/concepts/icon-concepts-deployment.svg)}.article-sidebar{--sidebar-number-border-color:#ccc;--sidebar-number-size:20px}.sidebar-number{align-items:center;align-self:center;background-color:#fff;border:1px solid var(--sidebar-number-border-color);border-radius:50%;color:#333;display:inline-flex;flex-shrink:0;font-size:.85rem;height:var(--sidebar-number-size);justify-content:center;margin-right:.5rem;position:relative;width:var(--sidebar-number-size);z-index:1}.article-sidebar a.active .sidebar-number{background-color:var(--color-primary);border:1px solid var(--color-primary);color:#fff}.article-sidebar li,.article-sidebar ul{position:relative}.article-sidebar .has-children-topic:has(.sidebar-number)+.sublist-open:after,.article-sidebar li:has(.sidebar-number):after{background-color:var(--sidebar-number-border-color);content:"";height:100%;left:25px;position:absolute;top:30px;width:1px;z-index:0}.article-sidebar .has-children-topic:has(.sidebar-number)+.sublist-open:after{left:1px}.article-sidebar li:has(.sidebar-number-1):after{height:100%}.article-sidebar li:has(.sidebar-number-4):after{height:calc(100% - 20px)}.resources-whats-new .timeline-header{margin:0 auto;max-width:660px}.timeline-types{background-color:#fff;margin:0 auto;max-width:700px;padding:1.5rem;position:sticky;top:calc(var(--header-height) + var(--resources-header-height));width:100%;z-index:2}.timeline{flex-direction:column;justify-content:flex-end;list-style-type:none;margin:20px auto 0;max-width:660px;padding:1em 0;position:relative;z-index:1}.timeline:before{background:#505050;background:linear-gradient(180deg,rgba(80,80,80,0) 0,#505050 8%,#505050 92%,rgba(80,80,80,0));content:" ";display:block;height:100%;left:0;margin-left:-2px;position:absolute;top:0;width:4px;z-index:5}.flag-wrapper{border:1px solid transparent;border-radius:4px;display:block;margin-left:2rem;padding:1rem;position:relative;transition:background-color .1s ease-in-out}.timeline li:hover .flag-wrapper{background-color:#fafafa;border:1px solid #f6f6f6}.timeline li:active .flag-wrapper,.timeline li:focus .flag-wrapper{background-color:#f6f6f6}.timeline a{color:var(--color-primary)}.timeline a:hover{text-decoration:none}.flag-wrapper strong{font-size:.75rem}.flag{display:inline}.timeline li time{display:block}.direction-r .flag:before{background:#fff;border:4px solid var(--color-spot);border-radius:10px;content:" ";display:block;height:16px;left:-41px;margin-top:-10px;position:absolute;right:auto;top:50%;transition:transform .2s;width:16px;z-index:10}.direction-r .flag-wrapper:hover .flag:before{transform:scale(1.5)}.time{background:#f8f8f8;display:block;padding:4px 6px}.guides-container{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;width:100%}@media(min-width:64em){.guides-container{gap:2rem}}.guides-container>div{flex-basis:calc(50% - 1.5rem);flex-grow:0;flex-shrink:0}@media(min-width:64em){.guides-container>div{flex-basis:calc(25% - 2rem);flex-grow:0;flex-shrink:0}}.guides-container>div:focus{border-radius:6px}.guides-navigation-button,.guides-navigation-button:hover{border:none;box-shadow:none;color:var(--color-primary)}.guides-navigation-button:hover{background-color:transparent}.guides-dark{background:linear-gradient(45deg,color-mix(in srgb,var(--color-primary),#000 70%) 0,color-mix(in srgb,var(--color-primary),#000 70%) 100%)}.guides .grid-container .card p{font-size:.85rem}.guides-dark .grid-container .card,.guides-dark .guides-container .card{background-color:color-mix(in srgb,var(--color-primary),#000 50%);border:1px solid transparent}.guides-dark .grid-container .card:hover,.guides-dark .guides-container .card:hover{border:1px solid hsla(0,0%,100%,.5)}.guides-dark .grid-container .card h4,.guides-dark .guides-container .card h4,.guides-dark h1,.guides-dark h2,.guides-dark h3,.guides-dark p{color:#fff}.guides-type{color:var(--color-resources-develop)}.guides-dark .guides-navigation-button{color:#fff}.guides-dark .guides-navigation-button:hover{background-color:color-mix(in srgb,var(--color-primary),#000 30%)}.guides-dark .grid-container .card.card-advanced:hover{border:1px solid var(--color-resources-develop)}.star-dimmed{color:var(--color-grey-light)}.card .star-dimmed{color:var(--color-primary)}.guides-header{background:linear-gradient(45deg,color-mix(in srgb,var(--color-primary),#000 70%) 0,color-mix(in srgb,var(--color-primary),#000 70%) 100%)}@media(min-width:64em){.guides-header{height:var(--resources-guides-header-height);position:fixed;top:calc(var(--resources-header-height) + var(--header-height));width:100%;z-index:50}.guides-header-wrapper{align-items:center;display:flex;justify-content:space-between}}.guides-header .sm-flex:first-of-type{height:56px}.guides-header .guides-header-breadrcumbs{align-items:center;display:flex;max-width:90%;overflow-x:auto;white-space:nowrap}@media(min-width:64em){.guides-header .guides-header-breadrcumbs{max-width:none;overflow-x:initial;white-space:normal}}.guides-header .guides-header-breadrcumbs li{align-items:center;color:#fff;display:block;display:flex;font-size:1rem;height:100%;justify-content:center}.guides-footer .guides-header-breadrcumbs a,.guides-header .guides-header-breadrcumbs li a{color:#fff;display:block;font-size:1rem;padding:.25rem .5rem}.guides-footer .guides-header-breadrcumbs a:hover,.guides-header .guides-header-breadrcumbs li a:hover{text-decoration:underline}.guides-header .guides-header-breadrcumbs li:first-child a:before{color:var(--color-primary-light);content:"";display:inline-block;font-family:Ionicons;margin-right:.5rem;vertical-align:middle}.guides-header .guides-header-breadrcumbs li:not(:last-child) a:after{color:#fff;content:"";display:inline-block;font-family:Ionicons;margin-left:.5rem;vertical-align:middle}.guides-security-header-levels .button-transparent:hover{background-color:transparent}.guides-footer{border-top:1px solid var(--color-primary)}.security-level-indicator{background-color:var(--color-primary-light);border-radius:50%;display:block;height:14px;margin-right:.5rem;width:14px}.security-level-indicator-advanced{background-color:var(--color-resources-develop)}.security-level-indicator-badge{border:1px solid var(--color-primary-light);border-radius:6px;font-size:.85rem;padding:.35rem 1.25rem}.security-level-indicator-badge.advanced{border:1px solid color-mix(in srgb,var(--color-resources-develop) 10%,#fff);color:#fff}.security-level-indicator-badge .security-level-indicator{height:8px;width:8px}.security-level-indicator-badge.security-level-indicator-badge-light{border:1px solid var(--color-resources-develop);color:var(--color-resources-develop)}input[type=search].searchfield{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' x2='16.65' y1='21' y2='16.65'/%3E%3C/svg%3E");background-position:.5em;background-repeat:no-repeat;background-size:16px 16px;padding-left:32px;width:100%}@media(min-width:40em){input[type=search].searchfield{width:400px}}@media(min-width:84em){table.library-table td,table.library-table th{font-size:medium;padding:1rem}table.library-table th:first-child,table.library-table th:nth-child(2),table.library-table th:nth-child(8){width:15%}}table.library-table td{border:none;color:#fff;vertical-align:top}table.library-table td,table.library-table tr:nth-child(2n){background-color:transparent}table.library-table tr{border-top:none}table.library-table th{background-color:color-mix(in srgb,var(--color-primary),#000 25%);border:none;color:#fff;cursor:pointer;font-size:1rem;padding:1rem;-webkit-user-select:none;user-select:none;white-space:nowrap}@media(min-width:64em){table.library-table th{text-align:left}}table.library-table th svg{margin-left:.25rem;vertical-align:middle}@media(min-width:64em){table.library-table tr:hover td{background-color:color-mix(in srgb,var(--color-primary),#000 35%)}}table.library-table td svg{display:inline-block;height:36px;object-fit:contain;vertical-align:middle;width:36px}table.library-table td svg:not(last-child){margin-left:.5rem}@media screen and (max-width:1024px){table.library-table thead{clip:rect(0 0 0 0);border:none;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}table.library-table tr{display:block}table.library-table td{display:block;text-align:right}table.library-table td:before{content:attr(data-label);float:left}table.library-table td[data-label=Description]:before{clip:rect(0 0 0 0);border:none;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}table.library-table td[data-label=Comment]{margin-top:1rem}table.library-table td:last-child{border-bottom:0}}:root{--font-light:"Roboto-Light",Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--type-regular:"Roboto-Regular",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-bold:"Roboto-Medium",Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-extra-bold:"Roboto-Bold",Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-mono:"Roboto-Mono","Fira Code","Source Code Pro",Menlo,Consolas,"Courier New",monospace;--color-text:#737373;--color-heading:#262c3d;--color-light:#fff;--color-primary:#4d556a;--color-primary-rgb:77,85,106;--color-primary-dark:#262c3d;--color-primary-medium:#3c4764;--color-primary-light:#7e89a8;--color-tertiary:#f2eb80;--color-success:#57c75c;--color-info:#62818f;--color-danger:#ca2e2b;--color-warning:#e0c01c;--color-add:#0092ff;--color-spot:#d859a1;--color-link:#d859a1;--color-link-hover:#87148b;--color-grey:#aeaeae;--color-grey-light:#ccc;--color-grey-subtle:#f6f6f6;--color-resources-develop:#4aa69e;--color-github:#333;--color-paragraphs:#4d4d4d;--color-inline-code:#f7fafc;--header-height:98px;--header-nav-height:50px;--resources-guides-header-height:70px;--resources-header-height:70px;--button-line-height:1.125rem;--button-padding-y:0.5rem;--button-padding-x:1rem;--border-radius:4px;--border-color:rgba(0,0,0,.125);--space-1:0.5rem;--space-2:1rem;--space-3:2rem;--space-4:4rem;--form-field-height:2.55rem;--form-field-padding:0.75rem;--form-field-font-size:1rem;--code-block-background-color:#282a36;--code-block-tab-size:4;--code-block-line-height:1.5;--code-block-token-line-height:22px;--code-block-font-size:0.875rem;--code-block-color:#fff;--code-block-border-radius:6px;--code-block-padding:1rem;--code-block-highlight-color:#00f5c426;--curityToastDuration:5000}.curityToast{align-items:center;animation:pop calc(var(--curityToastDuration)*1ms) cubic-bezier(0,0,.2,1);background-color:#333;border-radius:6px;bottom:32px;box-shadow:0 1px 3px rgba(0,0,0,.15),0 2px 6px rgba(0,0,0,.15);box-sizing:border-box;color:#fff;display:flex;font-family:Roboto-Regular,system-ui;font-size:1rem;justify-content:space-between;left:50%;line-height:1.2;max-width:calc(100vw - 64px);min-height:54px;min-width:90%;opacity:0;padding:.75rem 1.5rem;position:fixed;transform:translateX(-50%) scale(.87);transform-origin:center bottom;z-index:99999999}@media only screen and (min-width:40em){.curityToast{font-size:1rem;max-width:calc(100vw - 64px);min-width:240px}}.curityToast p{color:#fff;margin:0}.curityToast span{height:24px;margin-right:1rem;width:24px}.curityToast button,.curityToast span{align-items:center;appearance:none;background-color:transparent;border:none;border-radius:50%;color:#fff;display:inline-flex;justify-content:center;outline:none;vertical-align:middle;white-space:nowrap}.curityToast button{cursor:pointer;font-size:1rem;height:34px;margin-left:1rem;transition:all .2s;width:34px}.curityToast button:hover{background-color:#fff;box-shadow:0 0 0 3px rgba(66,153,225,.3);color:initial}.curityToast button:focus{box-shadow:0 0 0 3px rgba(66,153,225,.6)}.curityToast.stay{animation:stay .15s cubic-bezier(0,0,.2,1) forwards}.curityToast-success{background-color:#00c853}.curityToast-danger{background-color:#f44336}.curityToast-warning{background-color:orange}.curityToast-info{background-color:#1a202c}.curityToast-info a{color:#fafad2}.curityToast-notify{justify-content:center}@keyframes stay{0%{opacity:0;transform:translateX(-50%) scale(.87)}to{opacity:1;transform:translateX(-50%) scale(1)}}@keyframes pop{0%{opacity:0;transform:translateX(-50%) scale(.87)}3.75%,96.25%{opacity:1;transform:translateX(-50%) scale(1)}to{animation-timing-function:cubic-bezier(.4,0,1,1);opacity:0;transform:translateX(-50%) scale(1)}}
Using OAuth for Single Page Applications | Best Practices
Learn by topics Learn moreBest Practices - OAuth for Single Page Applications On this page What is a Single Page Application?
Single-page applications (SPAs) are websites without backends. Their logic resides in the browser, and they are typically loaded directly from content delivery networks (CDNs).
Because SPAs don't have backends, they load static resources to run the pages. They rely on JavaScript to communicate with the APIs directly using XMLHttpRequest
(XHR) or Fetch
. If the APIs reside in a different domain from the SPAs, the APIs must support Cross-Origin Resource Sharing (CORS) for the browsers to allow the cross-domain communications to take place.
The browser is a hostile place to execute code though, and implementing security is a difficult area of SPA development. This article maps out the necessary measures that need to be taken when securing a Single Page Application using OAuth.
Business Benefits of SPAs
The main motivation for SPAs is to enable a more productive way to build web applications than was possible a decade or so ago. Since SPA backends are only static content, there is no server side logic, and there is a frontend-only focus, as for mobile apps. A modern Single Page Application framework can also be chosen, such as React , Angular or NEXT.js , along with an ecosystem of best practices. The high level benefits are summarized below.
Benefit Technical Behavior Great User Experience All UI actions, including login redirects, are initiated in the browser so that the app has best control over usability Modern Developer Experience Web developers are freed up to focus on the user interface, and can use the most cutting edge frontend technologies Business Aligned The improved technical setup should result in more development time being spent building a modern frontend for customers Web Performance The use of a CDN can be a simple way to improve web performance, by reducing latency when web resources are downloaded to browsers
When designing a security architecture for SPAs, you should also ensure that it does not work against any of these goals. This article explains security best practices for browser based apps, and recommends an API driven way to implement SPA security that does not impact the overall architecture.
Web Security Requirements
When you build a web application that interacts with APIs you must protect against multiple threats such as those published in the OWASP Top 10 Web Application Security Risks . Yet, in an OAuth architecture some of these risks are handled by backend components like your APIs or authorization server.
When deciding how to secure SPAs within an OAuth architecture, one of your most important resources should be the OAuth for Browser-Based Apps document, which explains the following two topics in depth:
The malicious JavaScript threat relates to the Injection
risk from the OWASP list and is a key threat you should focus on as an SPA developer. If malicious JavaScript can execute, then it can potentially do anything your application can do.
Weaknesses of OAuth-Secured SPAs
By default, an SPA is solely a browser-based client and exhibits the following behaviors:
The SPA is a public client
An SPA is deemed a public client since it cannot hold a secret. Such a secret would be part of the JavaScript loaded by the website and, thus, be accessible to anyone inspecting the source code.
Tokens are available in the browser
As tokens are used when communicating with APIs, they are available in the browser. Consequently, they can be obtained by attacks that OWASP defines, like Cross-Site Scripting (XSS).
Storage mechanisms are unsafe
It is not possible to store something in the browser safely over a long time without using a backend to secure it. Any browser-based storage mechanism is susceptible to attacks.
These issues mean that an SPA does not adequately cope with the threats of malicious JavaScript. In particular an attack might intercept tokens and call your APIs. The attack might even be able to send tokens to a malicious site for a more concerted attack against your APIs.
Backend for Frontend (BFF)
Because of the issues outlined above, the preferred option for SPA security in the OAuth for Browser-Based Apps document is to avoid keeping tokens in the browser at all. This can be achieved with the help of a lightweight backend component, often described as a Backend-For-Frontend .
The backend component can be configured as a confidential OAuth client and used to keep tokens away from the browser. It can either be stateful and keep tokens in custom storage, or stateless and store the tokens in encrypted HTTP-only, same-site cookies. Whichever variant is chosen, the backend component creates a session for the SPA, using HTTP-only, secure, same-site cookies, thus enabling a high level of security.
Such cookies cannot be read by scripts and are limited to the domain of the SPA. When combined with strict Content Security Policy headers, such architecture can provide a robust protection against stealing tokens. It should be noted, though, that introducing a cookie-based session for the SPA means that it can be vulnerable to Cross-Site Request Forgery attacks (CSRF), and appropriate protections must be put in place.
Since the SPA's OAuth security is now implemented in terms of a confidential client, additional OAuth security standards can be used on behalf of the SPA. The BFF becomes a key part of your XSS Prevention Strategy , to reduce the impact of an XSS exploit to session riding and prevent data exfiltration from the browser. The Backend for Frontend pattern therefore provides the strongest current security options for an SPA, on par with the most secure websites.
OAuth SPA Security Best Practices
When using a Backend for Frontend, the SPA uses a cookie to initiate API requests. Therefore, the cookie enables access to sensitive data so must be protected using the following main techniques:
Keep all tokens out of the browser to prevent token theft and exfiltration.
Use HTTP-only cookies in API requests from the SPA so that JavaScript cannot access the credential.
Use the most secure SameSite=strict
property so that other sites cannot send the cookie.
Avoid revealing the underlying access token in the cookie header to force the SPA to call web entry points to APIs.
Enforce web-specific security at web entry points to APIs and only accept cookies from the SPA's exact web origin.
Only send cookies to endpoints that need them to avoid leaking the cookie header.
Ensure that a cookie sent to APIs only enables short-lived access to limit the impact of leaked cookie headers.
Apply web security headers and a strict content security policy to the SPA's web host to deny access to other sites.
Implement XSS protection to prevent malicious code from being able to initiate API requests.
To learn more about cookie characteristics you can read the OAuth and SameSite Cookies article.
The Token Handler Pattern
At Curity we have designed a modern evolution of a Backend for Frontend called the Token Handler Pattern . All of the cookie mechanics are implemented for you to help prevent the threats of malicious JavaScript. You can even use it with advanced security standards such as Pushed Authorization Requests (PAR) and JWT Secured Authorization Response Mode for OAuth 2.0 (JARM) .
The token handler pattern keeps web and API concerns separated for the best overall results, and outsources the cookie plumbing so that neither your SPAs nor your APIs need any cookie-related code. This enables you to retain all of the business benefits of SPAs. You can continue with a pure SPA developer experience and avoid the need for cumbersome web backends. You can also continue to deploy your SPA's static content to your preferred web host.
Token Handler Implementations
For further information, including code examples that can be quickly run in a fully integrated setup on a development computer, see the following detailed resources:
The whitepaper provides a detailed examination of the current state of Single Page Application security, starting with architectures and threats. It then recommends use of either websites or the token handler pattern. The latter is the best all round option, and its usage is explained thoroughly, including end-to-end HTTP messages.
JavaScript SPA Security
If your setup does not allow to introduce a secure backend component, or for some reason you decide not to use one, then you will need to secure a traditional SPA that uses tokens. When doing so, some options are more secure than others, so have a look at the following best practices for a browser-only client:
Storing Tokens for SPAs
SPAs can store tokens in the browser in any of the following ways:
Local storage
This is the least secure option, as it represents longer lived storage across all browser tabs.
Session storage
This is more secure, since it is restricted to a single tab. Tokens are also removed when the browser tab is closed.
Application memory
This improves security further, since the tokens cannot easily be intercepted at rest. There are risks that tokens could be intercepted in flight however, either when they are received by the SPA or when they are sent to APIs.
Service worker
The most secure in-browser storage option is to isolate tokens in a service worker , to reduce the risks that an attacker could exfiltrate them.
Be aware of pros and cons of the chosen storage mechanism
Do not persist tokens between browser restarts or for unnecessarily long time. Be aware of the limitations of storing secure data in the browser.
Using the Code Flow With SPAs
When using the code flow with SPAs the Proof Key for Code Exchange (PKCE) mechanism must be enabled.
The client should not use a secret, since this is public information. When authenticating against the token endpoint the client will use no authentication, and the token endpoint needs to support CORS.
OAuth server configuration for SPAs
As SPAs can't authenticate themselves, the OAuth server is configured to allow the client application to make token requests without authentication.
Using Proof Key for Code Exchange (PKCE)
PKCE is used to prevent common attack vectors against the code flow for public clients. It protects client applications when redeeming tokens as follows:
The client generates a random secret before making the authorization request. The secret hash is passed as the code_challenge
parameter in the request along with the hashing method used.
After receiving the callback, the client adds the plain text secret as the code_verifier
parameter in the request when redeeming the code against the token endpoint.
The token service verifies that the hash of the code_verifier
parameter matches the hash sent in the authorization request earlier, and will only issue tokens if there's a match.
It's recommended to configure the OAuth server to require the PKCE for public clients, so that there are no paths left open where it's possible to do the code flow without the verifier. This is the default in the Curity Identity Server.
Using the Implicit Flow for SPAs
The implicit flow was intended for applications like SPAs in the original OAuth specification. Even though the Best Current Practice (BCP) recommends the code flow with PKCE, there may be scenarios where the implicit flow is relevant. If used, be aware the token is sent in the fragment of the URL back to the client, leaving it visible to any script that can access the history or the current page url.
Unprotected tokens
Tokens are passed in the URI in the implicit flow, which leaves it visible for both users and code running in the application.
Refreshing Access Tokens
Access tokens can be refreshed by either relying on the single sign-on (SSO) session or using refresh tokens.
Using the SSO Session
Relying on the SSO session is the recommended approach when the SPA can frame the OAuth server's authorize endpoint securely. SSO sessions are created and represented as secure cookies on the login system after users log in for the first time. The user will not be prompted for a new login as long as the SSO session is alive.
The client simply opens a hidden iframe and starts a new authorization request. The client must pass the parameter prompt
with the value none
to force the server to return an error if the user needs to interact with the server. This means that as long as SSO can be used, the server will return a new authorization_code
that the client can redeem. If the server responds with an error, the client simply aborts the flow and restarts it in a visible window where the user can interact again.
This can also be combined with OpenID Connect session management to avoid any premature redirection and unnecessary network traffic just to check login state.
Note that modern browsers have announced dropping support for third-party cookies. This can render using SSO with hidden iframes impossible, if the Authorization Server does not share the same domain as the SPA. Using designs like the Token Handler Pattern can help mitigate such problems.
Using Refresh Tokens
Normally when using a refresh token, the client authenticates itself against the token endpoint for the refresh. This prevents the refresh token from being stolen and used by parties that do not possess the secret.
Since the SPA is a public client, it cannot authenticate itself against the token endpoint. It is still allowed to use refresh tokens, but developers should be aware that the refresh token no longer is a protected (or bound) token, and that any party that steals it can use it. For this reason the refresh token, if issued, should have a short lifetime, and must be replaced with a new one upon use.
The default behavior in the Curity Identity Server is to never reuse refresh tokens, and the tokens have a default lifetime of one hour. Public clients created in the admin UI must have refresh tokens enabled explicitly.
Receiving Tokens on the Front Channel
A final word should be written about tokens that are sent on the front channel in the redirect URI. Both the OpenID Connect implicit flow and hybrid flow will pass the ID token in the callback. This means that they are much easier to replace with other tokens by an attacker. For this reason, OpenID Connect defines the nonce
parameter. This is generated by the client and sent in the request to the authorization endpoint. The server will place the same nonce
in the ID token it issues. The client can then verify that the token was indeed issued for that request.
If an access token is received on the front channel alongside the ID Token, an at_hash
value will be present inside the ID Token. The at_hash
is the hash of the access token that was issued at the same time. This prevents the access token from being replaced.
Finally, any ID Token received on the front channel must be validated before usage.
Conclusion
SPAs are different from regular web applications. It is important to be aware of the risks that come with not following the guidelines and protocols properly. This article summarized some topics listed in the Best Current Practices for Single Page Applications . We recommend that you use the Token Handler Pattern for the best overall architecture in a Single Page Application.
You may also be interested in
Join our Newsletter Get the latest on identity management, API Security and authentication straight to your inbox.
Start Free Trial Try the Curity Identity Server for Free. Get up and running in 10 minutes.
Start Free Trial Ready to modernize IAM? Start Today - Build security and improve ease of use to stay ahead of the competition.