CINXE.COM

X Icon

<!DOCTYPE html><html lang="en-US"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="generator" content="Gatsby 5.14.1"/><meta data-react-helmet="true" name="google-site-verification" content="en27v9Bb5fxAoaP6VjWYyT36MC4x7hLSH3k1Gk2QH74"/><meta data-react-helmet="true" name="description" content="Use configuration to drive the behavior of Kubernetes deployments"/><meta data-react-helmet="true" property="og:title" content="Configure Deployments using Helm"/><meta data-react-helmet="true" property="og:description" content="Use configuration to drive the behavior of Kubernetes deployments"/><meta data-react-helmet="true" property="og:type" content="website"/><meta data-react-helmet="true" name="image" property="og:image" content="https://curity.io/images/resources/operate/tutorials-helm.jpg"/><meta data-react-helmet="true" property="og:image" content="https://curity.io/images/resources/operate/tutorials-helm.jpg"/><meta data-react-helmet="true" property="twitter:image" content="https://curity.io/images/resources/operate/tutorials-helm.jpg"/><meta data-react-helmet="true" itemProp="image" content="https://curity.io/images/resources/operate/tutorials-helm.jpg"/><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"/><meta data-react-helmet="true" name="twitter:creator" content="@curityio"/><meta data-react-helmet="true" name="twitter:title" content="Configure Deployments using Helm"/><meta data-react-helmet="true" name="twitter:description" content="Use configuration to drive the behavior of Kubernetes deployments"/><meta name="theme-color" content="#2a2f3a"/><style data-href="/styles.f5831fb3fe21a4e20f41.css" data-identity="gatsby-global-css">:root{--reach-dialog:1}[data-reach-dialog-overlay]{background:rgba(0,0,0,.33);bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0}[data-reach-dialog-content]{background:#fff;margin:10vh auto;outline:none;padding:2rem;width:50vw}[data-sal]{transition-delay:0s;transition-delay:var(--sal-delay,0s);transition-duration:.2s;transition-duration:var(--sal-duration,.2s);transition-timing-function:ease;transition-timing-function:var(--sal-easing,ease)}[data-sal][data-sal-duration="200"]{transition-duration:.2s}[data-sal][data-sal-duration="250"]{transition-duration:.25s}[data-sal][data-sal-duration="300"]{transition-duration:.3s}[data-sal][data-sal-duration="350"]{transition-duration:.35s}[data-sal][data-sal-duration="400"]{transition-duration:.4s}[data-sal][data-sal-duration="450"]{transition-duration:.45s}[data-sal][data-sal-duration="500"]{transition-duration:.5s}[data-sal][data-sal-duration="550"]{transition-duration:.55s}[data-sal][data-sal-duration="600"]{transition-duration:.6s}[data-sal][data-sal-duration="650"]{transition-duration:.65s}[data-sal][data-sal-duration="700"]{transition-duration:.7s}[data-sal][data-sal-duration="750"]{transition-duration:.75s}[data-sal][data-sal-duration="800"]{transition-duration:.8s}[data-sal][data-sal-duration="850"]{transition-duration:.85s}[data-sal][data-sal-duration="900"]{transition-duration:.9s}[data-sal][data-sal-duration="950"]{transition-duration:.95s}[data-sal][data-sal-duration="1000"]{transition-duration:1s}[data-sal][data-sal-duration="1050"]{transition-duration:1.05s}[data-sal][data-sal-duration="1100"]{transition-duration:1.1s}[data-sal][data-sal-duration="1150"]{transition-duration:1.15s}[data-sal][data-sal-duration="1200"]{transition-duration:1.2s}[data-sal][data-sal-duration="1250"]{transition-duration:1.25s}[data-sal][data-sal-duration="1300"]{transition-duration:1.3s}[data-sal][data-sal-duration="1350"]{transition-duration:1.35s}[data-sal][data-sal-duration="1400"]{transition-duration:1.4s}[data-sal][data-sal-duration="1450"]{transition-duration:1.45s}[data-sal][data-sal-duration="1500"]{transition-duration:1.5s}[data-sal][data-sal-duration="1550"]{transition-duration:1.55s}[data-sal][data-sal-duration="1600"]{transition-duration:1.6s}[data-sal][data-sal-duration="1650"]{transition-duration:1.65s}[data-sal][data-sal-duration="1700"]{transition-duration:1.7s}[data-sal][data-sal-duration="1750"]{transition-duration:1.75s}[data-sal][data-sal-duration="1800"]{transition-duration:1.8s}[data-sal][data-sal-duration="1850"]{transition-duration:1.85s}[data-sal][data-sal-duration="1900"]{transition-duration:1.9s}[data-sal][data-sal-duration="1950"]{transition-duration:1.95s}[data-sal][data-sal-duration="2000"]{transition-duration:2s}[data-sal][data-sal-delay="50"]{transition-delay:.05s}[data-sal][data-sal-delay="100"]{transition-delay:.1s}[data-sal][data-sal-delay="150"]{transition-delay:.15s}[data-sal][data-sal-delay="200"]{transition-delay:.2s}[data-sal][data-sal-delay="250"]{transition-delay:.25s}[data-sal][data-sal-delay="300"]{transition-delay:.3s}[data-sal][data-sal-delay="350"]{transition-delay:.35s}[data-sal][data-sal-delay="400"]{transition-delay:.4s}[data-sal][data-sal-delay="450"]{transition-delay:.45s}[data-sal][data-sal-delay="500"]{transition-delay:.5s}[data-sal][data-sal-delay="550"]{transition-delay:.55s}[data-sal][data-sal-delay="600"]{transition-delay:.6s}[data-sal][data-sal-delay="650"]{transition-delay:.65s}[data-sal][data-sal-delay="700"]{transition-delay:.7s}[data-sal][data-sal-delay="750"]{transition-delay:.75s}[data-sal][data-sal-delay="800"]{transition-delay:.8s}[data-sal][data-sal-delay="850"]{transition-delay:.85s}[data-sal][data-sal-delay="900"]{transition-delay:.9s}[data-sal][data-sal-delay="950"]{transition-delay:.95s}[data-sal][data-sal-delay="1000"]{transition-delay:1s}[data-sal][data-sal-easing=linear]{transition-timing-function:linear}[data-sal][data-sal-easing=ease]{transition-timing-function:ease}[data-sal][data-sal-easing=ease-in]{transition-timing-function:ease-in}[data-sal][data-sal-easing=ease-out]{transition-timing-function:ease-out}[data-sal][data-sal-easing=ease-in-out]{transition-timing-function:ease-in-out}[data-sal][data-sal-easing=ease-in-cubic]{transition-timing-function:cubic-bezier(.55,.055,.675,.19)}[data-sal][data-sal-easing=ease-out-cubic]{transition-timing-function:cubic-bezier(.215,.61,.355,1)}[data-sal][data-sal-easing=ease-in-out-cubic]{transition-timing-function:cubic-bezier(.645,.045,.355,1)}[data-sal][data-sal-easing=ease-in-circ]{transition-timing-function:cubic-bezier(.6,.04,.98,.335)}[data-sal][data-sal-easing=ease-out-circ]{transition-timing-function:cubic-bezier(.075,.82,.165,1)}[data-sal][data-sal-easing=ease-in-out-circ]{transition-timing-function:cubic-bezier(.785,.135,.15,.86)}[data-sal][data-sal-easing=ease-in-expo]{transition-timing-function:cubic-bezier(.95,.05,.795,.035)}[data-sal][data-sal-easing=ease-out-expo]{transition-timing-function:cubic-bezier(.19,1,.22,1)}[data-sal][data-sal-easing=ease-in-out-expo]{transition-timing-function:cubic-bezier(1,0,0,1)}[data-sal][data-sal-easing=ease-in-quad]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-sal][data-sal-easing=ease-out-quad]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-sal][data-sal-easing=ease-in-out-quad]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-sal][data-sal-easing=ease-in-quart]{transition-timing-function:cubic-bezier(.895,.03,.685,.22)}[data-sal][data-sal-easing=ease-out-quart]{transition-timing-function:cubic-bezier(.165,.84,.44,1)}[data-sal][data-sal-easing=ease-in-out-quart]{transition-timing-function:cubic-bezier(.77,0,.175,1)}[data-sal][data-sal-easing=ease-in-quint]{transition-timing-function:cubic-bezier(.755,.05,.855,.06)}[data-sal][data-sal-easing=ease-out-quint]{transition-timing-function:cubic-bezier(.23,1,.32,1)}[data-sal][data-sal-easing=ease-in-out-quint]{transition-timing-function:cubic-bezier(.86,0,.07,1)}[data-sal][data-sal-easing=ease-in-sine]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-sal][data-sal-easing=ease-out-sine]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-sal][data-sal-easing=ease-in-out-sine]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-sal][data-sal-easing=ease-in-back]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-sal][data-sal-easing=ease-out-back]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-sal][data-sal-easing=ease-in-out-back]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-sal|=fade]{opacity:0;transition-property:opacity}[data-sal|=fade].sal-animate,body.sal-disabled [data-sal|=fade]{opacity:1}[data-sal|=slide]{opacity:0;transition-property:opacity,transform}[data-sal=slide-up]{transform:translateY(20%)}[data-sal=slide-down]{transform:translateY(-20%)}[data-sal=slide-left]{transform:translateX(20%)}[data-sal=slide-right]{transform:translateX(-20%)}[data-sal|=slide].sal-animate,body.sal-disabled [data-sal|=slide]{opacity:1;transform:none}[data-sal|=zoom]{opacity:0;transition-property:opacity,transform}[data-sal=zoom-in]{transform:scale(.5)}[data-sal=zoom-out]{transform:scale(1.1)}[data-sal|=zoom].sal-animate,body.sal-disabled [data-sal|=zoom]{opacity:1;transform:none}[data-sal|=flip]{backface-visibility:hidden;transition-property:transform}[data-sal=flip-left]{transform:perspective(2000px) rotateY(-91deg)}[data-sal=flip-right]{transform:perspective(2000px) rotateY(91deg)}[data-sal=flip-up]{transform:perspective(2000px) rotateX(-91deg)}[data-sal=flip-down]{transform:perspective(2000px) rotateX(91deg)}[data-sal|=flip].sal-animate,body.sal-disabled [data-sal|=flip]{transform:none}.yt-lite{background-color:#000;background-position:50%;background-size:cover;contain:content;cursor:pointer;display:block;position:relative}.yt-lite.lyt-activated:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);background-position:top;background-repeat:repeat-x;box-sizing:content-box;content:"";display:block;height:60px;padding-bottom:50px;position:absolute;top:0;transition:all .2s cubic-bezier(0,0,.2,1);width:100%}.yt-lite:after{content:"";display:block;padding-bottom:var(--aspect-ratio)}.yt-lite>iframe{height:100%;left:0;position:absolute;top:0;width:100%}.yt-lite>.lty-playbtn{background-color:#212121;border-radius:14%;height:46px;opacity:.8;transition:all .2s cubic-bezier(0,0,.2,1);width:70px;z-index:1}.yt-lite:hover>.lty-playbtn{background-color:red;opacity:1}.yt-lite>.lty-playbtn:before{border-color:transparent transparent transparent #fff;border-style:solid;border-width:11px 0 11px 19px;content:""}.yt-lite>.lty-playbtn,.yt-lite>.lty-playbtn:before{left:50%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.yt-lite.lyt-activated{cursor:unset}.yt-lite.lyt-activated:before,.yt-lite.lyt-activated>.lty-playbtn{opacity:0;pointer-events:none}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;height:100%;scroll-padding-top:168px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--type-regular);font-size:100%;font-weight:400;margin:0;min-height:100%;position:relative;text-rendering:optimizeSpeed}body:after{transition:background-color .3s}body.guides{padding-top:0}.container{margin:0 auto;max-width:60em;padding-left:1rem;padding-right:1rem}@media(min-width:52em){.container{padding-left:3em;padding-right:3em}.container-medium{max-width:85em}}.container-wide{max-width:90em}@media(min-width:114em){.container-wide{max-width:95em}}@media(min-width:140em){.container-wide{max-width:125em}}.container-xl{max-width:100em}@media(min-width:114em){.container-xl{max-width:105em}}@media(min-width:140em){.container-xl{max-width:135em}}[role=main]{min-height:75vh}::selection{background:var(--color-spot);color:#fff}img::selection{background:transparent}img::-moz-selection{background:transparent}.anchor-link{cursor:pointer;opacity:0}.anchor-link svg *{pointer-events:none}:where(h1,h2,h3,h4):hover .anchor-link{opacity:1}a a[ID]{display:none}.preheader{-webkit-text-fill-color:transparent;background-clip:text;-webkit-background-clip:text;background-image:-webkit-linear-gradient(90deg,#282e3d,#d859a1 50%);color:#282e3d;font-size:1.2em}.scroller{-webkit-overflow-scrolling:touch;overflow-x:scroll}@media(min-width:74em){.scroller{overflow-x:initial}}.scroller .side-nav{display:flex;white-space:nowrap}@media(min-width:74em){.scroller .side-nav{justify-content:center}}.ion,.ion-alert-circled:before,.ion-alert:before,.ion-android-add-circle:before,.ion-android-add:before,.ion-android-alarm-clock:before,.ion-android-alert:before,.ion-android-apps:before,.ion-android-archive:before,.ion-android-arrow-back:before,.ion-android-arrow-down:before,.ion-android-arrow-dropdown-circle:before,.ion-android-arrow-dropdown:before,.ion-android-arrow-dropleft-circle:before,.ion-android-arrow-dropleft:before,.ion-android-arrow-dropright-circle:before,.ion-android-arrow-dropright:before,.ion-android-arrow-dropup-circle:before,.ion-android-arrow-dropup:before,.ion-android-arrow-forward:before,.ion-android-arrow-up:before,.ion-android-attach:before,.ion-android-bar:before,.ion-android-bicycle:before,.ion-android-boat:before,.ion-android-bookmark:before,.ion-android-bulb:before,.ion-android-bus:before,.ion-android-calendar:before,.ion-android-call:before,.ion-android-camera:before,.ion-android-cancel:before,.ion-android-car:before,.ion-android-cart:before,.ion-android-chat:before,.ion-android-checkbox-blank:before,.ion-android-checkbox-outline-blank:before,.ion-android-checkbox-outline:before,.ion-android-checkbox:before,.ion-android-checkmark-circle:before,.ion-android-clipboard:before,.ion-android-close:before,.ion-android-cloud-circle:before,.ion-android-cloud-done:before,.ion-android-cloud-outline:before,.ion-android-cloud:before,.ion-android-color-palette:before,.ion-android-compass:before,.ion-android-contact:before,.ion-android-contacts:before,.ion-android-contract:before,.ion-android-create:before,.ion-android-delete:before,.ion-android-desktop:before,.ion-android-document:before,.ion-android-done-all:before,.ion-android-done:before,.ion-android-download:before,.ion-android-drafts:before,.ion-android-exit:before,.ion-android-expand:before,.ion-android-favorite-outline:before,.ion-android-favorite:before,.ion-android-film:before,.ion-android-folder-open:before,.ion-android-folder:before,.ion-android-funnel:before,.ion-android-globe:before,.ion-android-hand:before,.ion-android-hangout:before,.ion-android-happy:before,.ion-android-home:before,.ion-android-image:before,.ion-android-laptop:before,.ion-android-list:before,.ion-android-locate:before,.ion-android-lock:before,.ion-android-mail:before,.ion-android-map:before,.ion-android-menu:before,.ion-android-microphone-off:before,.ion-android-microphone:before,.ion-android-more-horizontal:before,.ion-android-more-vertical:before,.ion-android-navigate:before,.ion-android-notifications-none:before,.ion-android-notifications-off:before,.ion-android-notifications:before,.ion-android-open:before,.ion-android-options:before,.ion-android-people:before,.ion-android-person-add:before,.ion-android-person:before,.ion-android-phone-landscape:before,.ion-android-phone-portrait:before,.ion-android-pin:before,.ion-android-plane:before,.ion-android-playstore:before,.ion-android-print:before,.ion-android-radio-button-off:before,.ion-android-radio-button-on:before,.ion-android-refresh:before,.ion-android-remove-circle:before,.ion-android-remove:before,.ion-android-restaurant:before,.ion-android-sad:before,.ion-android-search:before,.ion-android-send:before,.ion-android-settings:before,.ion-android-share-alt:before,.ion-android-share:before,.ion-android-star-half:before,.ion-android-star-outline:before,.ion-android-star:before,.ion-android-stopwatch:before,.ion-android-subway:before,.ion-android-sunny:before,.ion-android-sync:before,.ion-android-textsms:before,.ion-android-time:before,.ion-android-train:before,.ion-android-unlock:before,.ion-android-upload:before,.ion-android-volume-down:before,.ion-android-volume-mute:before,.ion-android-volume-off:before,.ion-android-volume-up:before,.ion-android-walk:before,.ion-android-warning:before,.ion-android-watch:before,.ion-android-wifi:before,.ion-aperture:before,.ion-archive:before,.ion-arrow-down-a:before,.ion-arrow-down-b:before,.ion-arrow-down-c:before,.ion-arrow-expand:before,.ion-arrow-graph-down-left:before,.ion-arrow-graph-down-right:before,.ion-arrow-graph-up-left:before,.ion-arrow-graph-up-right:before,.ion-arrow-left-a:before,.ion-arrow-left-b:before,.ion-arrow-left-c:before,.ion-arrow-move:before,.ion-arrow-resize:before,.ion-arrow-return-left:before,.ion-arrow-return-right:before,.ion-arrow-right-a:before,.ion-arrow-right-b:before,.ion-arrow-right-c:before,.ion-arrow-shrink:before,.ion-arrow-swap:before,.ion-arrow-up-a:before,.ion-arrow-up-b:before,.ion-arrow-up-c:before,.ion-asterisk:before,.ion-at:before,.ion-backspace-outline:before,.ion-backspace:before,.ion-bag:before,.ion-battery-charging:before,.ion-battery-empty:before,.ion-battery-full:before,.ion-battery-half:before,.ion-battery-low:before,.ion-beaker:before,.ion-beer:before,.ion-bluetooth:before,.ion-bonfire:before,.ion-bookmark:before,.ion-bowtie:before,.ion-briefcase:before,.ion-bug:before,.ion-calculator:before,.ion-calendar:before,.ion-camera:before,.ion-card:before,.ion-cash:before,.ion-chatbox-working:before,.ion-chatbox:before,.ion-chatboxes:before,.ion-chatbubble-working:before,.ion-chatbubble:before,.ion-chatbubbles:before,.ion-checkmark-circled:before,.ion-checkmark-round:before,.ion-checkmark:before,.ion-chevron-down:before,.ion-chevron-left:before,.ion-chevron-right:before,.ion-chevron-up:before,.ion-clipboard:before,.ion-clock:before,.ion-close-circled:before,.ion-close-round:before,.ion-close:before,.ion-closed-captioning:before,.ion-cloud:before,.ion-code-download:before,.ion-code-working:before,.ion-code:before,.ion-coffee:before,.ion-compass:before,.ion-compose:before,.ion-connection-bars:before,.ion-contrast:before,.ion-crop:before,.ion-cube:before,.ion-disc:before,.ion-document-text:before,.ion-document:before,.ion-drag:before,.ion-earth:before,.ion-easel:before,.ion-edit:before,.ion-egg:before,.ion-eject:before,.ion-email-unread:before,.ion-email:before,.ion-erlenmeyer-flask-bubbles:before,.ion-erlenmeyer-flask:before,.ion-eye-disabled:before,.ion-eye:before,.ion-female:before,.ion-filing:before,.ion-film-marker:before,.ion-fireball:before,.ion-flag:before,.ion-flame:before,.ion-flash-off:before,.ion-flash:before,.ion-folder:before,.ion-fork-repo:before,.ion-fork:before,.ion-forward:before,.ion-funnel:before,.ion-gear-a:before,.ion-gear-b:before,.ion-grid:before,.ion-hammer:before,.ion-happy-outline:before,.ion-happy:before,.ion-headphone:before,.ion-heart-broken:before,.ion-heart:before,.ion-help-buoy:before,.ion-help-circled:before,.ion-help:before,.ion-home:before,.ion-icecream:before,.ion-image:before,.ion-images:before,.ion-information-circled:before,.ion-information:before,.ion-ionic:before,.ion-ios-alarm-outline:before,.ion-ios-alarm:before,.ion-ios-albums-outline:before,.ion-ios-albums:before,.ion-ios-americanfootball-outline:before,.ion-ios-americanfootball:before,.ion-ios-analytics-outline:before,.ion-ios-analytics:before,.ion-ios-arrow-back:before,.ion-ios-arrow-down:before,.ion-ios-arrow-forward:before,.ion-ios-arrow-left:before,.ion-ios-arrow-right:before,.ion-ios-arrow-thin-down:before,.ion-ios-arrow-thin-left:before,.ion-ios-arrow-thin-right:before,.ion-ios-arrow-thin-up:before,.ion-ios-arrow-up:before,.ion-ios-at-outline:before,.ion-ios-at:before,.ion-ios-barcode-outline:before,.ion-ios-barcode:before,.ion-ios-baseball-outline:before,.ion-ios-baseball:before,.ion-ios-basketball-outline:before,.ion-ios-basketball:before,.ion-ios-bell-outline:before,.ion-ios-bell:before,.ion-ios-body-outline:before,.ion-ios-body:before,.ion-ios-bolt-outline:before,.ion-ios-bolt:before,.ion-ios-book-outline:before,.ion-ios-book:before,.ion-ios-bookmarks-outline:before,.ion-ios-bookmarks:before,.ion-ios-box-outline:before,.ion-ios-box:before,.ion-ios-briefcase-outline:before,.ion-ios-briefcase:before,.ion-ios-browsers-outline:before,.ion-ios-browsers:before,.ion-ios-calculator-outline:before,.ion-ios-calculator:before,.ion-ios-calendar-outline:before,.ion-ios-calendar:before,.ion-ios-camera-outline:before,.ion-ios-camera:before,.ion-ios-cart-outline:before,.ion-ios-cart:before,.ion-ios-chatboxes-outline:before,.ion-ios-chatboxes:before,.ion-ios-chatbubble-outline:before,.ion-ios-chatbubble:before,.ion-ios-checkmark-empty:before,.ion-ios-checkmark-outline:before,.ion-ios-checkmark:before,.ion-ios-circle-filled:before,.ion-ios-circle-outline:before,.ion-ios-clock-outline:before,.ion-ios-clock:before,.ion-ios-close-empty:before,.ion-ios-close-outline:before,.ion-ios-close:before,.ion-ios-cloud-download-outline:before,.ion-ios-cloud-download:before,.ion-ios-cloud-outline:before,.ion-ios-cloud-upload-outline:before,.ion-ios-cloud-upload:before,.ion-ios-cloud:before,.ion-ios-cloudy-night-outline:before,.ion-ios-cloudy-night:before,.ion-ios-cloudy-outline:before,.ion-ios-cloudy:before,.ion-ios-cog-outline:before,.ion-ios-cog:before,.ion-ios-color-filter-outline:before,.ion-ios-color-filter:before,.ion-ios-color-wand-outline:before,.ion-ios-color-wand:before,.ion-ios-compose-outline:before,.ion-ios-compose:before,.ion-ios-contact-outline:before,.ion-ios-contact:before,.ion-ios-copy-outline:before,.ion-ios-copy:before,.ion-ios-crop-strong:before,.ion-ios-crop:before,.ion-ios-download-outline:before,.ion-ios-download:before,.ion-ios-drag:before,.ion-ios-email-outline:before,.ion-ios-email:before,.ion-ios-eye-outline:before,.ion-ios-eye:before,.ion-ios-fastforward-outline:before,.ion-ios-fastforward:before,.ion-ios-filing-outline:before,.ion-ios-filing:before,.ion-ios-film-outline:before,.ion-ios-film:before,.ion-ios-flag-outline:before,.ion-ios-flag:before,.ion-ios-flame-outline:before,.ion-ios-flame:before,.ion-ios-flask-outline:before,.ion-ios-flask:before,.ion-ios-flower-outline:before,.ion-ios-flower:before,.ion-ios-folder-outline:before,.ion-ios-folder:before,.ion-ios-football-outline:before,.ion-ios-football:before,.ion-ios-game-controller-a-outline:before,.ion-ios-game-controller-a:before,.ion-ios-game-controller-b-outline:before,.ion-ios-game-controller-b:before,.ion-ios-gear-outline:before,.ion-ios-gear:before,.ion-ios-glasses-outline:before,.ion-ios-glasses:before,.ion-ios-grid-view-outline:before,.ion-ios-grid-view:before,.ion-ios-heart-outline:before,.ion-ios-heart:before,.ion-ios-help-empty:before,.ion-ios-help-outline:before,.ion-ios-help:before,.ion-ios-home-outline:before,.ion-ios-home:before,.ion-ios-infinite-outline:before,.ion-ios-infinite:before,.ion-ios-information-empty:before,.ion-ios-information-outline:before,.ion-ios-information:before,.ion-ios-ionic-outline:before,.ion-ios-keypad-outline:before,.ion-ios-keypad:before,.ion-ios-lightbulb-outline:before,.ion-ios-lightbulb:before,.ion-ios-list-outline:before,.ion-ios-list:before,.ion-ios-location-outline:before,.ion-ios-location:before,.ion-ios-locked-outline:before,.ion-ios-locked:before,.ion-ios-loop-strong:before,.ion-ios-loop:before,.ion-ios-medical-outline:before,.ion-ios-medical:before,.ion-ios-medkit-outline:before,.ion-ios-medkit:before,.ion-ios-mic-off:before,.ion-ios-mic-outline:before,.ion-ios-mic:before,.ion-ios-minus-empty:before,.ion-ios-minus-outline:before,.ion-ios-minus:before,.ion-ios-monitor-outline:before,.ion-ios-monitor:before,.ion-ios-moon-outline:before,.ion-ios-moon:before,.ion-ios-more-outline:before,.ion-ios-more:before,.ion-ios-musical-note:before,.ion-ios-musical-notes:before,.ion-ios-navigate-outline:before,.ion-ios-navigate:before,.ion-ios-nutrition-outline:before,.ion-ios-nutrition:before,.ion-ios-paper-outline:before,.ion-ios-paper:before,.ion-ios-paperplane-outline:before,.ion-ios-paperplane:before,.ion-ios-partlysunny-outline:before,.ion-ios-partlysunny:before,.ion-ios-pause-outline:before,.ion-ios-pause:before,.ion-ios-paw-outline:before,.ion-ios-paw:before,.ion-ios-people-outline:before,.ion-ios-people:before,.ion-ios-person-outline:before,.ion-ios-person:before,.ion-ios-personadd-outline:before,.ion-ios-personadd:before,.ion-ios-photos-outline:before,.ion-ios-photos:before,.ion-ios-pie-outline:before,.ion-ios-pie:before,.ion-ios-pint-outline:before,.ion-ios-pint:before,.ion-ios-play-outline:before,.ion-ios-play:before,.ion-ios-plus-empty:before,.ion-ios-plus-outline:before,.ion-ios-plus:before,.ion-ios-pricetag-outline:before,.ion-ios-pricetag:before,.ion-ios-pricetags-outline:before,.ion-ios-pricetags:before,.ion-ios-printer-outline:before,.ion-ios-printer:before,.ion-ios-pulse-strong:before,.ion-ios-pulse:before,.ion-ios-rainy-outline:before,.ion-ios-rainy:before,.ion-ios-recording-outline:before,.ion-ios-recording:before,.ion-ios-redo-outline:before,.ion-ios-redo:before,.ion-ios-refresh-empty:before,.ion-ios-refresh-outline:before,.ion-ios-refresh:before,.ion-ios-reload:before,.ion-ios-reverse-camera-outline:before,.ion-ios-reverse-camera:before,.ion-ios-rewind-outline:before,.ion-ios-rewind:before,.ion-ios-rose-outline:before,.ion-ios-rose:before,.ion-ios-search-strong:before,.ion-ios-search:before,.ion-ios-settings-strong:before,.ion-ios-settings:before,.ion-ios-shuffle-strong:before,.ion-ios-shuffle:before,.ion-ios-skipbackward-outline:before,.ion-ios-skipbackward:before,.ion-ios-skipforward-outline:before,.ion-ios-skipforward:before,.ion-ios-snowy:before,.ion-ios-speedometer-outline:before,.ion-ios-speedometer:before,.ion-ios-star-half:before,.ion-ios-star-outline:before,.ion-ios-star:before,.ion-ios-stopwatch-outline:before,.ion-ios-stopwatch:before,.ion-ios-sunny-outline:before,.ion-ios-sunny:before,.ion-ios-telephone-outline:before,.ion-ios-telephone:before,.ion-ios-tennisball-outline:before,.ion-ios-tennisball:before,.ion-ios-thunderstorm-outline:before,.ion-ios-thunderstorm:before,.ion-ios-time-outline:before,.ion-ios-time:before,.ion-ios-timer-outline:before,.ion-ios-timer:before,.ion-ios-toggle-outline:before,.ion-ios-toggle:before,.ion-ios-trash-outline:before,.ion-ios-trash:before,.ion-ios-undo-outline:before,.ion-ios-undo:before,.ion-ios-unlocked-outline:before,.ion-ios-unlocked:before,.ion-ios-upload-outline:before,.ion-ios-upload:before,.ion-ios-videocam-outline:before,.ion-ios-videocam:before,.ion-ios-volume-high:before,.ion-ios-volume-low:before,.ion-ios-wineglass-outline:before,.ion-ios-wineglass:before,.ion-ios-world-outline:before,.ion-ios-world:before,.ion-ipad:before,.ion-iphone:before,.ion-ipod:before,.ion-jet:before,.ion-key:before,.ion-knife:before,.ion-laptop:before,.ion-leaf:before,.ion-levels:before,.ion-lightbulb:before,.ion-link:before,.ion-load-a:before,.ion-load-b:before,.ion-load-c:before,.ion-load-d:before,.ion-location:before,.ion-lock-combination:before,.ion-locked:before,.ion-log-in:before,.ion-log-out:before,.ion-loop:before,.ion-magnet:before,.ion-male:before,.ion-man:before,.ion-map:before,.ion-medkit:before,.ion-merge:before,.ion-mic-a:before,.ion-mic-b:before,.ion-mic-c:before,.ion-minus-circled:before,.ion-minus-round:before,.ion-minus:before,.ion-model-s:before,.ion-monitor:before,.ion-more:before,.ion-mouse:before,.ion-music-note:before,.ion-navicon-round:before,.ion-navicon:before,.ion-navigate:before,.ion-network:before,.ion-no-smoking:before,.ion-nuclear:before,.ion-outlet:before,.ion-paintbrush:before,.ion-paintbucket:before,.ion-paper-airplane:before,.ion-paperclip:before,.ion-pause:before,.ion-person-add:before,.ion-person-stalker:before,.ion-person:before,.ion-pie-graph:before,.ion-pin:before,.ion-pinpoint:before,.ion-pizza:before,.ion-plane:before,.ion-planet:before,.ion-play:before,.ion-playstation:before,.ion-plus-circled:before,.ion-plus-round:before,.ion-plus:before,.ion-podium:before,.ion-pound:before,.ion-power:before,.ion-pricetag:before,.ion-pricetags:before,.ion-printer:before,.ion-pull-request:before,.ion-qr-scanner:before,.ion-quote:before,.ion-radio-waves:before,.ion-record:before,.ion-refresh:before,.ion-reply-all:before,.ion-reply:before,.ion-ribbon-a:before,.ion-ribbon-b:before,.ion-sad-outline:before,.ion-sad:before,.ion-scissors:before,.ion-search:before,.ion-settings:before,.ion-share:before,.ion-shuffle:before,.ion-skip-backward:before,.ion-skip-forward:before,.ion-social-android-outline:before,.ion-social-android:before,.ion-social-angular-outline:before,.ion-social-angular:before,.ion-social-apple-outline:before,.ion-social-apple:before,.ion-social-bitcoin-outline:before,.ion-social-bitcoin:before,.ion-social-buffer-outline:before,.ion-social-buffer:before,.ion-social-chrome-outline:before,.ion-social-chrome:before,.ion-social-codepen-outline:before,.ion-social-codepen:before,.ion-social-css3-outline:before,.ion-social-css3:before,.ion-social-designernews-outline:before,.ion-social-designernews:before,.ion-social-dribbble-outline:before,.ion-social-dribbble:before,.ion-social-dropbox-outline:before,.ion-social-dropbox:before,.ion-social-euro-outline:before,.ion-social-euro:before,.ion-social-facebook-outline:before,.ion-social-facebook:before,.ion-social-foursquare-outline:before,.ion-social-foursquare:before,.ion-social-freebsd-devil:before,.ion-social-github-outline:before,.ion-social-github:before,.ion-social-google-outline:before,.ion-social-google:before,.ion-social-googleplus-outline:before,.ion-social-googleplus:before,.ion-social-hackernews-outline:before,.ion-social-hackernews:before,.ion-social-html5-outline:before,.ion-social-html5:before,.ion-social-instagram-outline:before,.ion-social-instagram:before,.ion-social-javascript-outline:before,.ion-social-javascript:before,.ion-social-linkedin-outline:before,.ion-social-linkedin:before,.ion-social-markdown:before,.ion-social-nodejs:before,.ion-social-octocat:before,.ion-social-pinterest-outline:before,.ion-social-pinterest:before,.ion-social-python:before,.ion-social-reddit-outline:before,.ion-social-reddit:before,.ion-social-rss-outline:before,.ion-social-rss:before,.ion-social-sass:before,.ion-social-skype-outline:before,.ion-social-skype:before,.ion-social-snapchat-outline:before,.ion-social-snapchat:before,.ion-social-tumblr-outline:before,.ion-social-tumblr:before,.ion-social-tux:before,.ion-social-twitch-outline:before,.ion-social-twitch:before,.ion-social-twitter-outline:before,.ion-social-twitter:before,.ion-social-usd-outline:before,.ion-social-usd:before,.ion-social-vimeo-outline:before,.ion-social-vimeo:before,.ion-social-whatsapp-outline:before,.ion-social-whatsapp:before,.ion-social-windows-outline:before,.ion-social-windows:before,.ion-social-wordpress-outline:before,.ion-social-wordpress:before,.ion-social-yahoo-outline:before,.ion-social-yahoo:before,.ion-social-yen-outline:before,.ion-social-yen:before,.ion-social-youtube-outline:before,.ion-social-youtube:before,.ion-soup-can-outline:before,.ion-soup-can:before,.ion-speakerphone:before,.ion-speedometer:before,.ion-spoon:before,.ion-star:before,.ion-stats-bars:before,.ion-steam:before,.ion-stop:before,.ion-thermometer:before,.ion-thumbsdown:before,.ion-thumbsup:before,.ion-toggle-filled:before,.ion-toggle:before,.ion-transgender:before,.ion-trash-a:before,.ion-trash-b:before,.ion-trophy:before,.ion-tshirt-outline:before,.ion-tshirt:before,.ion-umbrella:before,.ion-university:before,.ion-unlocked:before,.ion-upload:before,.ion-usb:before,.ion-videocamera:before,.ion-volume-high:before,.ion-volume-low:before,.ion-volume-medium:before,.ion-volume-mute:before,.ion-wand:before,.ion-waterdrop:before,.ion-wifi:before,.ion-wineglass:before,.ion-woman:before,.ion-wrench:before,.ion-xbox:before,.ionicons{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-display:optional;font-family:Ionicons;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto;text-transform:none}.ion-alert:before{content:""}.ion-alert-circled:before{content:""}.ion-android-add:before{content:""}.ion-android-add-circle:before{content:""}.ion-android-alarm-clock:before{content:""}.ion-android-alert:before{content:""}.ion-android-apps:before{content:""}.ion-android-archive:before{content:""}.ion-android-arrow-back:before{content:""}.ion-android-arrow-down:before{content:""}.ion-android-arrow-dropdown:before{content:""}.ion-android-arrow-dropdown-circle:before{content:""}.ion-android-arrow-dropleft:before{content:""}.ion-android-arrow-dropleft-circle:before{content:""}.ion-android-arrow-dropright:before{content:""}.ion-android-arrow-dropright-circle:before{content:""}.ion-android-arrow-dropup:before{content:""}.ion-android-arrow-dropup-circle:before{content:""}.ion-android-arrow-forward:before{content:""}.ion-android-arrow-up:before{content:""}.ion-android-attach:before{content:""}.ion-android-bar:before{content:""}.ion-android-bicycle:before{content:""}.ion-android-boat:before{content:""}.ion-android-bookmark:before{content:""}.ion-android-bulb:before{content:""}.ion-android-bus:before{content:""}.ion-android-calendar:before{content:""}.ion-android-call:before{content:""}.ion-android-camera:before{content:""}.ion-android-cancel:before{content:""}.ion-android-car:before{content:""}.ion-android-cart:before{content:""}.ion-android-chat:before{content:""}.ion-android-checkbox:before{content:""}.ion-android-checkbox-blank:before{content:""}.ion-android-checkbox-outline:before{content:""}.ion-android-checkbox-outline-blank:before{content:""}.ion-android-checkmark-circle:before{content:""}.ion-android-clipboard:before{content:""}.ion-android-close:before{content:""}.ion-android-cloud:before{content:""}.ion-android-cloud-circle:before{content:""}.ion-android-cloud-done:before{content:""}.ion-android-cloud-outline:before{content:""}.ion-android-color-palette:before{content:""}.ion-android-compass:before{content:""}.ion-android-contact:before{content:""}.ion-android-contacts:before{content:""}.ion-android-contract:before{content:""}.ion-android-create:before{content:""}.ion-android-delete:before{content:""}.ion-android-desktop:before{content:""}.ion-android-document:before{content:""}.ion-android-done:before{content:""}.ion-android-done-all:before{content:""}.ion-android-download:before{content:""}.ion-android-drafts:before{content:""}.ion-android-exit:before{content:""}.ion-android-expand:before{content:""}.ion-android-favorite:before{content:""}.ion-android-favorite-outline:before{content:""}.ion-android-film:before{content:""}.ion-android-folder:before{content:""}.ion-android-folder-open:before{content:""}.ion-android-funnel:before{content:""}.ion-android-globe:before{content:""}.ion-android-hand:before{content:""}.ion-android-hangout:before{content:""}.ion-android-happy:before{content:""}.ion-android-home:before{content:""}.ion-android-image:before{content:""}.ion-android-laptop:before{content:""}.ion-android-list:before{content:""}.ion-android-locate:before{content:""}.ion-android-lock:before{content:""}.ion-android-mail:before{content:""}.ion-android-map:before{content:""}.ion-android-menu:before{content:""}.ion-android-microphone:before{content:""}.ion-android-microphone-off:before{content:""}.ion-android-more-horizontal:before{content:""}.ion-android-more-vertical:before{content:""}.ion-android-navigate:before{content:""}.ion-android-notifications:before{content:""}.ion-android-notifications-none:before{content:""}.ion-android-notifications-off:before{content:""}.ion-android-open:before{content:""}.ion-android-options:before{content:""}.ion-android-people:before{content:""}.ion-android-person:before{content:""}.ion-android-person-add:before{content:""}.ion-android-phone-landscape:before{content:""}.ion-android-phone-portrait:before{content:""}.ion-android-pin:before{content:""}.ion-android-plane:before{content:""}.ion-android-playstore:before{content:""}.ion-android-print:before{content:""}.ion-android-radio-button-off:before{content:""}.ion-android-radio-button-on:before{content:""}.ion-android-refresh:before{content:""}.ion-android-remove:before{content:""}.ion-android-remove-circle:before{content:""}.ion-android-restaurant:before{content:""}.ion-android-sad:before{content:""}.ion-android-search:before{content:""}.ion-android-send:before{content:""}.ion-android-settings:before{content:""}.ion-android-share:before{content:""}.ion-android-share-alt:before{content:""}.ion-android-star:before{content:""}.ion-android-star-half:before{content:""}.ion-android-star-outline:before{content:""}.ion-android-stopwatch:before{content:""}.ion-android-subway:before{content:""}.ion-android-sunny:before{content:""}.ion-android-sync:before{content:""}.ion-android-textsms:before{content:""}.ion-android-time:before{content:""}.ion-android-train:before{content:""}.ion-android-unlock:before{content:""}.ion-android-upload:before{content:""}.ion-android-volume-down:before{content:""}.ion-android-volume-mute:before{content:""}.ion-android-volume-off:before{content:""}.ion-android-volume-up:before{content:""}.ion-android-walk:before{content:""}.ion-android-warning:before{content:""}.ion-android-watch:before{content:""}.ion-android-wifi:before{content:""}.ion-aperture:before{content:""}.ion-archive:before{content:""}.ion-arrow-down-a:before{content:""}.ion-arrow-down-b:before{content:""}.ion-arrow-down-c:before{content:""}.ion-arrow-expand:before{content:""}.ion-arrow-graph-down-left:before{content:""}.ion-arrow-graph-down-right:before{content:""}.ion-arrow-graph-up-left:before{content:""}.ion-arrow-graph-up-right:before{content:""}.ion-arrow-left-a:before{content:""}.ion-arrow-left-b:before{content:""}.ion-arrow-left-c:before{content:""}.ion-arrow-move:before{content:""}.ion-arrow-resize:before{content:""}.ion-arrow-return-left:before{content:""}.ion-arrow-return-right:before{content:""}.ion-arrow-right-a:before{content:""}.ion-arrow-right-b:before{content:""}.ion-arrow-right-c:before{content:""}.ion-arrow-shrink:before{content:""}.ion-arrow-swap:before{content:""}.ion-arrow-up-a:before{content:""}.ion-arrow-up-b:before{content:""}.ion-arrow-up-c:before{content:""}.ion-asterisk:before{content:""}.ion-at:before{content:""}.ion-backspace:before{content:""}.ion-backspace-outline:before{content:""}.ion-bag:before{content:""}.ion-battery-charging:before{content:""}.ion-battery-empty:before{content:""}.ion-battery-full:before{content:""}.ion-battery-half:before{content:""}.ion-battery-low:before{content:""}.ion-beaker:before{content:""}.ion-beer:before{content:""}.ion-bluetooth:before{content:""}.ion-bonfire:before{content:""}.ion-bookmark:before{content:""}.ion-bowtie:before{content:""}.ion-briefcase:before{content:""}.ion-bug:before{content:""}.ion-calculator:before{content:""}.ion-calendar:before{content:""}.ion-camera:before{content:""}.ion-card:before{content:""}.ion-cash:before{content:""}.ion-chatbox:before{content:""}.ion-chatbox-working:before{content:""}.ion-chatboxes:before{content:""}.ion-chatbubble:before{content:""}.ion-chatbubble-working:before{content:""}.ion-chatbubbles:before{content:""}.ion-checkmark:before{content:""}.ion-checkmark-circled:before{content:""}.ion-checkmark-round:before{content:""}.ion-chevron-down:before{content:""}.ion-chevron-left:before{content:""}.ion-chevron-right:before{content:""}.ion-chevron-up:before{content:""}.ion-clipboard:before{content:""}.ion-clock:before{content:""}.ion-close:before{content:""}.ion-close-circled:before{content:""}.ion-close-round:before{content:""}.ion-closed-captioning:before{content:""}.ion-cloud:before{content:""}.ion-code:before{content:""}.ion-code-download:before{content:""}.ion-code-working:before{content:""}.ion-coffee:before{content:""}.ion-compass:before{content:""}.ion-compose:before{content:""}.ion-connection-bars:before{content:""}.ion-contrast:before{content:""}.ion-crop:before{content:""}.ion-cube:before{content:""}.ion-disc:before{content:""}.ion-document:before{content:""}.ion-document-text:before{content:""}.ion-drag:before{content:""}.ion-earth:before{content:""}.ion-easel:before{content:""}.ion-edit:before{content:""}.ion-egg:before{content:""}.ion-eject:before{content:""}.ion-email:before{content:""}.ion-email-unread:before{content:""}.ion-erlenmeyer-flask:before{content:""}.ion-erlenmeyer-flask-bubbles:before{content:""}.ion-eye:before{content:""}.ion-eye-disabled:before{content:""}.ion-female:before{content:""}.ion-filing:before{content:""}.ion-film-marker:before{content:""}.ion-fireball:before{content:""}.ion-flag:before{content:""}.ion-flame:before{content:""}.ion-flash:before{content:""}.ion-flash-off:before{content:""}.ion-folder:before{content:""}.ion-fork:before{content:""}.ion-fork-repo:before{content:""}.ion-forward:before{content:""}.ion-funnel:before{content:""}.ion-gear-a:before{content:""}.ion-gear-b:before{content:""}.ion-grid:before{content:""}.ion-hammer:before{content:""}.ion-happy:before{content:""}.ion-happy-outline:before{content:""}.ion-headphone:before{content:""}.ion-heart:before{content:""}.ion-heart-broken:before{content:""}.ion-help:before{content:""}.ion-help-buoy:before{content:""}.ion-help-circled:before{content:""}.ion-home:before{content:""}.ion-icecream:before{content:""}.ion-image:before{content:""}.ion-images:before{content:""}.ion-information:before{content:""}.ion-information-circled:before{content:""}.ion-ionic:before{content:""}.ion-ios-alarm:before{content:""}.ion-ios-alarm-outline:before{content:""}.ion-ios-albums:before{content:""}.ion-ios-albums-outline:before{content:""}.ion-ios-americanfootball:before{content:""}.ion-ios-americanfootball-outline:before{content:""}.ion-ios-analytics:before{content:""}.ion-ios-analytics-outline:before{content:""}.ion-ios-arrow-back:before{content:""}.ion-ios-arrow-down:before{content:""}.ion-ios-arrow-forward:before{content:""}.ion-ios-arrow-left:before{content:""}.ion-ios-arrow-right:before{content:""}.ion-ios-arrow-thin-down:before{content:""}.ion-ios-arrow-thin-left:before{content:""}.ion-ios-arrow-thin-right:before{content:""}.ion-ios-arrow-thin-up:before{content:""}.ion-ios-arrow-up:before{content:""}.ion-ios-at:before{content:""}.ion-ios-at-outline:before{content:""}.ion-ios-barcode:before{content:""}.ion-ios-barcode-outline:before{content:""}.ion-ios-baseball:before{content:""}.ion-ios-baseball-outline:before{content:""}.ion-ios-basketball:before{content:""}.ion-ios-basketball-outline:before{content:""}.ion-ios-bell:before{content:""}.ion-ios-bell-outline:before{content:""}.ion-ios-body:before{content:""}.ion-ios-body-outline:before{content:""}.ion-ios-bolt:before{content:""}.ion-ios-bolt-outline:before{content:""}.ion-ios-book:before{content:""}.ion-ios-book-outline:before{content:""}.ion-ios-bookmarks:before{content:""}.ion-ios-bookmarks-outline:before{content:""}.ion-ios-box:before{content:""}.ion-ios-box-outline:before{content:""}.ion-ios-briefcase:before{content:""}.ion-ios-briefcase-outline:before{content:""}.ion-ios-browsers:before{content:""}.ion-ios-browsers-outline:before{content:""}.ion-ios-calculator:before{content:""}.ion-ios-calculator-outline:before{content:""}.ion-ios-calendar:before{content:""}.ion-ios-calendar-outline:before{content:""}.ion-ios-camera:before{content:""}.ion-ios-camera-outline:before{content:""}.ion-ios-cart:before{content:""}.ion-ios-cart-outline:before{content:""}.ion-ios-chatboxes:before{content:""}.ion-ios-chatboxes-outline:before{content:""}.ion-ios-chatbubble:before{content:""}.ion-ios-chatbubble-outline:before{content:""}.ion-ios-checkmark:before{content:""}.ion-ios-checkmark-empty:before{content:""}.ion-ios-checkmark-outline:before{content:""}.ion-ios-circle-filled:before{content:""}.ion-ios-circle-outline:before{content:""}.ion-ios-clock:before{content:""}.ion-ios-clock-outline:before{content:""}.ion-ios-close:before{content:""}.ion-ios-close-empty:before{content:""}.ion-ios-close-outline:before{content:""}.ion-ios-cloud:before{content:""}.ion-ios-cloud-download:before{content:""}.ion-ios-cloud-download-outline:before{content:""}.ion-ios-cloud-outline:before{content:""}.ion-ios-cloud-upload:before{content:""}.ion-ios-cloud-upload-outline:before{content:""}.ion-ios-cloudy:before{content:""}.ion-ios-cloudy-night:before{content:""}.ion-ios-cloudy-night-outline:before{content:""}.ion-ios-cloudy-outline:before{content:""}.ion-ios-cog:before{content:""}.ion-ios-cog-outline:before{content:""}.ion-ios-color-filter:before{content:""}.ion-ios-color-filter-outline:before{content:""}.ion-ios-color-wand:before{content:""}.ion-ios-color-wand-outline:before{content:""}.ion-ios-compose:before{content:""}.ion-ios-compose-outline:before{content:""}.ion-ios-contact:before{content:""}.ion-ios-contact-outline:before{content:""}.ion-ios-copy:before{content:""}.ion-ios-copy-outline:before{content:""}.ion-ios-crop:before{content:""}.ion-ios-crop-strong:before{content:""}.ion-ios-download:before{content:""}.ion-ios-download-outline:before{content:""}.ion-ios-drag:before{content:""}.ion-ios-email:before{content:""}.ion-ios-email-outline:before{content:""}.ion-ios-eye:before{content:""}.ion-ios-eye-outline:before{content:""}.ion-ios-fastforward:before{content:""}.ion-ios-fastforward-outline:before{content:""}.ion-ios-filing:before{content:""}.ion-ios-filing-outline:before{content:""}.ion-ios-film:before{content:""}.ion-ios-film-outline:before{content:""}.ion-ios-flag:before{content:""}.ion-ios-flag-outline:before{content:""}.ion-ios-flame:before{content:""}.ion-ios-flame-outline:before{content:""}.ion-ios-flask:before{content:""}.ion-ios-flask-outline:before{content:""}.ion-ios-flower:before{content:""}.ion-ios-flower-outline:before{content:""}.ion-ios-folder:before{content:""}.ion-ios-folder-outline:before{content:""}.ion-ios-football:before{content:""}.ion-ios-football-outline:before{content:""}.ion-ios-game-controller-a:before{content:""}.ion-ios-game-controller-a-outline:before{content:""}.ion-ios-game-controller-b:before{content:""}.ion-ios-game-controller-b-outline:before{content:""}.ion-ios-gear:before{content:""}.ion-ios-gear-outline:before{content:""}.ion-ios-glasses:before{content:""}.ion-ios-glasses-outline:before{content:""}.ion-ios-grid-view:before{content:""}.ion-ios-grid-view-outline:before{content:""}.ion-ios-heart:before{content:""}.ion-ios-heart-outline:before{content:""}.ion-ios-help:before{content:""}.ion-ios-help-empty:before{content:""}.ion-ios-help-outline:before{content:""}.ion-ios-home:before{content:""}.ion-ios-home-outline:before{content:""}.ion-ios-infinite:before{content:""}.ion-ios-infinite-outline:before{content:""}.ion-ios-information:before{content:""}.ion-ios-information-empty:before{content:""}.ion-ios-information-outline:before{content:""}.ion-ios-ionic-outline:before{content:""}.ion-ios-keypad:before{content:""}.ion-ios-keypad-outline:before{content:""}.ion-ios-lightbulb:before{content:""}.ion-ios-lightbulb-outline:before{content:""}.ion-ios-list:before{content:""}.ion-ios-list-outline:before{content:""}.ion-ios-location:before{content:""}.ion-ios-location-outline:before{content:""}.ion-ios-locked:before{content:""}.ion-ios-locked-outline:before{content:""}.ion-ios-loop:before{content:""}.ion-ios-loop-strong:before{content:""}.ion-ios-medical:before{content:""}.ion-ios-medical-outline:before{content:""}.ion-ios-medkit:before{content:""}.ion-ios-medkit-outline:before{content:""}.ion-ios-mic:before{content:""}.ion-ios-mic-off:before{content:""}.ion-ios-mic-outline:before{content:""}.ion-ios-minus:before{content:""}.ion-ios-minus-empty:before{content:""}.ion-ios-minus-outline:before{content:""}.ion-ios-monitor:before{content:""}.ion-ios-monitor-outline:before{content:""}.ion-ios-moon:before{content:""}.ion-ios-moon-outline:before{content:""}.ion-ios-more:before{content:""}.ion-ios-more-outline:before{content:""}.ion-ios-musical-note:before{content:""}.ion-ios-musical-notes:before{content:""}.ion-ios-navigate:before{content:""}.ion-ios-navigate-outline:before{content:""}.ion-ios-nutrition:before{content:""}.ion-ios-nutrition-outline:before{content:""}.ion-ios-paper:before{content:""}.ion-ios-paper-outline:before{content:""}.ion-ios-paperplane:before{content:""}.ion-ios-paperplane-outline:before{content:""}.ion-ios-partlysunny:before{content:""}.ion-ios-partlysunny-outline:before{content:""}.ion-ios-pause:before{content:""}.ion-ios-pause-outline:before{content:""}.ion-ios-paw:before{content:""}.ion-ios-paw-outline:before{content:""}.ion-ios-people:before{content:""}.ion-ios-people-outline:before{content:""}.ion-ios-person:before{content:""}.ion-ios-person-outline:before{content:""}.ion-ios-personadd:before{content:""}.ion-ios-personadd-outline:before{content:""}.ion-ios-photos:before{content:""}.ion-ios-photos-outline:before{content:""}.ion-ios-pie:before{content:""}.ion-ios-pie-outline:before{content:""}.ion-ios-pint:before{content:""}.ion-ios-pint-outline:before{content:""}.ion-ios-play:before{content:""}.ion-ios-play-outline:before{content:""}.ion-ios-plus:before{content:""}.ion-ios-plus-empty:before{content:""}.ion-ios-plus-outline:before{content:""}.ion-ios-pricetag:before{content:""}.ion-ios-pricetag-outline:before{content:""}.ion-ios-pricetags:before{content:""}.ion-ios-pricetags-outline:before{content:""}.ion-ios-printer:before{content:""}.ion-ios-printer-outline:before{content:""}.ion-ios-pulse:before{content:""}.ion-ios-pulse-strong:before{content:""}.ion-ios-rainy:before{content:""}.ion-ios-rainy-outline:before{content:""}.ion-ios-recording:before{content:""}.ion-ios-recording-outline:before{content:""}.ion-ios-redo:before{content:""}.ion-ios-redo-outline:before{content:""}.ion-ios-refresh:before{content:""}.ion-ios-refresh-empty:before{content:""}.ion-ios-refresh-outline:before{content:""}.ion-ios-reload:before{content:""}.ion-ios-reverse-camera:before{content:""}.ion-ios-reverse-camera-outline:before{content:""}.ion-ios-rewind:before{content:""}.ion-ios-rewind-outline:before{content:""}.ion-ios-rose:before{content:""}.ion-ios-rose-outline:before{content:""}.ion-ios-search:before{content:""}.ion-ios-search-strong:before{content:""}.ion-ios-settings:before{content:""}.ion-ios-settings-strong:before{content:""}.ion-ios-shuffle:before{content:""}.ion-ios-shuffle-strong:before{content:""}.ion-ios-skipbackward:before{content:""}.ion-ios-skipbackward-outline:before{content:""}.ion-ios-skipforward:before{content:""}.ion-ios-skipforward-outline:before{content:""}.ion-ios-snowy:before{content:""}.ion-ios-speedometer:before{content:""}.ion-ios-speedometer-outline:before{content:""}.ion-ios-star:before{content:""}.ion-ios-star-half:before{content:""}.ion-ios-star-outline:before{content:""}.ion-ios-stopwatch:before{content:""}.ion-ios-stopwatch-outline:before{content:""}.ion-ios-sunny:before{content:""}.ion-ios-sunny-outline:before{content:""}.ion-ios-telephone:before{content:""}.ion-ios-telephone-outline:before{content:""}.ion-ios-tennisball:before{content:""}.ion-ios-tennisball-outline:before{content:""}.ion-ios-thunderstorm:before{content:""}.ion-ios-thunderstorm-outline:before{content:""}.ion-ios-time:before{content:""}.ion-ios-time-outline:before{content:""}.ion-ios-timer:before{content:""}.ion-ios-timer-outline:before{content:""}.ion-ios-toggle:before{content:""}.ion-ios-toggle-outline:before{content:""}.ion-ios-trash:before{content:""}.ion-ios-trash-outline:before{content:""}.ion-ios-undo:before{content:""}.ion-ios-undo-outline:before{content:""}.ion-ios-unlocked:before{content:""}.ion-ios-unlocked-outline:before{content:""}.ion-ios-upload:before{content:""}.ion-ios-upload-outline:before{content:""}.ion-ios-videocam:before{content:""}.ion-ios-videocam-outline:before{content:""}.ion-ios-volume-high:before{content:""}.ion-ios-volume-low:before{content:""}.ion-ios-wineglass:before{content:""}.ion-ios-wineglass-outline:before{content:""}.ion-ios-world:before{content:""}.ion-ios-world-outline:before{content:""}.ion-ipad:before{content:""}.ion-iphone:before{content:""}.ion-ipod:before{content:""}.ion-jet:before{content:""}.ion-key:before{content:""}.ion-knife:before{content:""}.ion-laptop:before{content:""}.ion-leaf:before{content:""}.ion-levels:before{content:""}.ion-lightbulb:before{content:""}.ion-link:before{content:""}.ion-load-a:before{content:""}.ion-load-b:before{content:""}.ion-load-c:before{content:""}.ion-load-d:before{content:""}.ion-location:before{content:""}.ion-lock-combination:before{content:""}.ion-locked:before{content:""}.ion-log-in:before{content:""}.ion-log-out:before{content:""}.ion-loop:before{content:""}.ion-magnet:before{content:""}.ion-male:before{content:""}.ion-man:before{content:""}.ion-map:before{content:""}.ion-medkit:before{content:""}.ion-merge:before{content:""}.ion-mic-a:before{content:""}.ion-mic-b:before{content:""}.ion-mic-c:before{content:""}.ion-minus:before{content:""}.ion-minus-circled:before{content:""}.ion-minus-round:before{content:""}.ion-model-s:before{content:""}.ion-monitor:before{content:""}.ion-more:before{content:""}.ion-mouse:before{content:""}.ion-music-note:before{content:""}.ion-navicon:before{content:""}.ion-navicon-round:before{content:""}.ion-navigate:before{content:""}.ion-network:before{content:""}.ion-no-smoking:before{content:""}.ion-nuclear:before{content:""}.ion-outlet:before{content:""}.ion-paintbrush:before{content:""}.ion-paintbucket:before{content:""}.ion-paper-airplane:before{content:""}.ion-paperclip:before{content:""}.ion-pause:before{content:""}.ion-person:before{content:""}.ion-person-add:before{content:""}.ion-person-stalker:before{content:""}.ion-pie-graph:before{content:""}.ion-pin:before{content:""}.ion-pinpoint:before{content:""}.ion-pizza:before{content:""}.ion-plane:before{content:""}.ion-planet:before{content:""}.ion-play:before{content:""}.ion-playstation:before{content:""}.ion-plus:before{content:""}.ion-plus-circled:before{content:""}.ion-plus-round:before{content:""}.ion-podium:before{content:""}.ion-pound:before{content:""}.ion-power:before{content:""}.ion-pricetag:before{content:""}.ion-pricetags:before{content:""}.ion-printer:before{content:""}.ion-pull-request:before{content:""}.ion-qr-scanner:before{content:""}.ion-quote:before{content:""}.ion-radio-waves:before{content:""}.ion-record:before{content:""}.ion-refresh:before{content:""}.ion-reply:before{content:""}.ion-reply-all:before{content:""}.ion-ribbon-a:before{content:""}.ion-ribbon-b:before{content:""}.ion-sad:before{content:""}.ion-sad-outline:before{content:""}.ion-scissors:before{content:""}.ion-search:before{content:""}.ion-settings:before{content:""}.ion-share:before{content:""}.ion-shuffle:before{content:""}.ion-skip-backward:before{content:""}.ion-skip-forward:before{content:""}.ion-social-android:before{content:""}.ion-social-android-outline:before{content:""}.ion-social-angular:before{content:""}.ion-social-angular-outline:before{content:""}.ion-social-apple:before{content:""}.ion-social-apple-outline:before{content:""}.ion-social-bitcoin:before{content:""}.ion-social-bitcoin-outline:before{content:""}.ion-social-buffer:before{content:""}.ion-social-buffer-outline:before{content:""}.ion-social-chrome:before{content:""}.ion-social-chrome-outline:before{content:""}.ion-social-codepen:before{content:""}.ion-social-codepen-outline:before{content:""}.ion-social-css3:before{content:""}.ion-social-css3-outline:before{content:""}.ion-social-designernews:before{content:""}.ion-social-designernews-outline:before{content:""}.ion-social-dribbble:before{content:""}.ion-social-dribbble-outline:before{content:""}.ion-social-dropbox:before{content:""}.ion-social-dropbox-outline:before{content:""}.ion-social-euro:before{content:""}.ion-social-euro-outline:before{content:""}.ion-social-facebook:before{content:""}.ion-social-facebook-outline:before{content:""}.ion-social-foursquare:before{content:""}.ion-social-foursquare-outline:before{content:""}.ion-social-freebsd-devil:before{content:""}.ion-social-github:before{content:""}.ion-social-github-outline:before{content:""}.ion-social-google:before{content:""}.ion-social-google-outline:before{content:""}.ion-social-googleplus:before{content:""}.ion-social-googleplus-outline:before{content:""}.ion-social-hackernews:before{content:""}.ion-social-hackernews-outline:before{content:""}.ion-social-html5:before{content:""}.ion-social-html5-outline:before{content:""}.ion-social-instagram:before{content:""}.ion-social-instagram-outline:before{content:""}.ion-social-javascript:before{content:""}.ion-social-javascript-outline:before{content:""}.ion-social-linkedin:before{content:""}.ion-social-linkedin-outline:before{content:""}.ion-social-markdown:before{content:""}.ion-social-nodejs:before{content:""}.ion-social-octocat:before{content:""}.ion-social-pinterest:before{content:""}.ion-social-pinterest-outline:before{content:""}.ion-social-python:before{content:""}.ion-social-reddit:before{content:""}.ion-social-reddit-outline:before{content:""}.ion-social-rss:before{content:""}.ion-social-rss-outline:before{content:""}.ion-social-sass:before{content:""}.ion-social-skype:before{content:""}.ion-social-skype-outline:before{content:""}.ion-social-snapchat:before{content:""}.ion-social-snapchat-outline:before{content:""}.ion-social-tumblr:before{content:""}.ion-social-tumblr-outline:before{content:""}.ion-social-tux:before{content:""}.ion-social-twitch:before{content:""}.ion-social-twitch-outline:before{content:""}.ion-social-twitter:before{content:""}.ion-social-twitter-outline:before{content:""}.ion-social-usd:before{content:""}.ion-social-usd-outline:before{content:""}.ion-social-vimeo:before{content:""}.ion-social-vimeo-outline:before{content:""}.ion-social-whatsapp:before{content:""}.ion-social-whatsapp-outline:before{content:""}.ion-social-windows:before{content:""}.ion-social-windows-outline:before{content:""}.ion-social-wordpress:before{content:""}.ion-social-wordpress-outline:before{content:""}.ion-social-yahoo:before{content:""}.ion-social-yahoo-outline:before{content:""}.ion-social-yen:before{content:""}.ion-social-yen-outline:before{content:""}.ion-social-youtube:before{content:""}.ion-social-youtube-outline:before{content:""}.ion-soup-can:before{content:""}.ion-soup-can-outline:before{content:""}.ion-speakerphone:before{content:""}.ion-speedometer:before{content:""}.ion-spoon:before{content:""}.ion-star:before{content:""}.ion-stats-bars:before{content:""}.ion-steam:before{content:""}.ion-stop:before{content:""}.ion-thermometer:before{content:""}.ion-thumbsdown:before{content:""}.ion-thumbsup:before{content:""}.ion-toggle:before{content:""}.ion-toggle-filled:before{content:""}.ion-transgender:before{content:""}.ion-trash-a:before{content:""}.ion-trash-b:before{content:""}.ion-trophy:before{content:""}.ion-tshirt:before{content:""}.ion-tshirt-outline:before{content:""}.ion-umbrella:before{content:""}.ion-university:before{content:""}.ion-unlocked:before{content:""}.ion-upload:before{content:""}.ion-usb:before{content:""}.ion-videocamera:before{content:""}.ion-volume-high:before{content:""}.ion-volume-low:before{content:""}.ion-volume-medium:before{content:""}.ion-volume-mute:before{content:""}.ion-wand:before{content:""}.ion-waterdrop:before{content:""}.ion-wifi:before{content:""}.ion-wineglass:before{content:""}.ion-woman:before{content:""}.ion-wrench:before{content:""}.ion-xbox:before{content:""}table{max-width:100%;overflow:auto;table-layout:fixed;width:100%}@media(min-width:40em){table{table-layout:auto}}table{border-collapse:collapse;border-spacing:0;margin-bottom:16px;margin-top:0}table tr{border-top:1px solid #c6cbd1}table td,table th{border:1px solid #dfe2e5;color:var(--color-paragraphs);padding:.375rem .825rem}table td{overflow-wrap:break-word}@media(min-width:40em){table td{overflow-wrap:normal}}table th{font-family:var(--type-bold)}table tr:nth-child(2n){background-color:#fafafa}table.rfc-table{overflow-x:scroll;white-space:nowrap;width:auto}@media(min-width:52em){table.rfc-table{overflow-x:initial;white-space:normal;width:100%}}table.rfc-table td{border:none}table.rfc-table tr{border-top:none}table.rfc-table thead{text-align:left}table.rfc-table th{border:none;border-bottom:1px solid #c6cbd1}table.rfc-table td{vertical-align:middle}table.rfc-table tr:hover td{background-color:#f5f5f5}table.borderless,table.borderless td,table.borderless tr{border:none}table :not(pre) code[class*=language-]{-webkit-hyphens:auto;hyphens:auto;word-break:break-all;word-break:break-word}@media(min-width:52em){table :not(pre) code[class*=language-]{white-space:nowrap}}.scroller table{max-width:unset;table-layout:unset;width:max-content}@media(min-width:52em){.scroller table{table-layout:fixed;width:100%}}.scroller table code[class*=language-]{white-space:nowrap}.scroller table .ref{white-space:pre-wrap}address{color:var(--color-paragraphs);font-style:normal}b,strong{font-family:var(--type-bold)}em,i{font-family:var(--type-italic);font-style:italic}.paragraph,p{color:var(--color-paragraphs);font-size:1rem;font-weight:400;line-height:1.85}@media(min-width:64em){.paragraph,p{font-size:1.1rem}}@media(min-width:114em){.paragraph,p{font-size:1.15rem}}.blog article li[style^=line-height]{line-height:revert!important}abbr{cursor:help;font-variant:small-caps;letter-spacing:.1em;text-transform:lowercase}time{font-size:.85rem;font-weight:400;line-height:1.85}sub,sup{font-size:65%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}kbd{border:1px solid var(--color-grey-light);border-radius:4px;padding:.25rem}blockquote{font-style:normal}blockquote p{margin:0}blockquote{font-size:1.25rem;font-weight:400;padding:1em;position:relative}blockquote:before{color:var(--color-spot);content:"“";font-family:serif;font-size:68px;line-height:0px;position:absolute;top:20px}@media(min-width:64em){blockquote:before{font-size:96px;right:100%;top:50px}}blockquote:after{background:linear-gradient(70deg,#ffdd40,var(--color-spot));content:"";display:block;height:4px;left:1em;position:absolute;top:100%;width:80px}.monospaced,code,pre,pre:not([class^=language]),samp{font-family:Roboto-Mono,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.monospaced,pre:not([class^=language]){word-wrap:normal;background:#282a36;color:#fff;font-size:.875rem;-webkit-hyphens:none;hyphens:none;line-height:1.5;overflow:auto;padding:1em;tab-size:4;text-align:left;white-space:pre-wrap;word-break:normal;word-spacing:normal}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)}h1,h2,h3,h4,h5,h6{font-family:var(--type-regular);font-weight:400;line-height:1.25;margin-bottom:.5em;margin-top:1em}.h1,h1{font-size:2rem}@media(min-width:64em){.h1,h1{font-size:3rem}}.h2,h2{font-size:1.5rem}@media(min-width:64em){.h2,h2{font-size:2rem}}.h3,h3{font-size:1.25rem}@media(min-width:64em){.h3,h3{font-size:1.5rem}}.h4,h4{font-size:.95rem}@media(min-width:64em){.h4,h4{font-size:1.15rem}}.h5,h5{font-size:.95rem}@media(min-width:64em){.h5,h5{font-size:1rem}}ol,ul{margin-left:0}ul{list-style-type:disc}ol,ul{color:var(--color-paragraphs);font-size:1rem;line-height:1.85}@media(min-width:64em){ol,ul{font-size:1.1rem}}li ol,li ul,ol ol,ul ul{margin-bottom:0;margin-top:0}ol.numbers{counter-reset:section;list-style-type:none}ol.numbers li{margin-bottom:1rem}ol.numbers li:before{align-items:center;background-color:var(--color-spot);border-radius:50%;color:#fff;content:counters(section,".") " ";counter-increment:section;display:inline-flex;flex:none;font-size:1rem;height:32px;justify-content:center;margin-right:1rem;width:32px}ul li>p{margin:0}details{background-color:#fff;border:1px solid #d6d6d6;border-radius:4px;overflow:hidden;padding:3rem 0 0;position:relative}details>summary{cursor:pointer;left:0;padding:.75rem 1rem;position:absolute;top:0;width:100%}details>summary>*{display:inline}details[open]{padding:3rem 1rem 1rem}details[open]>summary{border-bottom:1px solid #efefef}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover);text-decoration:underline}.link-primary,.link-primary:hover{color:var(--color-primary)}.link-white,.link-white:hover{color:#fff}a{-webkit-tap-highlight-color:rgba(0,0,0,0)}article a{word-break:break-word}:focus{outline:2px solid rgba(var(--color-primary),.5)}:focus-visible{outline:2px solid rgba(var(--color-primary),.5)}:focus:not(:focus-visible){outline:none}.button,button{-webkit-tap-highlight-color:rgba(0,0,0,0);appearance:none;border:0;cursor:pointer;display:inline-block;font-size:inherit;font-weight:400;height:auto;line-height:1.125rem;padding:.5rem 1rem;text-decoration:none;vertical-align:middle}.button,.button:after,.button:before,button,button:after,button:before{box-sizing:border-box}::-moz-focus-inner{border:0;padding:0}.button:hover{text-decoration:none}.button,a.button,button{-webkit-font-smoothing:antialiased;align-items:center;background-color:transparent;border-radius:4px;color:var(--color-primary);display:inline-flex;font-family:var(--font-bold);line-height:1.40625rem;padding:.625rem 1.25rem;transition:background-color .2s ease,transform .15s}.button:focus,a.button:focus,button:focus{outline:none}.button:focus-visible,a.button:focus-visible,button:focus-visible{box-shadow:0 0 0 2px rgba(var(--color-primary),.5)}.button:active,a.button:active,button:active{box-shadow:0 0 0 2px rgba(var(--color-primary),.5)}.button .icon,a.button .icon,button .icon{display:inline-block;font-size:1.2rem;vertical-align:top}.button-primary,a.button-primary{background-color:var(--color-primary);border:.075rem solid var(--color-primary);color:#fff}.button-primary-dark,.button-primary:active,.button-primary:hover,a.button-primary-dark,a.button-primary:active,a.button-primary:hover{background-color:var(--color-primary-dark);color:#fff}.button-primary-dark,a.button-primary-dark{border:.075rem solid var(--color-primary-dark)}.button-primary-dark:active,.button-primary-dark:hover,a.button-primary-dark:active,a.button-primary-dark:hover{background-color:var(--color-primary-dark);color:#fff}.button-yellow,a.button-yellow{background-color:color-mix(in srgb,var(--color-tertiary),#000 30%);color:#fff}.button-yellow:active,.button-yellow:hover,a.button-yellow:active,a.button-yellow:hover{background-color:color-mix(in srgb,var(--color-tertiary),#000 36%);color:#fff}.button-white,a.button-white{background-color:#fff;color:var(--color-primary)}.button-white:active,.button-white:hover,a.button-white:active,a.button-white:hover{background-color:#f5f5f5;color:var(--color-primary)}.button-white-outline,a.button-white-outline{background-color:transparent;border:.075rem solid #fff;color:#fff}.button-white-outline:active,.button-white-outline:hover,a.button-white-outline:active,a.button-white-outline:hover{background-color:#fff;border:.075rem solid #fff;color:var(--color-primary)}.button-primary-outline,a.button-primary-outline{background-color:transparent;border:.075rem solid var(--color-primary);color:var(--color-primary)}.button-primary-outline:active,.button-primary-outline:hover,a.button-primary-outline:active,a.button-primary-outline:hover{background-color:var(--color-primary);box-shadow:none;color:#fff}.button-bright,a.button-bright{background-color:var(--color-spot);border:.075rem solid var(--color-spot);color:#fff}.button-bright:active,.button-bright:hover,a.button-bright:active,a.button-bright:hover{background-color:color-mix(in srgb,var(--color-spot),#000 5%);border:.075rem solid color-mix(in srgb,var(--color-spot),#000 5%);color:#fff}.button-green,a.button-green{background-color:var(--color-resources-develop);border:.075rem solid var(--color-resources-develop);color:#fff}.button-green:active,.button-green:hover,a.button-green:active,a.button-green:hover{background-color:color-mix(in srgb,var(--color-resources-develop),#000 5%);border:.075rem solid color-mix(in srgb,var(--color-resources-develop),#000 5%);color:#fff}.button-m0,a.button-m0{margin-bottom:0}.button-warning,a.button-warning{background-color:color-mix(in srgb,var(--color-warning),#000 25%);color:#fff}.button-warning:active,.button-warning:hover,a.button-warning:active,a.button-warning:hover{background-color:color-mix(in srgb,var(--color-warning),#000 35%);color:#fff}.button-danger,a.button-danger{background-color:color-mix(in srgb,var(--color-danger),#fff 15%);color:#fff}.button-danger:active,.button-danger:hover,a.button-danger:active,a.button-danger:hover{background-color:color-mix(in srgb,var(--color-danger),#fff 5%);color:#fff}.button-success,a.button-success{background-color:color-mix(in srgb,var(--color-success),#fff 5%);color:#fff}.button-success:active,.button-success:hover,a.button-success:active,a.button-success:hover{background-color:var(--color-success);color:#fff}.button-info,a.button-info{background-color:color-mix(in srgb,var(--color-info),#000 20%);color:#fff}.button-info:active,.button-info:hover,a.button-info:active,a.button-info:hover{background-color:color-mix(in srgb,var(--color-info),#000 30%);color:#fff}.button-success-outline,a.button-success-outline{background-color:transparent;border:.075rem solid var(--color-success);color:var(--color-success)}.button-success-outline:active,.button-success-outline:hover,a.button-success-outline:active,a.button-success-outline:hover{background-color:var(--color-success);box-shadow:none;color:#fff}.button-social,a.button-social,button.button-social,button[type=submit].button-social{margin-top:0;padding-left:80px;text-align:left}.button-social .icon,a.button-social .icon,button.button-social .icon,button[type=submit].button-social .icon{align-items:center;display:inline-block;display:flex;font-size:1.95rem;height:100%;justify-content:center;left:0;position:absolute;top:0;width:65px}.button-github,a.button-github{background-color:var(--color-github)}.button-github:hover,a.button-github:hover{background-color:color-mix(in srgb,var(--color-github),#000 10%)}.button-xtiny,a.button-xtiny{font-size:.6em;min-height:24px;padding:.1rem .75rem}.button-xtiny .icon,a.button-xtiny .icon{font-size:.75rem}@media(min-width:52em){.button-xtiny,a.button-xtiny{font-size:.6em}}.button-tiny,a.button-tiny{font-size:.85em;min-height:32px;padding:.25rem .75rem}@media(min-width:52em){.button-tiny,a.button-tiny{font-size:.8em}}.button-small,a.button-small{font-size:.85em;line-height:1.2375rem;min-height:34px;padding:.425rem 1rem}@media(min-width:52em){.button-small,a.button-small{font-size:.85em;min-height:34px}}.button-medium,a.button-medium{font-size:1em;line-height:1.4625rem;min-height:38px;padding:.575rem 1.25rem}@media(min-width:52em){.button-medium,a.button-medium{font-size:1.1em;min-height:42px}}.button-large,a.button-large{font-size:1.25em;line-height:2.25rem;min-height:58px;padding:.625rem 1.75rem}@media(min-width:52em){.button-large,a.button-large{font-size:1.6em}}.button-transparent,a.button-transparent{background-color:transparent;box-shadow:none}.button-transparent.light,a.button-transparent.light{color:var(--color-primary-light)}.button-transparent:active,.button-transparent:focus,a.button-transparent:active,a.button-transparent:focus{background-color:transparent;box-shadow:none;color:var(--color-primary)}.button-transparent:hover,a.button-transparent:hover{background-color:#f6f6f6;box-shadow:none;color:var(--color-primary)}.button-transparent:before{display:none}.button-transparent:visited,a.button-transparent:visited{background-color:transparent}.button-link{color:currentColor;padding:0}.button-link:hover{background-color:transparent;color:currentColor;text-decoration:underline}.button-invisible,a.button-invisible{background-color:transparent;box-shadow:none;margin:0;padding:0}.button-invisible:active,.button-invisible:focus,a.button-invisible:active,a.button-invisible:focus{background-color:transparent;border:none;box-shadow:none;color:initial}.button-invisible:hover,a.button-invisible:hover{box-shadow:none;color:currentColor}.button-invisible:before{display:none}.button-invisible:visited,a.button-invisible:visited{background-color:transparent}.button-inline-label,a.button-inline-label{font-size:revert}.button-inline-label:active,.button-inline-label:focus,a.button-inline-label:active,a.button-inline-label:focus{color:var(--color-spot)}.button-fullwidth,a.button-fullwidth{display:flex;justify-content:center;width:100%}.button-mobile-nav:hover,a.button-mobile-nav:hover{box-shadow:none}.IN-widget{position:relative;top:-.38rem}.button-group{display:flex}.button-group-inline{display:inline-flex}.button-group .button{border-radius:0}.button-group .button:not(:last-child){border-right:none}.button-group .button:first-of-type{border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group .button:last-of-type{border-bottom-right-radius:3px;border-top-right-radius:3px}a.button-github,button.button-github{background-color:#333;color:#fff}a.button-github:hover,button.button-github:hover{background-color:#000}.button-loading,a.button-loading{position:relative}.button-loading-active span,a.button-loading-active span{opacity:0}.button-loading-active:after,a.button-loading-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}.dropdown-content-user .dropdown-content-link.dropdown-content-link-logout{display:inline-flex;min-width:auto}.dropdown-content-user .dropdown-content-link.dropdown-content-link-logout.button-loading-text-active{padding-left:3.25rem}.button-loading-text-active span,a.button-loading-text-active span{opacity:1}.button-loading-text-active:after,a.button-loading-text-active:after{display:inline-block;left:1.5rem;margin-right:.5rem}.button-disabled,a.button-disabled,button:disabled,button[disabled]{box-shadow:none;filter:grayscale(100%);pointer-events:none;-webkit-user-select:none;user-select:none}.button-disabled:hover,a.button-disabled:hover,button:disabled:hover,button[disabled]:hover{box-shadow:none;transform:none}.call-to-action{align-items:center;display:flex;flex-direction:column;gap:1rem;max-width:30em}@media(min-width:40em){.call-to-action{flex-direction:row;justify-content:center}}@media(min-width:64em){.call-to-action{flex-direction:row;justify-content:center;justify-content:flex-start;margin:unset;max-width:none}}.call-to-action .button{justify-content:center;white-space:nowrap;width:100%}@media(min-width:64em){.call-to-action .button{justify-content:normal;width:auto}}button.button-has-dropdown{display:inline-flex;height:44px;justify-content:space-between;padding:0 0 0 1.425rem;position:relative}.button-has-dropdown .icon{align-items:center;background-color:#4a5266;border-radius:0;border-bottom-right-radius:4px;border-top-right-radius:4px;color:#fff;display:flex;font-size:1rem;height:38px;justify-content:center;margin-left:.5rem;position:relative;width:38px}@media(min-width:52em){.button-has-dropdown .icon{height:44px;width:44px}}.button-dropdown{background-color:#fff;border:none;border-bottom-left-radius:12px;border-bottom-right-radius:12px;box-shadow:1px 2px 6px rgba(0,0,0,.2);left:-1px;list-style:none;margin:0;padding:0;position:absolute;text-align:left;top:100%;width:100%;z-index:1}.button-dropdown .dropdown-content-link{align-items:center;border-radius:0;display:inline-flex}.button-dropdown .dropdown-content-link:hover{border-radius:0}.button-dropdown li:last-child .dropdown-content-link{border-bottom-left-radius:12px;border-bottom-right-radius:12px}img{height:auto;max-width:100%}svg{max-height:100%}figure{margin:0;padding:0}iframe{border:none}article iframe{aspect-ratio:16/9;height:100%;width:100%}canvas{background-color:transparent;height:auto!important;max-width:100%}.mobile-screenshot{--bg-color:#333;--border-color:#666;--figure-padding:16px;--max-width:95%;background-color:var(--bg-color);border-radius:48px;box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);margin:1rem auto;max-width:var(--max-width);padding:var(--figure-padding);position:relative;width:max-content}.mobile-screenshot:before{background-color:var(--bg-color);border-bottom-left-radius:2rem;border-bottom-right-radius:2rem;content:"";height:20px;left:calc(50% - 60px);position:absolute;top:16px;width:120px}@media(min-width:52em){.mobile-screenshot{--max-width:20em;--figure-padding:20px}}@media(min-width:64em){.mobile-screenshot{--max-width:24em}}.mobile-screenshot:no-notch:before{display:none}.mobile-screenshot img{border:1px solid #666;border-radius:28px;display:block;max-height:700px}@media(min-width:64em){.mobile-screenshot img{max-height:unset}.mobile-screenshot-background{background-color:#f6f6f6;padding:2rem}.mobile-screenshot-background-dark{background-color:var(--color-primary)}}[data-tooltip]{position:relative}[data-tooltip]:after,[data-tooltip]:before{display:none;font-size:.9em;line-height:1.2;opacity:0;pointer-events:none;position:absolute;text-transform:none;-webkit-user-select:none;user-select:none}[data-tooltip][tooltip-visible]:after,[data-tooltip][tooltip-visible]:before{display:block;opacity:1}[data-tooltip]:before{border:5px solid transparent;content:"";z-index:1001}[data-tooltip]:after{background:#333;border-radius:4px;box-shadow:0 1em 2em -.5em rgba(0,0,0,.35);color:#fff;content:attr(data-tooltip);font-size:.85rem;max-width:200px;min-width:100px;padding:.5rem 1rem;text-align:center;width:max-content;z-index:1000}[data-tooltip]:hover:after,[data-tooltip]:hover:before{display:block}[tooltip=""]:after,[tooltip=""]:before{display:none!important}[data-tooltip]:not([flow]):before,[data-tooltip][flow^=up]:before{border-bottom-width:0;border-top-color:#333;bottom:100%}[data-tooltip]:not([flow]):after,[data-tooltip][flow^=up]:after{bottom:calc(100% + 5px)}[data-tooltip]:not([flow]):after,[data-tooltip]:not([flow]):before,[data-tooltip][flow^=up]:after,[data-tooltip][flow^=up]:before{left:50%;transform:translate(-50%,-.5em)}[data-tooltip][flow^=down]:before{border-bottom-color:#333;border-top-width:0;top:100%}[data-tooltip][flow^=down]:after{top:calc(100% + 5px)}[data-tooltip][flow^=down]:after,[data-tooltip][flow^=down]:before{left:50%;transform:translate(-50%,.5em)}[data-tooltip][flow^=left]:before{border-left-color:#333;border-right-width:0;left:-5px;top:50%;transform:translate(-.5em,-50%)}[data-tooltip][flow^=left]:after{right:calc(100% + 5px);top:50%;transform:translate(-.5em,-50%)}[data-tooltip][flow^=right]:before{border-left-width:0;border-right-color:#333;right:-5px;top:50%;transform:translate(.5em,-50%)}[data-tooltip][flow^=right]:after{left:calc(100% + 5px);top:50%;transform:translate(.5em,-50%)}@keyframes tooltips-vert{to{opacity:.9;transform:translate(-50%)}}@keyframes tooltips-horz{to{opacity:.9;transform:translateY(-50%)}}[data-tooltip]:not([flow]):hover:after,[data-tooltip]:not([flow]):hover:before,[data-tooltip][flow^=down]:hover:after,[data-tooltip][flow^=down]:hover:before,[data-tooltip][flow^=up]:hover:after,[data-tooltip][flow^=up]:hover:before{animation:tooltips-vert .3s ease-out forwards}[data-tooltip][flow^=left]:hover:after,[data-tooltip][flow^=left]:hover:before,[data-tooltip][flow^=right]:hover:after,[data-tooltip][flow^=right]:hover:before{animation:tooltips-horz .3s ease-out forwards}[data-tooltip][tooltip-light]:after{background:var(--color-primary)}[data-tooltip][tooltip-light]:before{border-top-color:var(--color-primary)}[tooltip="Visit article"]:after{white-space:nowrap}.content-tooltip{box-shadow:none;outline:none;padding:0;position:relative}.content-tooltip:focus{outline:1px solid var(--color-primary)}.content-tooltip-trigger{display:inline-block;vertical-align:text-top}.content-tooltip-bubble{animation:tooltip-reveal .3s ease-out forwards;max-width:200px;min-width:100px;opacity:0;position:absolute;width:max-content;z-index:10}.content-tooltip-bubble:after{content:"";position:absolute}.content-tooltip-bubble a{text-decoration:underline}@keyframes tooltip-reveal{to{opacity:1}}.content-tooltip-bubble a{color:var(--color-tertiary)}.content-tooltip-top{bottom:100%;left:50%;padding-bottom:9px;transform:translateX(-50%)}.content-tooltip-top:after{border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid rgba(0,0,0,.7);bottom:0;left:50%;transform:translateX(-50%)}.content-tooltip-bottom{left:50%;padding-top:9px;top:100%;transform:translateX(-50%)}.content-tooltip-bottom:after{border-bottom:9px solid rgba(0,0,0,.7);border-left:9px solid transparent;border-right:9px solid transparent;left:50%;top:0;transform:translateX(-50%)}.content-tooltip-left{padding-right:9px;right:100%;top:50%;transform:translateY(-50%)}.content-tooltip-left:after{border-bottom:9px solid transparent;border-left:9px solid rgba(0,0,0,.7);border-top:9px solid transparent;right:0;top:50%;transform:translateY(-50%)}.content-tooltip-right{left:100%;padding-left:9px;top:50%;transform:translateY(-50%)}.content-tooltip-right:after{border-bottom:9px solid transparent;border-right:9px solid rgba(0,0,0,.7);border-top:9px solid transparent;left:0;top:50%;transform:translateY(-50%)}.content-tooltip-message{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:.75rem;line-height:1.4;padding:.75em;text-align:center}[data-reach-dialog-overlay]{background:rgba(0,0,0,.8);z-index:100}[data-reach-dialog-content]{align-items:center;background-color:#fff;border-radius:4px;display:flex;height:calc(90vh - 1rem);justify-content:center;margin:5vh auto;padding:0;position:relative;width:calc(95vw - 1rem)}[data-reach-dialog-content][aria-label=Modal]{border-radius:0;display:block;height:100%;margin:0 auto;width:100%}@media(min-width:64em){[data-reach-dialog-content][aria-label=Modal]{border-radius:4px;height:auto;margin:5vh auto;max-width:1100px;min-height:auto;width:calc(65vw - 1rem)}}[data-reach-dialog-content][mode=dialog],[data-reach-dialog-content][mode=video]{fill:transparent;animation-delay:0s;animation-duration:.25s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:fadeIn;animation-timing-function:ease;display:block;height:auto;opacity:0;overflow:auto;width:100%}@media(min-width:64em){[data-reach-dialog-content][mode=dialog],[data-reach-dialog-content][mode=video]{border-radius:4px;height:calc(80% - 2.5vmin);height:auto;margin:5vh auto;max-width:calc(75vw - 2.5vmin);top:unset;width:calc(80% - 2.5vmin)}}[data-reach-dialog-content][mode=dialog] h1,[data-reach-dialog-content][mode=dialog] h2,[data-reach-dialog-content][mode=dialog] h3,[data-reach-dialog-content][mode=dialog] p{color:var(--color-paragraphs)}[data-reach-dialog-content][mode=dialog] .lightbox-content-has-cta h2,[data-reach-dialog-content][mode=dialog] .lightbox-content-has-cta h3,[data-reach-dialog-content][mode=dialog] .lightbox-content-has-cta h4{color:#fff}[data-reach-dialog-content][aria-label=Modal] h1:first-of-type{margin-top:0}[data-reach-dialog-content][aria-label=Modal]>div{max-height:80vh;overflow-y:auto}[data-reach-dialog-content][aria-label=Modal] header{align-items:center;border-bottom:1px solid #ccc;display:flex;justify-content:space-between;padding:1rem 1.5rem}[data-reach-dialog-content][aria-label=Modal] .button-close:hover i{background-color:#f6f6f6;color:#666}[data-reach-dialog-content][aria-label=Modal] .button-close i{align-items:center;border-radius:50%;color:#ccc;cursor:pointer;display:flex;height:24px;justify-content:center;width:24px}[data-reach-dialog-content][theme=dark]{background-color:#000}.lightbox-image{position:relative}.lightbox-caption{background-color:rgba(0,0,0,.8);border-bottom-left-radius:4px;border-bottom-right-radius:4px;bottom:0;color:#fff;margin:0;padding:1rem;position:absolute;width:100%}.lightbox-image{align-items:center;display:flex;height:100%;justify-content:center;margin:0;object-fit:cover;overflow:hidden;padding:0;width:100%}.lightbox-image img{height:calc(70vh - 2px - 1rem);object-fit:contain;width:calc(75vw - 2px - 1rem)}.lightbox-header{align-items:center;border-bottom:1px solid #ccc;display:flex;justify-content:space-between;padding:1rem 1.5rem}.lightbox-header .button-transparent:hover{background-color:transparent}.lightbox-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}.lightbox-header .icon:hover{background-color:var(--color-grey-subtle);color:#fff}.lightbox-content{padding:2rem}button.lightbox-button{align-items:center;cursor:zoom-in;display:flex;justify-content:center;padding:0;position:relative}button.lightbox-button img{display:block;object-fit:contain}button.lightbox-button:before{display:none}button.lightbox-button:after{align-items:center;background-color:rgba(0,0,0,.4);border-radius:8px;color:#fff;content:"Click to zoom";display:flex;font-size:.75rem;justify-content:center;opacity:0;padding:.15rem .5rem;position:absolute;right:0;top:0;transition:opacity .3s;visibility:hidden}button.lightbox-button:hover{background-color:transparent;box-shadow:none;opacity:1}button.lightbox-button:hover:after{opacity:1;visibility:visible}.grid-container[theme=dark]{background-color:color-mix(in srgb,var(--color-primary),#000 30%)}.grid-container[theme=light]{background-color:#fff}button.button-lightbox-player{align-items:center;display:flex;height:100%;justify-content:center;width:100%}button.button-lightbox-player .icon{align-items:center;aspect-ratio:1/1;background-color:#fff;border:1px solid #fff;border-radius:100%;color:var(--color-spot);display:flex;font-size:calc(1rem + 1vw);height:calc(1rem + 3vh);justify-content:center;transform:translateX(.2rem);transform-origin:center;transition:transform .2s}button.button-lightbox-player:hover{background-color:rgba(0,0,0,.4)}button.button-lightbox-player:hover .icon{transform:scale(1.2)}@media print{body{background-color:#fff;color:#000;font-size:50%!important;margin-top:0!important;max-width:none;width:100%}#hubspot-messages-iframe-container,.adslot,.hero,.menu,.newsletter-contact,.resources-article-meta,.resources-breadcrumbs,.resources-searchbar,.section-getstarted,.was-this-helpful,aside,footer,form,header,iframe,nav{display:none}section{margin:0}*{background-image:none!important}img,svg{margin-bottom:1rem;margin-top:1rem}code,h1,h2,h3,h4,li,ol,p,pre,ul{color:#000;margin:revert}h1{font-size:18pt;margin-top:0}h2{font-size:14pt}h3{font-size:12pt}code,ol,p,pre,pre.prism-code,ul{font-size:10pt!important}img,svg,table{break-inside:avoid}@page{size:auto;margin:15mm 15mm 15mm 15mm}body{margin:0}.container{max-width:none;padding:0}.legal article{column-span:all;columns:50 2}.legal *{font-family:serif}#hubspot-messages-iframe-container{opacity:0;visibility:hidden}details.lg-hide{display:none}}fieldset,input,select,textarea{box-sizing:border-box;font-family:inherit;font-size:1rem;margin-bottom:0;margin-top:0}label{vertical-align:middle}.full-width{width:100%}.field,.field-light{border:1px solid rgba(0,0,0,.125);border-radius:4px}.field-light:focus{border-color:var(--color-primary-light)}input{accent-color:var(--color-spot)}fieldset{border:1px solid #ddd;border-radius:4px;margin-bottom:2rem;padding:1.5rem}label{color:#666;line-height:2;position:relative}input[type=checkbox]{cursor:pointer;margin:0 .5rem 0 0;outline-offset:5px;transform-style:preserve-3d}input[type=checkbox]:before{--thumb-scale:0.01;--thumb-highlight-size:3rem;background-color:hsla(0,0%,50%,.1);block-size:var(--thumb-highlight-size);clip-path:circle(50%);content:"";inline-size:var(--thumb-highlight-size);inset-block-start:50%;inset-inline-start:50%;position:absolute;transform:translateX(-50%) translateY(-50%) translateZ(-1px) scale(var(--thumb-scale));transform-origin:center center;will-change:transform}@media(prefers-reduced-motion:no-preference){input[type=checkbox]:before{transition:transform .2s ease}}input[type=checkbox]:hover:before{--thumb-scale:1}input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{color:var(--color-primary);font-size:1rem;height:2.55rem;padding:.75rem;transition:border-color .15s}input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{background-color:#fff;border-color:var(--color-primary);color:var(--color-primary);outline:0}textarea{padding:.75rem}textarea:focus{background-color:#fff;border-color:var(--color-primary);color:var(--color-primary);outline:0}select{appearance:none;background-color:#fff;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='%23000' 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");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;border-color:#e2e8f0;border-radius:.25rem;border-width:1px;color:unset;font-size:1rem;line-height:1.2;padding:.5rem 2.5rem .5rem .75rem;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:100%}::placeholder{color:#999}.newsletter input[type=email],.newsletter input[type=submit]{height:36px}.legal-consent-container p{font-size:.75rem;line-height:unset}.legal-consent-container p a{color:var(--color-spot)}.legal-consent-container .hs-form-booleancheckbox-display input{margin-right:.5rem;margin-top:.25rem}input:-webkit-autofill{background:transparent}input:autofill{background:transparent}input:-webkit-autofill,input:-webkit-autofill:focus{-webkit-transition:background-color 600000s 0s,color 600000s 0s;transition:background-color 600000s 0s,color 600000s 0s}input[data-autocompleted]{background-color:transparent!important}.grecaptcha-badge{visibility:hidden}.inputfile{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.inputfile+label{border-radius:4px;box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);cursor:pointer;display:inline-block;font-family:Roboto-Medium;font-size:.85em;line-height:1.40625rem;min-height:34px;overflow:hidden;padding:.625rem 1.25rem;text-overflow:ellipsis;white-space:nowrap}@media(min-width:52em){.inputfile+label{font-size:1em;min-height:36px}}.inputfile.has-focus+label,.inputfile:focus+label{outline:1px dotted #000;outline:5px auto -webkit-focus-ring-color}.inputfile+label svg{fill:currentColor;height:1em;margin-right:.25em;margin-top:-.25em;vertical-align:middle;width:1em}.inputfile-1+label{background-color:color-mix(in srgb,var(--color-primary),#000 5%);color:#fff}.inputfile-1+label:hover,.inputfile-1.has-focus+label,.inputfile-1:focus+label{background-color:color-mix(in srgb,var(--color-primary),#000 10%);color:#fff}.inputfile-1:active+label{background-color:color-mix(in srgb,var(--color-primary),#000 20%);color:#fff}body:has(#hs-eu-cookie-confirmation:not([style*="display: none"])) #hubspot-messages-iframe-container{bottom:160px!important}@media(min-width:52em){body:has(#hs-eu-cookie-confirmation:not([style*="display: none"])) #hubspot-messages-iframe-container{bottom:210px!important}}#hubspot-messages-iframe-container{z-index:1000!important}button.open-hs-chat{background-color:var(--color-primary);border-radius:50%;bottom:1rem;color:#fff;height:60px;position:fixed;right:1rem;width:60px;z-index:10001!important}button.open-hs-chat i{font-size:2rem;left:-.25rem;position:relative}#hubspotForm *{font-family:var(--type-regular)}.hs-form-booleancheckbox label{line-height:1}#hs-form-iframe-0{border:none;display:block;overflow:hidden;position:static;width:100%!important}.field.hs-form-field{background-color:transparent!important;border:none!important}.hs-input{border:1px solid rgba(0,0,0,.125);border-radius:3px;font:inherit;position:relative;transition:border-color .15s ease-in-out}.hs-input:focus{background-color:#fff;border-color:color-mix(in srgb,var(--color-primary),#000 20%);color:#495057;outline:0}.hs-input:not([type=checkbox]){width:100%}.hs-input:not([type=file]){background-color:#f8f8f8}input[type=email].hs-input,input[type=text].hs-input{height:40px!important}input[type=email].hs-input textarea.hs-input,input[type=text].hs-input textarea.hs-input{color:var(--color-primary);font-size:1rem;height:2.55rem;padding:.75rem;transition:border-color .15s ease-in-out;width:100%}input[type=email].hs-input textarea.hs-input:focus,input[type=text].hs-input textarea.hs-input:focus{background-color:#fff;border-color:color-mix(in srgb,var(--third-color) 60%,#fff);color:#495057;outline:0}ul.inputs-list{align-items:center;display:flex;list-style:none;padding:0}textarea.hs-input{height:auto;min-height:50px}input[type=email].hs-input,input[type=text].hs-input{height:2.55rem}input[type=email].hs-input{height:36px}input[type=submit].hs-button{background-color:var(--color-spot);border:0;border-radius:4px;color:#fff;cursor:pointer;height:40px;line-height:1.125rem;padding:.5rem 1rem}input[type=submit].hs-button:active,input[type=submit].hs-button:hover{background-color:color-mix(in srgb,var(--color-spot),#000 5%);color:#fff}.hs-error-msgs{list-style:none;padding:0}label.hs-error-msg{color:red;display:block;font-size:.75rem;line-height:1.5;margin-top:.25rem}.hs-form-required{color:red;display:inline-block;font-size:.85rem;margin-left:.25rem}#hubspotForm .hs-form-field label{line-height:2!important}label.is-error{color:var(--color-danger)}.field:invalid{border-color:rgba(0,0,0,.125)}.field.is-error{border-color:var(--color-danger)}.blog-post-signup form{display:flex;gap:.5rem}.blog-post-signup label[placeholder="Enter your Email"]{display:none}.blog-post-signup .submitted-message{color:#fff}.h100{height:100%}.w100{width:100%}.w50{width:50%}.h100vh{height:100vh}.h-auto{height:auto}.w-auto{width:auto}.inlineicon{display:inline-block;margin-right:.5rem;vertical-align:middle}.uppercase,.uppercasecaps{text-transform:uppercase}.uppercasecaps{-webkit-font-smoothing:antialiased;font-family:var(--font-bold);letter-spacing:.085em}.no-decoration,.no-decoration:hover,a.no-decoration,a.no-decoration:hover{text-decoration:none}.visuallyhidden{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media(min-width:64em){.white-space-nowrap{white-space:nowrap}}.circle,.circle.skeleton-loading{border-radius:50%}.read-more-link .ion-chevron-right{align-items:center;background-color:var(--color-primary);border-radius:50%;color:#fff;display:inline-flex;font-size:.75rem;height:24px;justify-content:center;margin-right:1rem;width:24px}.bg-light-grey{background:#fbfafc}.numbered-list{list-style:none;max-width:100%}.numbered-list li{counter-increment:list}.numbered-list li:before{align-items:center;background-color:var(--color-success);border-radius:50%;color:#fff;content:counter(list);display:inline-flex;font-size:1rem;font-weight:700;height:24px;justify-content:center;line-height:24px;margin-right:1rem;text-indent:0;vertical-align:middle;width:24px}.numbered-list{counter-reset:numbered-list-counter}.numbered-list-checked li:before{background:url(/images/checked-list.svg);background-repeat:no-repeat;content:"";display:inline-block;flex:none;height:11px;margin-right:1rem;vertical-align:1px;width:12px}.is-forbidden{cursor:not-allowed}.is-disabled{pointer-events:none}.border{border:1px solid #e3e3e3}.underline-white{border-bottom:1px solid #fff}.underline-black{border-bottom:1px solid #000}.tint-shadow-bright{box-shadow:5px 5px rgba(240,46,170,.4),10px 10px rgba(240,46,170,.3),15px 15px rgba(240,46,170,.2),20px 20px rgba(240,46,170,.1),25px 25px rgba(240,46,170,.05)}.aspect-ratio-16\:9,[class*=" aspect-ratio"],[class^=aspect-ratio]{aspect-ratio:16/9}.aspect-ratio-3\:2{aspect-ratio:3/2}.aspect-ratio-4\:3{aspect-ratio:4/3}.aspect-ratio-5\:4{aspect-ratio:5/4}.aspect-ratio-1\:1{aspect-ratio:1/1}.aspect-ratio-4\:5{aspect-ratio:4/5}.aspect-ratio-3\:4{aspect-ratio:3/4}.aspect-ratio-2\:3{aspect-ratio:2/3}.aspect-ratio-9\:16{aspect-ratio:9/16}.ofc{object-fit:cover}.oft{object-fit:contain}.off{object-fit:fill}.video-wrapper{aspect-ratio:16/9;position:relative}.video-wrapper-square{aspect-ratio:1/1}.video-wrapper iframe,.video-wrapper img,.video-wrapper video{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.video-wrapper img{object-fit:cover}.pill{-webkit-font-smoothing:antialiased;align-items:center;border:none;border-radius:1rem;color:#fff;display:inline-flex;font-family:var(--font-bold);font-size:.75rem;height:24px;justify-content:space-between;letter-spacing:.025em;padding:0 .5rem;text-rendering:optimizeLegibility;text-transform:uppercase}.pill:hover{color:inherit;text-decoration:none}.pill-grey{background-color:#eee;border-color:#ddd;color:#666}.pill-grey:hover{background-color:color-mix(in srgb,#eee,#000 10%)}.pill-success{border:1px solid var(--color-success);color:var(--color-success)}.pill-warning{border:1px solid var(--color-warning);color:var(--color-warning)}.pill-danger{border:1px solid var(--color-danger);color:var(--color-danger)}.pill-bright-gradient{background-image:linear-gradient(90deg,var(--color-spot) 0,color-mix(in srgb,var(--color-spot),#000 15%) 97%);border:none;color:#fff}.pill-primary-gradient{background-image:linear-gradient(90deg,var(--color-primary-light),color-mix(in srgb,var(--color-primary),#000 45%) 97%);border:none;color:#fff}.pill-danger-gradient{background-image:linear-gradient(-45deg,color-mix(in srgb,var(--color-danger),#fff 20%) color-mix(in srgb,var(--color-danger),#000 5%) 97%);border:none;color:#fff}.examples-grid .tag{align-items:center;background-color:#fff;border:2px solid color-mix(in srgb,var(--color-resources-develop) 40%,#fff);border-radius:20px;color:var(--color-resources-develop);display:flex;font-size:.85em;justify-content:center;min-width:70px;padding:.15rem .5rem;text-align:center;top:50%}.examples-grid .tag-bright{border:2px solid var(--color-spot);color:var(--color-spot)}.examples-grid .tag.tag-red{border:2px solid red;color:red}.examples-grid .tag.tag-blue{border:2px solid blue;color:blue}.examples-grid .tag.tag-transparent{border:none}.examples-grid .tag-filled{background-color:var(--color-resources-develop);border:2px solid var(--color-resources-develop);color:#fff}.italic{font-style:italic}.left-align{text-align:left}.center{text-align:center}.right-align{text-align:right}.justify{text-align:justify}.list-reset{list-style:none;padding-left:0}.lh-unset{line-height:unset}.nowrap{white-space:nowrap}.text-balanced{text-wrap:balance}.primary{color:var(--color-primary)}.primary-dark{color:color-mix(in srgb,var(--color-primary),#000 20%)}.primary-light{color:var(--color-primary-light)}.yellow{color:var(--color-tertiary)}.bright{color:var(--color-spot)}.green{color:var(--color-resources-develop)}.white{color:#fff}.red{color:red}.section-grey{background-color:#fafafa}.develop{color:var(--color-resources-develop)}.architect{color:var(--color-resources-architect)}.operate{color:var(--primary-dark)}.grey{color:var(--color-grey)}.grey-light{color:var(--color-grey-light)}.grey-subtle{color:var(--color-grey-subtle)}.bg-light{background-color:#f6f6f6}.bg-light-hover:hover{background-color:#fafafa}.bg-dark{background-color:color-mix(in srgb,var(--color-primary),#000 50%)}.bg-primary{background-color:color-mix(in srgb,var(--color-primary),#000 40%)}.bg-green{background-color:var(--color-resources-develop)}.bg-gradient-primary{background-color:color-mix(in srgb,var(--color-primary),#000 22%);background-image:linear-gradient(13deg,color-mix(in srgb,var(--color-primary),#000 36%) 0,color-mix(in srgb,var(--color-primary),#000 14%) 66%,color-mix(in srgb,var(--color-primary),#000 12%) 100%)}.cta-success{color:var(--color-success)}.cta-info{color:var(--color-info)}.cta-danger,.cta-warning{color:var(--color-danger)}.gradient-callout{--bg-color:#22232f;--start-color:#ebdbf1;--end-color:hotpink;--border-width:5px;background-color:var(--bg-color);background-image:linear-gradient(43deg,#4158d0,#c850c0 46%,#ffcc70);border-radius:12px;border-radius:8px;padding:2px;position:relative}.gradient-callout-light{--bg-color:#fff}.gradient-callout-border{background-color:var(--bg-color);border-radius:8px;height:100%}.border-grey{border:1px solid #ccc}.w-1{width:1.5rem}.w-2{width:2.5rem}.w-3{width:3.5rem}.w-4{width:4.5rem}.w-5{width:5.5rem}.w-6{width:6.5rem}.w-7{width:7.5rem}.w-8{width:8.5rem}.w-9{width:9.5rem}.w-10{width:10.5rem}.w-11{width:11.5rem}.w-12{width:12.5rem}.w-13{width:13.5rem}.w-14{width:14.5rem}.w-15{width:15.5rem}.w-16{width:16.5rem}.w-17{width:17.5rem}.w-18{width:18.5rem}.w-19{width:19.5rem}.w-20{width:20.5rem}.w-21{width:21.5rem}.w-22{width:22.5rem}.w-23{width:23.5rem}.w-24{width:24.5rem}.w-25{width:25.5rem}.w-26{width:26.5rem}.w-27{width:27.5rem}.w-28{width:28.5rem}.w-29{width:29.5rem}.w-30{width:30.5rem}.w-31{width:31.5rem}.w-32{width:32.5rem}.w-33{width:33.5rem}.w-34{width:34.5rem}.w-35{width:35.5rem}.w-36{width:36.5rem}.w-37{width:37.5rem}.w-38{width:38.5rem}.w-39{width:39.5rem}.w-40{width:40.5rem}.w-41{width:41.5rem}.w-42{width:42.5rem}.w-43{width:43.5rem}.w-44{width:44.5rem}.w-45{width:45.5rem}.md-w-1{width:1rem}@media(min-width:52em){.md-w-1{width:1.5rem}}@media(min-width:64em){.md-w-1{width:1.575rem}}@media(min-width:74em){.md-w-1{width:1.725rem}}.md-w-2{width:1.66667rem}@media(min-width:52em){.md-w-2{width:2.5rem}}@media(min-width:64em){.md-w-2{width:2.625rem}}@media(min-width:74em){.md-w-2{width:2.875rem}}.md-w-3{width:2.33333rem}@media(min-width:52em){.md-w-3{width:3.5rem}}@media(min-width:64em){.md-w-3{width:3.675rem}}@media(min-width:74em){.md-w-3{width:4.025rem}}.md-w-4{width:3rem}@media(min-width:52em){.md-w-4{width:4.5rem}}@media(min-width:64em){.md-w-4{width:4.725rem}}@media(min-width:74em){.md-w-4{width:5.175rem}}.md-w-5{width:3.66667rem}@media(min-width:52em){.md-w-5{width:5.5rem}}@media(min-width:64em){.md-w-5{width:5.775rem}}@media(min-width:74em){.md-w-5{width:6.325rem}}.md-w-6{width:4.33333rem}@media(min-width:52em){.md-w-6{width:6.5rem}}@media(min-width:64em){.md-w-6{width:6.825rem}}@media(min-width:74em){.md-w-6{width:7.475rem}}.md-w-7{width:5rem}@media(min-width:52em){.md-w-7{width:7.5rem}}@media(min-width:64em){.md-w-7{width:7.875rem}}@media(min-width:74em){.md-w-7{width:8.625rem}}.md-w-8{width:5.66667rem}@media(min-width:52em){.md-w-8{width:8.5rem}}@media(min-width:64em){.md-w-8{width:8.925rem}}@media(min-width:74em){.md-w-8{width:9.775rem}}.md-w-9{width:6.33333rem}@media(min-width:52em){.md-w-9{width:9.5rem}}@media(min-width:64em){.md-w-9{width:9.975rem}}@media(min-width:74em){.md-w-9{width:10.925rem}}.md-w-10{width:7rem}@media(min-width:52em){.md-w-10{width:10.5rem}}@media(min-width:64em){.md-w-10{width:11.025rem}}@media(min-width:74em){.md-w-10{width:12.075rem}}.md-w-11{width:7.66667rem}@media(min-width:52em){.md-w-11{width:11.5rem}}@media(min-width:64em){.md-w-11{width:12.075rem}}@media(min-width:74em){.md-w-11{width:13.225rem}}.md-w-12{width:8.33333rem}@media(min-width:52em){.md-w-12{width:12.5rem}}@media(min-width:64em){.md-w-12{width:13.125rem}}@media(min-width:74em){.md-w-12{width:14.375rem}}.md-w-13{width:9rem}@media(min-width:52em){.md-w-13{width:13.5rem}}@media(min-width:64em){.md-w-13{width:14.175rem}}@media(min-width:74em){.md-w-13{width:15.525rem}}.md-w-14{width:9.66667rem}@media(min-width:52em){.md-w-14{width:14.5rem}}@media(min-width:64em){.md-w-14{width:15.225rem}}@media(min-width:74em){.md-w-14{width:16.675rem}}.md-w-15{width:10.33333rem}@media(min-width:52em){.md-w-15{width:15.5rem}}@media(min-width:64em){.md-w-15{width:16.275rem}}@media(min-width:74em){.md-w-15{width:17.825rem}}.md-w-16{width:11rem}@media(min-width:52em){.md-w-16{width:16.5rem}}@media(min-width:64em){.md-w-16{width:17.325rem}}@media(min-width:74em){.md-w-16{width:18.975rem}}.md-w-17{width:11.66667rem}@media(min-width:52em){.md-w-17{width:17.5rem}}@media(min-width:64em){.md-w-17{width:18.375rem}}@media(min-width:74em){.md-w-17{width:20.125rem}}.md-w-18{width:12.33333rem}@media(min-width:52em){.md-w-18{width:18.5rem}}@media(min-width:64em){.md-w-18{width:19.425rem}}@media(min-width:74em){.md-w-18{width:21.275rem}}.md-w-19{width:13rem}@media(min-width:52em){.md-w-19{width:19.5rem}}@media(min-width:64em){.md-w-19{width:20.475rem}}@media(min-width:74em){.md-w-19{width:22.425rem}}.md-w-20{width:13.66667rem}@media(min-width:52em){.md-w-20{width:20.5rem}}@media(min-width:64em){.md-w-20{width:21.525rem}}@media(min-width:74em){.md-w-20{width:23.575rem}}.md-w-21{width:14.33333rem}@media(min-width:52em){.md-w-21{width:21.5rem}}@media(min-width:64em){.md-w-21{width:22.575rem}}@media(min-width:74em){.md-w-21{width:24.725rem}}.md-w-22{width:15rem}@media(min-width:52em){.md-w-22{width:22.5rem}}@media(min-width:64em){.md-w-22{width:23.625rem}}@media(min-width:74em){.md-w-22{width:25.875rem}}.md-w-23{width:15.66667rem}@media(min-width:52em){.md-w-23{width:23.5rem}}@media(min-width:64em){.md-w-23{width:24.675rem}}@media(min-width:74em){.md-w-23{width:27.025rem}}.md-w-24{width:16.33333rem}@media(min-width:52em){.md-w-24{width:24.5rem}}@media(min-width:64em){.md-w-24{width:25.725rem}}@media(min-width:74em){.md-w-24{width:28.175rem}}.md-w-25{width:17rem}@media(min-width:52em){.md-w-25{width:25.5rem}}@media(min-width:64em){.md-w-25{width:26.775rem}}@media(min-width:74em){.md-w-25{width:29.325rem}}.md-w-26{width:17.66667rem}@media(min-width:52em){.md-w-26{width:26.5rem}}@media(min-width:64em){.md-w-26{width:27.825rem}}@media(min-width:74em){.md-w-26{width:30.475rem}}.md-w-27{width:18.33333rem}@media(min-width:52em){.md-w-27{width:27.5rem}}@media(min-width:64em){.md-w-27{width:28.875rem}}@media(min-width:74em){.md-w-27{width:31.625rem}}.md-w-28{width:19rem}@media(min-width:52em){.md-w-28{width:28.5rem}}@media(min-width:64em){.md-w-28{width:29.925rem}}@media(min-width:74em){.md-w-28{width:32.775rem}}.md-w-29{width:19.66667rem}@media(min-width:52em){.md-w-29{width:29.5rem}}@media(min-width:64em){.md-w-29{width:30.975rem}}@media(min-width:74em){.md-w-29{width:33.925rem}}.md-w-30{width:20.33333rem}@media(min-width:52em){.md-w-30{width:30.5rem}}@media(min-width:64em){.md-w-30{width:32.025rem}}@media(min-width:74em){.md-w-30{width:35.075rem}}.md-w-31{width:21rem}@media(min-width:52em){.md-w-31{width:31.5rem}}@media(min-width:64em){.md-w-31{width:33.075rem}}@media(min-width:74em){.md-w-31{width:36.225rem}}.md-w-32{width:21.66667rem}@media(min-width:52em){.md-w-32{width:32.5rem}}@media(min-width:64em){.md-w-32{width:34.125rem}}@media(min-width:74em){.md-w-32{width:37.375rem}}.md-w-33{width:22.33333rem}@media(min-width:52em){.md-w-33{width:33.5rem}}@media(min-width:64em){.md-w-33{width:35.175rem}}@media(min-width:74em){.md-w-33{width:38.525rem}}.md-w-34{width:23rem}@media(min-width:52em){.md-w-34{width:34.5rem}}@media(min-width:64em){.md-w-34{width:36.225rem}}@media(min-width:74em){.md-w-34{width:39.675rem}}.md-w-35{width:23.66667rem}@media(min-width:52em){.md-w-35{width:35.5rem}}@media(min-width:64em){.md-w-35{width:37.275rem}}@media(min-width:74em){.md-w-35{width:40.825rem}}.md-w-36{width:24.33333rem}@media(min-width:52em){.md-w-36{width:36.5rem}}@media(min-width:64em){.md-w-36{width:38.325rem}}@media(min-width:74em){.md-w-36{width:41.975rem}}.md-w-37{width:25rem}@media(min-width:52em){.md-w-37{width:37.5rem}}@media(min-width:64em){.md-w-37{width:39.375rem}}@media(min-width:74em){.md-w-37{width:43.125rem}}.md-w-38{width:25.66667rem}@media(min-width:52em){.md-w-38{width:38.5rem}}@media(min-width:64em){.md-w-38{width:40.425rem}}@media(min-width:74em){.md-w-38{width:44.275rem}}.md-w-39{width:26.33333rem}@media(min-width:52em){.md-w-39{width:39.5rem}}@media(min-width:64em){.md-w-39{width:41.475rem}}@media(min-width:74em){.md-w-39{width:45.425rem}}.md-w-40{width:27rem}@media(min-width:52em){.md-w-40{width:40.5rem}}@media(min-width:64em){.md-w-40{width:42.525rem}}@media(min-width:74em){.md-w-40{width:46.575rem}}.md-w-41{width:27.66667rem}@media(min-width:52em){.md-w-41{width:41.5rem}}@media(min-width:64em){.md-w-41{width:43.575rem}}@media(min-width:74em){.md-w-41{width:47.725rem}}.md-w-42{width:28.33333rem}@media(min-width:52em){.md-w-42{width:42.5rem}}@media(min-width:64em){.md-w-42{width:44.625rem}}@media(min-width:74em){.md-w-42{width:48.875rem}}.md-w-43{width:29rem}@media(min-width:52em){.md-w-43{width:43.5rem}}@media(min-width:64em){.md-w-43{width:45.675rem}}@media(min-width:74em){.md-w-43{width:50.025rem}}.md-w-44{width:29.66667rem}@media(min-width:52em){.md-w-44{width:44.5rem}}@media(min-width:64em){.md-w-44{width:46.725rem}}@media(min-width:74em){.md-w-44{width:51.175rem}}.md-w-45{width:30.33333rem}@media(min-width:52em){.md-w-45{width:45.5rem}}@media(min-width:64em){.md-w-45{width:47.775rem}}@media(min-width:74em){.md-w-45{width:52.325rem}}@media(min-width:52em){.mw-1{max-width:1rem}.mw-2{max-width:2rem}.mw-3{max-width:3rem}.mw-4{max-width:4rem}.mw-5{max-width:5rem}.mw-6{max-width:6rem}.mw-7{max-width:7rem}.mw-8{max-width:8rem}.mw-9{max-width:9rem}.mw-10{max-width:10rem}.mw-11{max-width:11rem}.mw-12{max-width:12rem}.mw-13{max-width:13rem}.mw-14{max-width:14rem}.mw-15{max-width:15rem}.mw-16{max-width:16rem}.mw-17{max-width:17rem}.mw-18{max-width:18rem}.mw-19{max-width:19rem}.mw-20{max-width:20rem}.mw-21{max-width:21rem}.mw-22{max-width:22rem}.mw-23{max-width:23rem}.mw-24{max-width:24rem}.mw-25{max-width:25rem}.mw-26{max-width:26rem}.mw-27{max-width:27rem}.mw-28{max-width:28rem}.mw-29{max-width:29rem}.mw-30{max-width:30rem}.mw-31{max-width:31rem}.mw-32{max-width:32rem}.mw-33{max-width:33rem}.mw-34{max-width:34rem}.mw-35{max-width:35rem}.mw-36{max-width:36rem}.mw-37{max-width:37rem}.mw-38{max-width:38rem}.mw-39{max-width:39rem}.mw-40{max-width:40rem}.mw-41{max-width:41rem}.mw-42{max-width:42rem}.mw-43{max-width:43rem}.mw-44{max-width:44rem}.mw-45{max-width:45rem}}.h-1{height:1.5rem}.h-2{height:2.5rem}.h-3{height:3.5rem}.h-4{height:4.5rem}.h-5{height:5.5rem}.h-6{height:6.5rem}.h-7{height:7.5rem}.h-8{height:8.5rem}.h-9{height:9.5rem}.h-10{height:10.5rem}.h-11{height:11.5rem}.h-12{height:12.5rem}.h-13{height:13.5rem}.h-14{height:14.5rem}.h-15{height:15.5rem}.h-16{height:16.5rem}.h-17{height:17.5rem}.h-18{height:18.5rem}.h-19{height:19.5rem}.h-20{height:20.5rem}.h-21{height:21.5rem}.h-22{height:22.5rem}.h-23{height:23.5rem}.h-24{height:24.5rem}.h-25{height:25.5rem}.h-26{height:26.5rem}.h-27{height:27.5rem}.h-28{height:28.5rem}.h-29{height:29.5rem}.h-30{height:30.5rem}.h-31{height:31.5rem}.h-32{height:32.5rem}.h-33{height:33.5rem}.h-34{height:34.5rem}.h-35{height:35.5rem}.h-36{height:36.5rem}.h-37{height:37.5rem}.h-38{height:38.5rem}.h-39{height:39.5rem}.h-40{height:40.5rem}.md-h-1{height:1rem}@media(min-width:52em){.md-h-1{height:1.5rem}}@media(min-width:64em){.md-h-1{height:1.575rem}}@media(min-width:74em){.md-h-1{height:1.725rem}}.md-h-2{height:1.66667rem}@media(min-width:52em){.md-h-2{height:2.5rem}}@media(min-width:64em){.md-h-2{height:2.625rem}}@media(min-width:74em){.md-h-2{height:2.875rem}}.md-h-3{height:2.33333rem}@media(min-width:52em){.md-h-3{height:3.5rem}}@media(min-width:64em){.md-h-3{height:3.675rem}}@media(min-width:74em){.md-h-3{height:4.025rem}}.md-h-4{height:3rem}@media(min-width:52em){.md-h-4{height:4.5rem}}@media(min-width:64em){.md-h-4{height:4.725rem}}@media(min-width:74em){.md-h-4{height:5.175rem}}.md-h-5{height:3.66667rem}@media(min-width:52em){.md-h-5{height:5.5rem}}@media(min-width:64em){.md-h-5{height:5.775rem}}@media(min-width:74em){.md-h-5{height:6.325rem}}.md-h-6{height:4.33333rem}@media(min-width:52em){.md-h-6{height:6.5rem}}@media(min-width:64em){.md-h-6{height:6.825rem}}@media(min-width:74em){.md-h-6{height:7.475rem}}.md-h-7{height:5rem}@media(min-width:52em){.md-h-7{height:7.5rem}}@media(min-width:64em){.md-h-7{height:7.875rem}}@media(min-width:74em){.md-h-7{height:8.625rem}}.md-h-8{height:5.66667rem}@media(min-width:52em){.md-h-8{height:8.5rem}}@media(min-width:64em){.md-h-8{height:8.925rem}}@media(min-width:74em){.md-h-8{height:9.775rem}}.md-h-9{height:6.33333rem}@media(min-width:52em){.md-h-9{height:9.5rem}}@media(min-width:64em){.md-h-9{height:9.975rem}}@media(min-width:74em){.md-h-9{height:10.925rem}}.md-h-10{height:7rem}@media(min-width:52em){.md-h-10{height:10.5rem}}@media(min-width:64em){.md-h-10{height:11.025rem}}@media(min-width:74em){.md-h-10{height:12.075rem}}.md-h-11{height:7.66667rem}@media(min-width:52em){.md-h-11{height:11.5rem}}@media(min-width:64em){.md-h-11{height:12.075rem}}@media(min-width:74em){.md-h-11{height:13.225rem}}.md-h-12{height:8.33333rem}@media(min-width:52em){.md-h-12{height:12.5rem}}@media(min-width:64em){.md-h-12{height:13.125rem}}@media(min-width:74em){.md-h-12{height:14.375rem}}.md-h-13{height:9rem}@media(min-width:52em){.md-h-13{height:13.5rem}}@media(min-width:64em){.md-h-13{height:14.175rem}}@media(min-width:74em){.md-h-13{height:15.525rem}}.md-h-14{height:9.66667rem}@media(min-width:52em){.md-h-14{height:14.5rem}}@media(min-width:64em){.md-h-14{height:15.225rem}}@media(min-width:74em){.md-h-14{height:16.675rem}}.md-h-15{height:10.33333rem}@media(min-width:52em){.md-h-15{height:15.5rem}}@media(min-width:64em){.md-h-15{height:16.275rem}}@media(min-width:74em){.md-h-15{height:17.825rem}}.md-h-16{height:11rem}@media(min-width:52em){.md-h-16{height:16.5rem}}@media(min-width:64em){.md-h-16{height:17.325rem}}@media(min-width:74em){.md-h-16{height:18.975rem}}.md-h-17{height:11.66667rem}@media(min-width:52em){.md-h-17{height:17.5rem}}@media(min-width:64em){.md-h-17{height:18.375rem}}@media(min-width:74em){.md-h-17{height:20.125rem}}.md-h-18{height:12.33333rem}@media(min-width:52em){.md-h-18{height:18.5rem}}@media(min-width:64em){.md-h-18{height:19.425rem}}@media(min-width:74em){.md-h-18{height:21.275rem}}.md-h-19{height:13rem}@media(min-width:52em){.md-h-19{height:19.5rem}}@media(min-width:64em){.md-h-19{height:20.475rem}}@media(min-width:74em){.md-h-19{height:22.425rem}}.md-h-20{height:13.66667rem}@media(min-width:52em){.md-h-20{height:20.5rem}}@media(min-width:64em){.md-h-20{height:21.525rem}}@media(min-width:74em){.md-h-20{height:23.575rem}}.md-h-21{height:14.33333rem}@media(min-width:52em){.md-h-21{height:21.5rem}}@media(min-width:64em){.md-h-21{height:22.575rem}}@media(min-width:74em){.md-h-21{height:24.725rem}}.md-h-22{height:15rem}@media(min-width:52em){.md-h-22{height:22.5rem}}@media(min-width:64em){.md-h-22{height:23.625rem}}@media(min-width:74em){.md-h-22{height:25.875rem}}.md-h-23{height:15.66667rem}@media(min-width:52em){.md-h-23{height:23.5rem}}@media(min-width:64em){.md-h-23{height:24.675rem}}@media(min-width:74em){.md-h-23{height:27.025rem}}.md-h-24{height:16.33333rem}@media(min-width:52em){.md-h-24{height:24.5rem}}@media(min-width:64em){.md-h-24{height:25.725rem}}@media(min-width:74em){.md-h-24{height:28.175rem}}.md-h-25{height:17rem}@media(min-width:52em){.md-h-25{height:25.5rem}}@media(min-width:64em){.md-h-25{height:26.775rem}}@media(min-width:74em){.md-h-25{height:29.325rem}}.md-h-26{height:17.66667rem}@media(min-width:52em){.md-h-26{height:26.5rem}}@media(min-width:64em){.md-h-26{height:27.825rem}}@media(min-width:74em){.md-h-26{height:30.475rem}}.md-h-27{height:18.33333rem}@media(min-width:52em){.md-h-27{height:27.5rem}}@media(min-width:64em){.md-h-27{height:28.875rem}}@media(min-width:74em){.md-h-27{height:31.625rem}}.md-h-28{height:19rem}@media(min-width:52em){.md-h-28{height:28.5rem}}@media(min-width:64em){.md-h-28{height:29.925rem}}@media(min-width:74em){.md-h-28{height:32.775rem}}.md-h-29{height:19.66667rem}@media(min-width:52em){.md-h-29{height:29.5rem}}@media(min-width:64em){.md-h-29{height:30.975rem}}@media(min-width:74em){.md-h-29{height:33.925rem}}.md-h-30{height:20.33333rem}@media(min-width:52em){.md-h-30{height:30.5rem}}@media(min-width:64em){.md-h-30{height:32.025rem}}@media(min-width:74em){.md-h-30{height:35.075rem}}.md-h-31{height:21rem}@media(min-width:52em){.md-h-31{height:31.5rem}}@media(min-width:64em){.md-h-31{height:33.075rem}}@media(min-width:74em){.md-h-31{height:36.225rem}}.md-h-32{height:21.66667rem}@media(min-width:52em){.md-h-32{height:32.5rem}}@media(min-width:64em){.md-h-32{height:34.125rem}}@media(min-width:74em){.md-h-32{height:37.375rem}}.md-h-33{height:22.33333rem}@media(min-width:52em){.md-h-33{height:33.5rem}}@media(min-width:64em){.md-h-33{height:35.175rem}}@media(min-width:74em){.md-h-33{height:38.525rem}}.md-h-34{height:23rem}@media(min-width:52em){.md-h-34{height:34.5rem}}@media(min-width:64em){.md-h-34{height:36.225rem}}@media(min-width:74em){.md-h-34{height:39.675rem}}.md-h-35{height:23.66667rem}@media(min-width:52em){.md-h-35{height:35.5rem}}@media(min-width:64em){.md-h-35{height:37.275rem}}@media(min-width:74em){.md-h-35{height:40.825rem}}.md-h-36{height:24.33333rem}@media(min-width:52em){.md-h-36{height:36.5rem}}@media(min-width:64em){.md-h-36{height:38.325rem}}@media(min-width:74em){.md-h-36{height:41.975rem}}.md-h-37{height:25rem}@media(min-width:52em){.md-h-37{height:37.5rem}}@media(min-width:64em){.md-h-37{height:39.375rem}}@media(min-width:74em){.md-h-37{height:43.125rem}}.md-h-38{height:25.66667rem}@media(min-width:52em){.md-h-38{height:38.5rem}}@media(min-width:64em){.md-h-38{height:40.425rem}}@media(min-width:74em){.md-h-38{height:44.275rem}}.md-h-39{height:26.33333rem}@media(min-width:52em){.md-h-39{height:39.5rem}}@media(min-width:64em){.md-h-39{height:41.475rem}}@media(min-width:74em){.md-h-39{height:45.425rem}}.md-h-40{height:27rem}@media(min-width:52em){.md-h-40{height:40.5rem}}@media(min-width:64em){.md-h-40{height:42.525rem}}@media(min-width:74em){.md-h-40{height:46.575rem}}.mh-1{max-height:250px}@media(min-width:52em){.mh-1{max-height:1.5rem}}.mh-2{max-height:250px}@media(min-width:52em){.mh-2{max-height:2.5rem}}.mh-3{max-height:250px}@media(min-width:52em){.mh-3{max-height:3.5rem}}.mh-4{max-height:250px}@media(min-width:52em){.mh-4{max-height:4.5rem}}.mh-5{max-height:250px}@media(min-width:52em){.mh-5{max-height:5.5rem}}.mh-6{max-height:250px}@media(min-width:52em){.mh-6{max-height:6.5rem}}.mh-7{max-height:250px}@media(min-width:52em){.mh-7{max-height:7.5rem}}.mh-8{max-height:250px}@media(min-width:52em){.mh-8{max-height:8.5rem}}.mh-9{max-height:250px}@media(min-width:52em){.mh-9{max-height:9.5rem}}.mh-10{max-height:250px}@media(min-width:52em){.mh-10{max-height:10.5rem}}.mh-11{max-height:250px}@media(min-width:52em){.mh-11{max-height:11.5rem}}.mh-12{max-height:250px}@media(min-width:52em){.mh-12{max-height:12.5rem}}.mh-13{max-height:250px}@media(min-width:52em){.mh-13{max-height:13.5rem}}.mh-14{max-height:250px}@media(min-width:52em){.mh-14{max-height:14.5rem}}.mh-15{max-height:250px}@media(min-width:52em){.mh-15{max-height:15.5rem}}.mh-16{max-height:250px}@media(min-width:52em){.mh-16{max-height:16.5rem}}.mh-17{max-height:250px}@media(min-width:52em){.mh-17{max-height:17.5rem}}.mh-18{max-height:250px}@media(min-width:52em){.mh-18{max-height:18.5rem}}.mh-19{max-height:250px}@media(min-width:52em){.mh-19{max-height:19.5rem}}.mh-20{max-height:250px}@media(min-width:52em){.mh-20{max-height:20.5rem}}.mh-21{max-height:250px}@media(min-width:52em){.mh-21{max-height:21.5rem}}.mh-22{max-height:250px}@media(min-width:52em){.mh-22{max-height:22.5rem}}.mh-23{max-height:250px}@media(min-width:52em){.mh-23{max-height:23.5rem}}.mh-24{max-height:250px}@media(min-width:52em){.mh-24{max-height:24.5rem}}.mh-25{max-height:250px}@media(min-width:52em){.mh-25{max-height:25.5rem}}.mh-26{max-height:250px}@media(min-width:52em){.mh-26{max-height:26.5rem}}.mh-27{max-height:250px}@media(min-width:52em){.mh-27{max-height:27.5rem}}.mh-28{max-height:250px}@media(min-width:52em){.mh-28{max-height:28.5rem}}.mh-29{max-height:250px}@media(min-width:52em){.mh-29{max-height:29.5rem}}.mh-30{max-height:250px}@media(min-width:52em){.mh-30{max-height:30.5rem}}.mh-31{max-height:250px}@media(min-width:52em){.mh-31{max-height:31.5rem}}.mh-32{max-height:250px}@media(min-width:52em){.mh-32{max-height:32.5rem}}.mh-33{max-height:250px}@media(min-width:52em){.mh-33{max-height:33.5rem}}.mh-34{max-height:250px}@media(min-width:52em){.mh-34{max-height:34.5rem}}.mh-35{max-height:250px}@media(min-width:52em){.mh-35{max-height:35.5rem}}.mh-36{max-height:250px}@media(min-width:52em){.mh-36{max-height:36.5rem}}.mh-37{max-height:250px}@media(min-width:52em){.mh-37{max-height:37.5rem}}.mh-38{max-height:250px}@media(min-width:52em){.mh-38{max-height:38.5rem}}.mh-39{max-height:250px}@media(min-width:52em){.mh-39{max-height:39.5rem}}.mh-40{max-height:250px}@media(min-width:52em){.mh-40{max-height:40.5rem}}.bg-grey-light{background-color:#f6f6f6}.bg-white{background-color:#fff}.bg-primary{background-color:var(--color-primary)}.bg-bright{background-color:var(--color-spot)}.hover-bg{transition:background-color .2s ease-in-out}.hover-bg-primary:hover{background-color:color-mix(in srgb,var(--color-primary),#000 10%)}.grid-container{grid-gap:1rem;display:grid}.sm-grid-container{display:revert}@media(min-width:40em){.sm-grid-container{display:grid}}.md-grid-container{display:revert}@media(min-width:52em){.md-grid-container{display:grid}}.lg-grid-container{display:revert}@media(min-width:64em){.lg-grid-container{display:grid}}[grid-auto-flow=column]{grid-auto-flow:column}@media(min-width:52em){[md-grid-auto-flow=column]{grid-auto-flow:column}}[grid-auto-columns=max-content]{grid-auto-columns:max-content}[grid-justify=center]{justify-content:center}[grid-justify=start]{justify-content:start}[grid-align=start]{align-items:start}[align-items=center]{align-items:center}[justify-items=center]{justify-items:center}.span-all-columns{grid-column:1/-1}[grid-auto-rows]{grid-auto-rows:1fr}[gap="0"]{grid-gap:.5rem}@media(min-width:52em){[gap="0"]{grid-gap:0}}[gap="1"]{grid-gap:.5rem}@media(min-width:52em){[gap="1"]{grid-gap:1rem}}[gap="2"]{grid-gap:1rem}@media(min-width:52em){[gap="2"]{grid-gap:2rem}}[gap="3"]{grid-gap:1rem}@media(min-width:52em){[gap="3"]{grid-gap:3rem}}[gap="4"]{grid-gap:1rem}@media(min-width:52em){[gap="4"]{grid-gap:4rem}}[columns="1"]{grid-template-columns:repeat(1,minmax(0,1fr))}[columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:40em){[sm-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}[sm-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:52em){[md-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}[md-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}[md-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:64em){[lg-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:74em){[xlg-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}[xlg-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:84em){[xxlg-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}[xxlg-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64em){[lg-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}[lg-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:74em){[xlg-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}[xlg-columns="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:64em){[lg-columns="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}[lg-columns="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}}[justify-self=center]{justify-self:center}.border-primary{border:1px solid var(--color-primary-light)}.border-top-primary{border-top:1px solid var(--color-primary-light)}.border-left-primary{border-left:1px solid var(--color-primary-light)}.border-bottom-primary,.border-right-primary{border-bottom:1px solid var(--color-primary-light)}.border-grey{border:1px solid var(--color-grey-light)}.border-white{border:1px solid #fff}.border-top-grey{border-top:1px solid var(--color-grey-light)}.border-left-grey{border-left:1px solid var(--color-grey-light)}.border-bottom-grey,.border-right-grey{border-bottom:1px solid var(--color-grey-light)}.br-1{border-radius:1px}.br-2{border-radius:2px}.br-3{border-radius:3px}.br-4{border-radius:4px}.br-5{border-radius:5px}.br-6{border-radius:6px}.br-7{border-radius:7px}.br-8{border-radius:8px}.br-9{border-radius:9px}.br-10{border-radius:10px}.br-11{border-radius:11px}.br-12{border-radius:12px}.br-13{border-radius:13px}.br-14{border-radius:14px}.br-15{border-radius:15px}.br-16{border-radius:16px}.br-t-1{border-top-left-radius:1px;border-top-right-radius:1px}.br-t-2{border-top-left-radius:2px;border-top-right-radius:2px}.br-t-3{border-top-left-radius:3px;border-top-right-radius:3px}.br-t-4{border-top-left-radius:4px;border-top-right-radius:4px}.br-t-5{border-top-left-radius:5px;border-top-right-radius:5px}.br-t-6{border-top-left-radius:6px;border-top-right-radius:6px}.br-t-7{border-top-left-radius:7px;border-top-right-radius:7px}.br-t-8{border-top-left-radius:8px;border-top-right-radius:8px}.br-t-9{border-top-left-radius:9px;border-top-right-radius:9px}.br-t-10{border-top-left-radius:10px;border-top-right-radius:10px}.br-t-11{border-top-left-radius:11px;border-top-right-radius:11px}.br-t-12{border-top-left-radius:12px;border-top-right-radius:12px}.br-t-13{border-top-left-radius:13px;border-top-right-radius:13px}.br-t-14{border-top-left-radius:14px;border-top-right-radius:14px}.br-t-15{border-top-left-radius:15px;border-top-right-radius:15px}.br-t-16{border-top-left-radius:16px;border-top-right-radius:16px}.br-b-1{border-bottom-left-radius:1px;border-bottom-right-radius:1px}.br-b-2{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.br-b-3{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.br-b-4{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.br-b-5{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.br-b-6{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.br-b-7{border-bottom-left-radius:7px;border-bottom-right-radius:7px}.br-b-8{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.br-b-9{border-bottom-left-radius:9px;border-bottom-right-radius:9px}.br-b-10{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.br-b-11{border-bottom-left-radius:11px;border-bottom-right-radius:11px}.br-b-12{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.br-b-13{border-bottom-left-radius:13px;border-bottom-right-radius:13px}.br-b-14{border-bottom-left-radius:14px;border-bottom-right-radius:14px}.br-b-15{border-bottom-left-radius:15px;border-bottom-right-radius:15px}.br-b-16{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.br-t-l-1{border-top-left-radius:1px}.br-t-l-2{border-top-left-radius:2px}.br-t-l-3{border-top-left-radius:3px}.br-t-l-4{border-top-left-radius:4px}.br-t-l-5{border-top-left-radius:5px}.br-t-l-6{border-top-left-radius:6px}.br-t-l-7{border-top-left-radius:7px}.br-t-l-8{border-top-left-radius:8px}.br-t-l-9{border-top-left-radius:9px}.br-t-l-10{border-top-left-radius:10px}.br-t-l-11{border-top-left-radius:11px}.br-t-l-12{border-top-left-radius:12px}.br-t-l-13{border-top-left-radius:13px}.br-t-l-14{border-top-left-radius:14px}.br-t-l-15{border-top-left-radius:15px}.br-t-l-16{border-top-left-radius:16px}.br-t-r-1{border-top-right-radius:1px}.br-t-r-2{border-top-right-radius:2px}.br-t-r-3{border-top-right-radius:3px}.br-t-r-4{border-top-right-radius:4px}.br-t-r-5{border-top-right-radius:5px}.br-t-r-6{border-top-right-radius:6px}.br-t-r-7{border-top-right-radius:7px}.br-t-r-8{border-top-right-radius:8px}.br-t-r-9{border-top-right-radius:9px}.br-t-r-10{border-top-right-radius:10px}.br-t-r-11{border-top-right-radius:11px}.br-t-r-12{border-top-right-radius:12px}.br-t-r-13{border-top-right-radius:13px}.br-t-r-14{border-top-right-radius:14px}.br-t-r-15{border-top-right-radius:15px}.br-t-r-16{border-top-right-radius:16px}.br-b-r-1{border-bottom-right-radius:1px}.br-b-r-2{border-bottom-right-radius:2px}.br-b-r-3{border-bottom-right-radius:3px}.br-b-r-4{border-bottom-right-radius:4px}.br-b-r-5{border-bottom-right-radius:5px}.br-b-r-6{border-bottom-right-radius:6px}.br-b-r-7{border-bottom-right-radius:7px}.br-b-r-8{border-bottom-right-radius:8px}.br-b-r-9{border-bottom-right-radius:9px}.br-b-r-10{border-bottom-right-radius:10px}.br-b-r-11{border-bottom-right-radius:11px}.br-b-r-12{border-bottom-right-radius:12px}.br-b-r-13{border-bottom-right-radius:13px}.br-b-r-14{border-bottom-right-radius:14px}.br-b-r-15{border-bottom-right-radius:15px}.br-b-r-16{border-bottom-right-radius:16px}.br-b-l-1{border-bottom-left-radius:1px}.br-b-l-2{border-bottom-left-radius:2px}.br-b-l-3{border-bottom-left-radius:3px}.br-b-l-4{border-bottom-left-radius:4px}.br-b-l-5{border-bottom-left-radius:5px}.br-b-l-6{border-bottom-left-radius:6px}.br-b-l-7{border-bottom-left-radius:7px}.br-b-l-8{border-bottom-left-radius:8px}.br-b-l-9{border-bottom-left-radius:9px}.br-b-l-10{border-bottom-left-radius:10px}.br-b-l-11{border-bottom-left-radius:11px}.br-b-l-12{border-bottom-left-radius:12px}.br-b-l-13{border-bottom-left-radius:13px}.br-b-l-14{border-bottom-left-radius:14px}.br-b-l-15{border-bottom-left-radius:15px}.br-b-l-16{border-bottom-left-radius:16px}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-6{z-index:6}.z-7{z-index:7}.z-8{z-index:8}.z-9{z-index:9}.z-10{z-index:10}.z-11{z-index:11}.z-12{z-index:12}.z-13{z-index:13}.z-14{z-index:14}.z-15{z-index:15}.z-16{z-index:16}.z-17{z-index:17}.z-18{z-index:18}.z-19{z-index:19}.z-20{z-index:20}.z-21{z-index:21}.z-22{z-index:22}.z-23{z-index:23}.z-24{z-index:24}.z-25{z-index:25}.z-26{z-index:26}.z-27{z-index:27}.z-28{z-index:28}.z-29{z-index:29}.z-30{z-index:30}.z-31{z-index:31}.z-32{z-index:32}.z-33{z-index:33}.z-34{z-index:34}.z-35{z-index:35}.z-36{z-index:36}.z-37{z-index:37}.z-38{z-index:38}.z-39{z-index:39}.z-40{z-index:40}.flex{display:flex}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-center{align-items:center}.flex-baseline{align-items:baseline}.flex-start{align-items:flex-start}.flex-end{align-items:flex-end}.flex-justify{justify-content:space-between}.flex-auto{flex:1 1 auto}.flex-grow{flex:1 0 auto}.flex-none{flex:none}@media(min-width:40em){.sm-flex{display:flex}}@media(min-width:52em){.md-flex{display:flex}}@media(min-width:64em){.lg-flex{display:flex}}@media(min-width:40em){.flex-10{flex:0 0 10%}.flex-20{flex:0 0 20%}.flex-25{flex:0 0 25%}.flex-33{flex:0 0 33.3333%}.flex-30{flex:0 0 30%}.flex-40{flex:0 0 40%}.flex-45{flex:0 0 45%}.flex-50{flex:0 0 50%}.flex-60{flex:0 0 60%}.flex-66{flex:0 0 66.6667%}.flex-70{flex:0 0 70%}.flex-75{flex:0 0 75%}.flex-80{flex:0 0 80%}.flex-90{flex:0 0 90%}.flex-100{flex:0 0 100%}}.justify-start{justify-content:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}@media(min-width:64em){.justify-center-lg{justify-content:center}}@media(min-width:74em){.xlg-flex{display:flex}}.inline-flex{display:inline-flex}.lg-inline-flex{display:none}@media(min-width:64em){.lg-inline-flex{display:inline-flex}}.lg-inline-flex-hide{display:inline-flex}@media(min-width:64em){.lg-inline-flex-hide{display:none}}.flex-stretch{align-items:stretch}.flex-nostretch{align-self:center}.flex-nostretch-start{align-self:flex-start}.flex-nostretch-end{align-self:flex-end}.flex-noshrink{flex-shrink:0}@media(min-width:40em){.sm-mb0{margin-bottom:0}.flex-row-reverse{flex-direction:row-reverse}}.flex-column-reverse-sm-unset{flex-direction:column-reverse}@media(min-width:40em){.flex-column-reverse-sm-unset{flex-direction:unset}}.flex-column-reverse-md-unset{flex-direction:column-reverse}@media(min-width:52em){.flex-column-reverse-md-unset{flex-direction:unset}}.flex-column-reverse-lg-unset{flex-direction:column-reverse}@media(min-width:64em){.flex-column-reverse-lg-unset{flex-direction:unset}}@media(min-width:40em){.sm-justify-center{justify-content:center}}.sm-flex-row{flex-direction:column}@media(min-width:40em){.sm-flex-row{flex-direction:row}}.lg-flex-row{flex-direction:column}@media(min-width:64em){.lg-flex-row{flex-direction:row}}.no-flex{flex:none}.flex-gap-1{gap:.5rem}.flex-gap-2{gap:1rem}.flex-gap-3{gap:2rem}.flex-gap-4{gap:4rem}@media(min-width:40em){.sm-row-reverse{flex-direction:row-reverse}}@media(min-width:52em){.md-row-reverse{flex-direction:row-reverse}}.xlg-show{display:none}@media(min-width:74em){.xlg-show{display:unset}}:root{--ease-in-quad:cubic-bezier(0.55,0.085,0.68,0.53);--ease-in-cubic:cubic-bezier(0.55,0.055,0.675,0.19);--ease-in-quart:cubic-bezier(0.895,0.03,0.685,0.22);--ease-in-quint:cubic-bezier(0.755,0.05,0.855,0.06);--ease-in-expo:cubic-bezier(0.95,0.05,0.795,0.035);--ease-in-circ:cubic-bezier(0.6,0.04,0.98,0.335);--ease-out-quad:cubic-bezier(0.25,0.46,0.45,0.94);--ease-out-cubic:cubic-bezier(0.215,0.61,0.355,1);--ease-out-quart:cubic-bezier(0.165,0.84,0.44,1);--ease-out-quint:cubic-bezier(0.23,1,0.32,1);--ease-out-expo:cubic-bezier(0.19,1,0.22,1);--ease-out-circ:cubic-bezier(0.075,0.82,0.165,1);--ease-in-out-quad:cubic-bezier(0.455,0.03,0.515,0.955);--ease-in-out-cubic:cubic-bezier(0.645,0.045,0.355,1);--ease-in-out-quart:cubic-bezier(0.77,0,0.175,1);--ease-in-out-quint:cubic-bezier(0.86,0,0.07,1);--ease-in-out-expo:cubic-bezier(1,0,0,1);--ease-in-out-circ:cubic-bezier(0.785,0.135,0.15,0.86)}.fade{--yvalue:40px;opacity:0;transform:translateY(var(--yvalue));transition-delay:.5s;transition-duration:.5s;transition-timing-function:var(--ease-out-cubic)}.fade-reveal{transform:unset}.fade.active{opacity:1;transform:translateY(0)}.hover-item{transform-origin:center}.hover-item:hover{transform:scale(1.05)}.ease-in-quad{transition-timing-function:var(--ease-in-quad)}.ease-in-cubic{transition-timing-function:var(--ease-in-cubic)}.ease-in-quart{transition-timing-function:var(--ease-in-quart)}.ease-in-quint{transition-timing-function:var(--ease-in-quint)}.ease-in-expo{transition-timing-function:var(--ease-in-expo)}.ease-in-circ{transition-timing-function:var(--ease-in-circ)}.ease-out-quad{transition-timing-function:var(--ease-out-quad)}.ease-out-cubic{transition-timing-function:var(--ease-out-cubic)}.ease-out-quart{transition-timing-function:var(--ease-out-quart)}.ease-out-quint{transition-timing-function:var(--ease-out-quint)}.ease-out-expo{transition-timing-function:var(--ease-out-expo)}.ease-out-circ{transition-timing-function:var(--ease-out-circ)}.ease-in-out-quad{transition-timing-function:var(--ease-in-out-quad)}.ease-in-out-cubic{transition-timing-function:var(--ease-in-out-cubic)}.ease-in-out-quart{transition-timing-function:var(--ease-in-out-quart)}.ease-in-out-quint{transition-timing-function:var(--ease-in-out-quint)}.ease-in-out-expo{transition-timing-function:var(--ease-in-out-expo)}.ease-in-out-circ{transition-timing-function:var(--ease-in-out-circ)}.show{opacity:1;transform:none}.notify{animation:notify .1s cubic-bezier(1,0,0,1) 2 alternate}@keyframes notify{0%{transform:scale(1)}to{transform:scale(1.1)}}.m-auto{margin:0 auto}.m-unset{margin:unset}.p-unset{padding:unset}.m0{margin:0}.mt0{margin-top:0}.mr0{margin-right:0}.mb0{margin-bottom:0}.ml0{margin-left:0}.m1{margin:.5rem}.mt1{margin-top:.5rem}.mr1{margin-right:.5rem}.mb1{margin-bottom:.5rem}.ml1{margin-left:.5rem}.m2{margin:1rem}.mt2{margin-top:1rem}.mr2{margin-right:1rem}.mb2{margin-bottom:1rem}.ml2{margin-left:1rem}.m3{margin:2rem}.mt3{margin-top:2rem}.mr3{margin-right:2rem}.mb3{margin-bottom:2rem}.ml3{margin-left:2rem}.m4{margin:4rem}.mt4{margin-top:4rem}.mr4{margin-right:4rem}.mb4{margin-bottom:4rem}.ml4{margin-left:4rem}.mxn1{margin-left:-.5rem;margin-right:-.5rem}.mxn2{margin-left:-1rem;margin-right:-1rem}.mxn3{margin-left:-2rem;margin-right:-2rem}.mxn4{margin-left:-4rem;margin-right:-4rem}.mx-auto{margin-left:auto;margin-right:auto}.p0{padding:0}.p1{padding:.5rem}.py1{padding-bottom:.5rem;padding-top:.5rem}.px1{padding-left:.5rem;padding-right:.5rem}.p2{padding:1rem}.py2{padding-bottom:1rem;padding-top:1rem}.px2{padding-left:1rem;padding-right:1rem}.p3{padding:2rem}.py3{padding-bottom:2rem;padding-top:2rem}.px3{padding-left:2rem;padding-right:2rem}.p4{padding:4rem}.py4{padding-bottom:4rem;padding-top:4rem}.px4{padding-left:4rem;padding-right:4rem}.pt1{padding-top:1rem}.pt2{padding-top:2rem}.pt3{padding-top:3rem}.pt4{padding-top:4rem}@media(min-width:64em){.lg-px2{padding-left:1rem;padding-right:1rem}.lg-px3{padding-left:2rem;padding-right:2rem}.lg-px4{padding-left:4rem;padding-right:4rem}.lg-p2{padding:1rem}.lg-p3{padding:2rem}.lg-p4{padding:4rem}.lg-mt0{margin-top:0}.lg-mt1{margin-top:1rem}.lg-mt2,.lg-mt3,.lg-mt4{margin-top:2rem}.lg-mb0{margin-bottom:0}.lg-mt1{margin-bottom:1rem}.lg-mb2,.lg-mb3,.lg-mb4{margin-bottom:2rem}}.line-clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.inline{display:inline}.block{display:block}.inline-block{display:inline-block}.table{display:table}.table-cell{display:table-cell}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.overflow-x-hidden,.overflow-y-hidden{overflow-x:hidden}.m0auto{margin:0 auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.lg-show,.md-show,.sm-show{display:none!important}@media(min-width:40em){.sm-show{display:block!important}}@media(min-width:52em){.md-show{display:block!important}}@media(min-width:64em){.lg-show{display:block!important}}@media(min-width:40em){.sm-hide{display:none!important}}@media(min-width:52em){.md-hide{display:none!important}}@media(min-width:64em){.lg-hide{display:none!important}}.display-none{display:none!important}.hide{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.card{text-wrap:balance;background-color:#fff;border:1px solid #f6f6f6;border-radius:6px;box-shadow:0 3px 8px 0 rgba(0,0,0,.12);color:unset;display:flex;flex-direction:column;justify-content:center;position:relative;transition:box-shadow .2s ease-in-out 0s,border-color .3s,transform .2s;width:100%}.card:active{box-shadow:none}.card:hover{box-shadow:0 8px 20px 0 rgba(0,0,0,.12)}.card:hover,.card>a:hover{text-decoration:none}.card.card-no-hover{transform:none}.card.card-no-hover:hover{box-shadow:none}.card-md-flex,a.card-md-flex{display:block}@media(min-width:52em){.card-md-flex,a.card-md-flex{display:flex}}.card-flex-row,a.card-flex-row{flex-direction:row}.card-align-start,a.card-align-start{align-items:flex-start}.card-justify-start,a.card-justify-start{justify-content:flex-start}.card-dark,a.card-dark{background-color:color-mix(in srgb,var(--color-primary),#000 60%);border:none;position:relative}.card-dark:hover:after,a.card-dark:hover:after{background:linear-gradient(hsla(0,0%,100%,.5),hsla(0,0%,100%,.15));opacity:1}#what-analysts-say figure{position:relative}.card-dark:after{background:linear-gradient(hsla(0,0%,100%,.2),hsla(0,0%,100%,.05));border-radius:inherit;bottom:0;content:"";left:0;opacity:.8;pointer-events:none;position:absolute;right:0;top:0;inset:0;mask:linear-gradient(#000,#000) content-box content-box,linear-gradient(#000,#000);-webkit-mask:linear-gradient(#000,#000) content-box content-box,linear-gradient(#000,#000);-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-image:linear-gradient(#000,#000),linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000),linear-gradient(#000,#000);mask-mode:match-source,match-source;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-size:auto,auto;mask-size:auto,auto;padding:1px;transition:opacity .4s ease-in-out;-webkit-user-select:none;user-select:none}.alert{border-radius:16px;margin-bottom:1rem;padding:1.25rem 1.5rem 1.25rem 3.5rem;position:relative}.alert p{font-size:.75rem;margin:0;max-width:80%;vertical-align:middle}@media(min-width:52em){.alert p{font-size:1rem}}.alert-title{font-family:var(--font-bold);font-size:1.25rem}.alert a{color:currentColor}.alert p strong{font-family:var(--font-bold)}.alert-warning{background-color:color-mix(in srgb,var(--color-warning),#fff 90%);color:color-mix(in srgb,var(--color-warning),#000 20%)}.alert-warning a,.alert-warning p{color:color-mix(in srgb,var(--color-warning),#000 25%)}.alert-danger{background-color:color-mix(in srgb,var(--color-danger) 5%,#fff)}.alert-danger,.alert-danger a,.alert-danger p{color:var(--color-danger)}.alert-success{background-color:color-mix(in srgb,var(--color-success),#fff 85%);color:color-mix(in srgb,var(--color-sucess),#000 10%)}.alert-success a,.alert-success p{color:color-mix(in srgb,var(--color-success),#fff 5%)}.alert-info{background-color:color-mix(in srgb,var(--color-info) 10%,#fff)}.alert-info,.alert-info a,.alert-info p{color:var(--color-info)}.alert-tip{background-color:color-mix(in srgb,var(--color-spot) 10%,#fff)}.alert-tip,.alert-tip a,.alert-tip p{color:var(--color-spot)}.alert:before{background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;height:24px;left:1rem;margin-right:8px;position:absolute;top:1.5rem;vertical-align:middle;width:24px}.alert-warning:before{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="orange" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4M12 17h.01"/></svg>')}.alert-danger:before{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="red" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4M12 17h.01"/></svg>')}.alert-success:before{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="green" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>')}.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='%23253b44' 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-tip:before{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="purple" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path 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"/></svg>')}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}.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-holder{transform:scale(.75)}.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;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}.benefit-list{background-color:#f6f6f6;border-radius:4px;justify-content:center}@media(min-width:64em){.benefit-list{justify-content:normal}}.benefit-list-transparent{background-color:transparent}.benefit-list-green{background-color:color-mix(in srgb,var(--color-resources-develop) 10%,#fff)}.benefit-list p{line-height:1.2;text-align:left}.benefit-list .icon{line-height:0}.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}}.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)}code{background-color:#f7fafc;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}.code-pre-wrapper{min-width:calc(100% - 2rem)}.code-pre-wrapper-no-linenumbers{min-width:100%}.code-wrapper:has(::-webkit-scrollbar){background-color:color-mix(in srgb,var(--color-primary),#000 20%)}pre.prism-code{margin-top:0;min-width:calc(100% - 2rem);overflow:auto;white-space:pre;word-break:normal}.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:color-mix(in srgb,var(--color-primary) 40%,#fff);font-size:.75em;line-height:normal;padding:.25rem .5rem}.button-copy-code.copied{background-color:var(--color-success);color:#fff}.button-copy-code-wrapper{align-items:center;background-color:color-mix(in srgb,var(--color-primary),#000 20%);border-top-left-radius:6px;border-top-right-radius:6px;display:flex;height:32px;justify-content:space-between;padding-left:.25rem;padding-right:.25rem}.button-copy-code-wrapper-title{color:color-mix(in srgb,var(--color-primary) 40%,#fff);display:block;font-size:.75rem;padding:.25rem;text-transform:uppercase}.code-line-numbers{word-wrap:normal;background:#282a36;color:#fff;flex:0 0 2rem;font-family:Roboto-Mono,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.875rem;height:calc(100% - 1rem);-webkit-hyphens:none;hyphens:none;line-height:1.5;overflow:hidden;padding:1em;tab-size:4;text-align:left;white-space:nowrap;word-break:normal;word-spacing:normal}[data-line-style=highlighted]{background-color:rgba(0,245,196,.149)}.code-line-numbers-highlights span:last-child{display:none}.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}.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 - 98px - 2rem);overflow-y:auto;position:sticky;top:calc(98px + 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:98px}.header[role=banner]{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:50px}.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 ul:first-of-type>li a{align-items:center;display:inline-flex}.header-top ul:first-of-type>li a:not(.dropdown-content-link){justify-content:center}.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 - 98px)}}@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 - 98px)}.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%,#d859a1 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;pointer-events:none;position:absolute;width:100%;z-index:0}@media(min-width:84em){.footer-lines{background-image:url(/images/footer-lines.svg);background-repeat:no-repeat;background-size:100%}}@media(min-width:140em){.footer-lines{background-position:calc(100% + 1rem) bottom;background-size:cover;bottom:-100px;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}@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.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:color-mix(in srgb,var(--color-primary),#000 10%);color:#fff}.tab-group-dark>[role=tablist]>button.active{background-color:color-mix(in srgb,var(--color-primary),#000 55%);color:#fff}.tab-group-dark>[role=tablist]>button.active:hover{background-color:color-mix(in srgb,var(--color-primary),#000 25%);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{border-bottom:1px solid #f0f0f0;border-radius:8px;cursor:pointer;padding:1rem;text-align:initial;transition:background-color .2s ease-in-out}@media(min-width:74em){.faq-question{padding:2rem}}.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:rgba(216,89,161,.2);border-radius:6px}.faq-question.active.faq-highlighted:hover{background-color:rgba(216,89,161,.4)}.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(168px + 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.resources{margin-top:calc(100vh - 98px)}body.contact{background-color:color-mix(in srgb,var(--color-primary),#000 70%)}.contact-layout{grid-gap:2rem;display:grid;margin:0 auto;max-width:90em;padding-top:2rem}.contact-layout-right{grid-template-columns:1fr;grid-template-rows:repeat(6,auto)}@media(min-width:64em){.contact-layout-right{grid-template-columns:1.5fr 2.25fr;grid-template-rows:1fr 1fr;padding-bottom:4rem;padding-top:4rem}}.contact-layout-left{grid-template-columns:1fr;grid-template-rows:repeat(6,auto)}@media(min-width:64em){.contact-layout-left{grid-template-columns:2.25fr 1.5fr;grid-template-rows:1fr 1fr;padding-bottom:4rem;padding-top:4rem}}.contact-layout-center{grid-template-columns:1fr;grid-template-rows:repeat(6,auto);max-width:50em}@media(min-width:64em){.contact-layout-center{grid-template-columns:1fr;padding-bottom:4rem;padding-top:4rem}.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 textarea{background-color:#f8f8f8}@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(98px + 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{margin-top:168px}body.training .intro-full{min-height:calc(100vh - 168px)}.training-container{height:100%}.training-container,.training-main{min-height:calc(100vh - 172px)}@media(min-width:52em){.training-main{margin-left:320px;width:calc(100% - 320px)}}.training-main .container{position:relative;top:6rem}body.training .footer{display:none}.resources-searchbar-course-title+.training-progressbar-holder{max-width:200px}.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 - 70px);left:0;position:fixed;top:167px;width:100%;width:320px;z-index:3}.training-sidebar-inner{background-color:color-mix(in srgb,var(--color-primary) 8%,#fff);height:calc(100vh - 167px);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;position:absolute;text-align:left;top:50px;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:1480px;top:100%;width:min-content}.dropdown-content-product-columns div.flex-33:first-child,.dropdown-content-product-columns div.flex-33:nth-child(2){border-right:1px solid #e2e2e2}.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}.dropdown-content-product-columns>div{border-right:1px solid #e2e2e2}.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}.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:1.6875rem;padding:.75rem 1.5rem}.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}@media(min-width:52em){.events>li a{grid-gap:2rem;display:grid;grid-template-columns:1.5fr 4fr 1.5fr}}.events-date *{color:var(--color-paragraphs)}.events-date-date-day{color:var(--color-spot);font-size:2rem;line-height:1.2}@media(min-width:52em){.events-date-date-day{font-size:3.5rem}}ul.Conference li[href*=Conference]{display:block}ul.Conference li[href*=Livecast],ul.Conference li[href*=Webinar]{display:none}ul.Webinar li[href*=Webinar]{display:block}ul.Webinar li[href*=Conference],ul.Webinar li[href*=Livecast]{display:none}.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:98px;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 apiMoveUp{to{transform:translateY(-100px)}}@keyframes pulsebright{0%{box-shadow:0 0 0 0 rgba(216,89,161,.4)}to{box-shadow:0 0 0 60px rgba(216,89,161,0)}}@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}.mock-ui-c-devops-dashboard-intro{display:none;transform:translateX(-2rem)}@media(min-width:84em){.mock-ui-c-devops-dashboard-intro{display:block;position:absolute;right:-6rem;top:22%;width:500px}.devops-dashbard .intro-animation img{position:absolute;right:380px;top:20%}.devops-dashbard .intro p{max-width:35rem}}.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:98px;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:color-mix(in srgb,var(--color-primary) 15%,#fff);color:var(--color-primary)}.ref-cross:hover .icon:first-child{background-color:color-mix(in srgb,var(--color-primary),#000 5%);color:#fff}.ref-cross .icon:first-child{background-color:color-mix(in srgb,var(--color-primary) 10%,#fff);color:currentColor}.ref-docs{background-color:color-mix(in srgb,var(--color-primary) 80%,#fff)}.ref-docs,.ref-docs:hover{color:#fff}.ref-docs .icon:first-child,.ref-docs:hover .icon:first-child{background-color:color-mix(in srgb,var(--color-primary),#000 12%)}.ref-docs .icon:first-child{color:#fff}.ref-docs .icon:nth-child(2){color:lcolor-mix(in srgb,var(--color-primary) 45%,#fff)}.ref-docs span{background-color:color-mix(in srgb,var(--color-primary),#000 12%);color:#fff;padding-left:.25rem;padding-right:.25rem}.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:158px;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:168px}.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:168px}@media(min-width:64em){body.resources.guides{margin-top:238px}}.getting-started-selector img{height:60px;width:60px}.getting-started-selector button{display:flex}.getting-started-selector button p{font-family:var(--type-regular)}.getting-started-selector button.active{background-color:var(--color-primary-light)}.getting-started-selector button.active h2{color:#fff}.getting-started-selector h2{color:var(--color-primary)}.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(--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}.article-sidebar .resources-searchbar-areas h4{border:none;padding:0}.article-sidebar li a.resources-topic{line-height:normal;padding:0}.resources-topic-image{padding:1rem}.resources-topic-image img{display:block;max-height:120px;object-fit:contain;width:100%}.resources-topic-intro{display:flex;flex-direction:column;justify-content:center;padding:0 1rem 1rem;text-align:center}.resources-topic-intro img{margin:2rem auto;max-height:100px;max-width:100px;object-fit:cover}@media(min-width:52em){.resources-topic-intro img{max-height:200px;max-width:200px}}.resources-topic-intro p{font-size:.85rem;margin:1rem auto;max-width:40em}@media(min-width:52em){.resources-topic-intro p{font-size:1.15rem}}.resources-topic-video svg{height:36px;padding:.5rem;width:36px}.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:168px}.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:168px}.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{background-color:#f5f5f5}.article-toc li.active span{background-color:var(--dotColorActive)}.article-toc li{font-size:.85rem;padding:.5rem}.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}.resources-searchbar{background-color:#fff;border-bottom:1px solid #ddd;height:70px;position:fixed;top:98px;width:100%;z-index:50}.resources-searchbar .container{margin:0 auto;max-width:60em}@media(min-width:52em){.resources-searchbar .container{display:flex;padding-left:2em;padding-right:2em}}@media(min-width:64em){.resources-searchbar .container{max-width:90em}}@media(min-width:74em){.resources-searchbar .container{max-width:110em}}@media(min-width:84em){.resources-searchbar .container{max-width:120em}}.resources-searchbar .resources-searchbar-areas{display:none}@media(min-width:64em){.resources-searchbar .resources-searchbar-areas{display:flex}}.resources-searchbar .resources-topic h4{border-top:none;margin:0;padding:0}.resources_section-develop .intro-overlay svg,.resources_section-develop .resources-topic-develop svg{stroke:#fff;background-color:var(--color-resources-develop)}.resources_section-architect .intro-overlay svg,.resources_section-architect .resources-topic-architect svg{stroke:#fff;background-color:var(--color-spot)}.resources_section-usecases .intro-overlay svg,.resources_section-usecases .resources-topic-usecases svg{stroke:#fff;background-color:color-mix(in srgb,var(--color-tertiary),#000 10%)}.resources_section-operate .intro-overlay svg,.resources_section-operate .resources-topic-operate svg{stroke:#fff;background-color:var(--primary-dark)}.resources_section-code-examples .resources-topic-tutorials svg,.resources_section-concepts .intro-overlay svg,.resources_section-concepts .resources-topic-concepts svg,.resources_section-getting-started .resources-topic-tutorials svg,.resources_section-howtos .resources-topic-tutorials svg,.resources_section-tutorials .intro-overlay svg,.resources_section-tutorials .resources-topic-tutorials svg{stroke:#fff;background-color:var(--color-primary)}.resources-searchbar nav[data-active=resources-searchbar-develop] .resources-topic-develop svg{stroke:#fff;background-color:var(--color-resources-develop)}.resources-searchbar nav[data-active=resources-searchbar-architect] .resources-topic-architect svg{stroke:#fff;background-color:var(--color-spot)}.resources-searchbar nav[data-active=resources-searchbar-usecases] .resources-topic-usecases svg{stroke:#fff;background-color:color-mix(in srgb,var(--color-tertiary),#000 10%)}.resources-searchbar nav[data-active=resources-searchbar-operate] .resources-topic-operate svg{stroke:#fff;background-color:var(--primary-dark)}.resources-searchbar nav[data-active=resources-searchbar-concepts] .resources-topic-concepts svg,.resources-searchbar nav[data-active=resources-searchbar-tutorials] .resources-topic-tutorials svg{stroke:#fff;background-color:var(--color-primary)}.resources-topic-nav{background-color:#fff;border-bottom:1px solid rgba(0,0,0,.125);padding:1rem;position:sticky;text-align:center;top:136px;z-index:2}.resources-topic-nav a{background-color:#fff;border-radius:2px;display:block;font-size:.75rem;padding:.25rem 1rem;transition:all .2s}.resources-topic-nav a:active{background-color:var(--color-primary-dark);color:#fff}.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 #f2f2f2;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:hover{background-color:#f6f6f6;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:active{background-color:#e6e6e6}.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:1.5rem}.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}.article-sidebar .has-children>a.active{background-color:#f6f6f6}.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:168px;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:70px;position:fixed;top:168px;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}}#google_translate_element{margin-left:auto;width:200px}#\:0\.targetLanguage{color:transparent}#\:0\.targetLanguage>div{display:none}.goog-te-gadget{color:transparent!important}.goog-te-gadget img,.goog-te-gadget span:last-child{display:none}.goog-te-combo{color:initial}: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;--color-text:#737373;--color-heading:#262c3d;--color-light:#fff;--color-primary:#4d556a;--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;--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)}}</style><link rel="sitemap" type="application/xml" href="/sitemap-index.xml"/><link rel="preconnect" href="https://www.googletagmanager.com"/><link rel="dns-prefetch" href="https://www.googletagmanager.com"/><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c">window.dataLayer = window.dataLayer || [];window.dataLayer.push({"platform":"gatsby"}); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer', 'GTM-TCC5B9G');</script><title data-react-helmet="true">Configure Deployments using Helm | Curity Identity Server</title><link data-react-helmet="true" rel="canonical" href="https://curity.io/resources/learn/configure-deployments-using-helm/"/><link data-react-helmet="true" rel="preconnect" crossorigin="true" href="https://sc.lfeeder.com"/><link data-react-helmet="true" rel="preconnect" crossorigin="true" href="https://www.youtube.com"/><link data-react-helmet="true" rel="preconnect" crossorigin="true" href="https://i.ytimg.com"/><link data-react-helmet="true" rel="preconnect" crossorigin="true" href="https://fonts.gstatic.com"/><link data-react-helmet="true" rel="preconnect" crossorigin="true" href="https://clarity.ms"/><link data-react-helmet="true" rel="preconnect" crossorigin="true" href="https://js.hs-analytics.net"/><link data-react-helmet="true" rel="preconnect" crossorigin="true" href="https://js.usemessages.com/conversations-embed.js"/><link data-react-helmet="true" rel="preconnect" crossorigin="true" href="https://js.hs-banner.com"/><link data-react-helmet="true" rel="preconnect" crossorigin="true" href="https://js.hscollectedforms.net"/><noscript data-react-helmet="true"> <img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=1940426&fmt=gif" /> </noscript><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" data-react-helmet="true" type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://google.com/article"},"headline":"Configure Deployments using Helm","image":["https://curity.io/images/resources/operate/tutorials-helm.jpg"],"datePublished":"2025-02-14","author":{"@type":"Person","name":"Gary Archer"},"url":"https://curity.io/resources/learn/configure-deployments-using-helm/","description":"Use configuration to drive the behavior of Kubernetes deployments","publisher":{"@type":"Organization","name":"Curity","logo":{"@type":"ImageObject","url":"https://curity.io/images/curity-logo-landscape.png"}}}</script><style>.gatsby-image-wrapper{position:relative;overflow:hidden}.gatsby-image-wrapper picture.object-fit-polyfill{position:static!important}.gatsby-image-wrapper img{bottom:0;height:100%;left:0;margin:0;max-width:none;padding:0;position:absolute;right:0;top:0;width:100%;object-fit:cover}.gatsby-image-wrapper [data-main-image]{opacity:0;transform:translateZ(0);transition:opacity .25s linear;will-change:opacity}.gatsby-image-wrapper-constrained{display:inline-block;vertical-align:top}</style><noscript><style>.gatsby-image-wrapper noscript [data-main-image]{opacity:1!important}.gatsby-image-wrapper [data-placeholder-image]{opacity:0!important}</style></noscript><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" type="module">const e="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;e&&document.body.addEventListener("load",(function(e){const t=e.target;if(void 0===t.dataset.mainImage)return;if(void 0===t.dataset.gatsbyImageSsr)return;let a=null,n=t;for(;null===a&&n;)void 0!==n.parentNode.dataset.gatsbyImageWrapper&&(a=n.parentNode),n=n.parentNode;const o=a.querySelector("[data-placeholder-image]"),r=new Image;r.src=t.currentSrc,r.decode().catch((()=>{})).then((()=>{t.style.opacity=1,o&&(o.style.opacity=0,o.style.transition="opacity 500ms linear")}))}),!0);</script><link rel="icon" href="/favicon-32x32.png?v=0c3dd2c9553a933c6c79aba3c5330e3b" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png?v=0c3dd2c9553a933c6c79aba3c5330e3b"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png?v=0c3dd2c9553a933c6c79aba3c5330e3b"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png?v=0c3dd2c9553a933c6c79aba3c5330e3b"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png?v=0c3dd2c9553a933c6c79aba3c5330e3b"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png?v=0c3dd2c9553a933c6c79aba3c5330e3b"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png?v=0c3dd2c9553a933c6c79aba3c5330e3b"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png?v=0c3dd2c9553a933c6c79aba3c5330e3b"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png?v=0c3dd2c9553a933c6c79aba3c5330e3b"/><link rel="alternate" type="application/rss+xml" href="/news-feed.xml"/><link rel="alternate" type="application/json" href="/news-feed.json"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><link rel="alternate" type="application/rss+xml" href="/howtos-feed.xml"/><link rel="alternate" type="application/rss+xml" href="/code-examples-feed.xml"/><link rel="alternate" type="application/json" href="/code-examples-feed.json"/><link rel="preload" href="/fonts/Roboto-Regular.woff2" as="font" crossorigin="anonymous" type="font/woff2"/><link rel="preload" href="/fonts/Roboto-Light.woff2" as="font" crossorigin="anonymous" type="font/woff2"/><link rel="preload" href="/fonts/Roboto-Medium.woff2" as="font" crossorigin="anonymous" type="font/woff2"/><link rel="preload" href="/fonts/roboto-mono-v12-latin-regular.woff2" as="font" crossorigin="anonymous" type="font/woff2"/><link rel="preload" href="/fonts/ionicons.woff2" as="font" crossorigin="anonymous" type="font/woff2"/><link rel="preload" href="/fonts/Roboto-Bold.woff2" as="font" crossorigin="anonymous" type="font/woff2"/><style> @font-face { font-family: "Roboto-Regular"; font-display: swap; font-style: normal; src: url("/fonts/Roboto-Regular.woff2") format("woff2"); } @font-face { font-family: "Roboto-Medium"; font-display: swap; font-style: normal; src: url("/fonts/Roboto-Medium.woff2") format("woff2"); } @font-face { font-family: "Roboto-Light"; font-display: swap; font-style: normal; src: url("/fonts/Roboto-Light.woff2") format("woff2"); } @font-face { font-family: "Roboto-Mono"; font-display: swap; font-style: normal; src: url("/fonts/roboto-mono-v12-latin-regular.woff2") format("woff2"); } @font-face { font-family: "Roboto-Bold"; font-display: swap; font-style: normal; src: url("/fonts/Roboto-Bold.woff2") format("woff2"); } @font-face { font-family: "Ionicons"; src: url("/fonts/ionicons.woff2") format("woff2"); font-style: normal; font-display: swap; } </style></head><body class="resources resources_section resources_section-tutorials"><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TCC5B9G" height="0" width="0" style="display: none; visibility: hidden" aria-hidden="true"></iframe></noscript><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="mobile-nav "><div class="flex flex-center justify-between p1"><img class="header-top-logo block" src="data:image/svg+xml;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Mi41NyAzNi4zMyI+PHBhdGggZD0ibTUzLjA2IDI2Ljc5LS41Ni41N2ExNS45MyAxNS45MyAwIDAgMS0xMC45MyA1IDEwIDEwIDAgMCAxLTEwLjM0LTEwLjRjMC02IDQuMjQtMTAuMzkgMTAuMDktMTAuMzlhMTYuNjcgMTYuNjcgMCAwIDEgMTAuMjIgNGwuNTYuNDkgNS42MS01Ljg2LS42My0uNTRhMjUuNzggMjUuNzggMCAwIDAtMTYuMzYtNS45MSAxOC40NCAxOC40NCAwIDAgMC0xNS4zNyA3LjY4SDE1bC0uNiA1LjA5aDguNWExNy45IDE3LjkgMCAwIDAtLjU5IDIuODZIOS42MUw5IDI0LjQ2aDEzLjMxYTE4LjU2IDE4LjU2IDAgMCAwIC41NyAyLjg2SDMuNzdsLS42MSA1LjA5SDI1LjNjMy4yOSA0Ljc0IDguOSA3LjY4IDE1LjY3IDcuNjhhMjUuNDEgMjUuNDEgMCAwIDAgMTcuMTktNi45M2wuNTktLjU2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMuMTYgLTMuNzUpIiBzdHlsZT0iZmlsbDojZmZmIi8+PHBhdGggc3R5bGU9ImZpbGw6I2ZmZiIgZD0iTTUuMDEgMTUuNjJIMS4yNmwtLjYgNS4wOUg0LjRsLjYxLTUuMDl6Ii8+PHBhdGggZD0iTTg4IDI2LjE0YTEzLjMxIDEzLjMxIDAgMCAxLTkuMDYgMy42NmMtNS45MiAwLTkuODItNC4yMy05LjgyLTkuNDdhOS4zNiA5LjM2IDAgMCAxIDkuNjgtOS40NEExMy42NiAxMy42NiAwIDAgMSA4Ny40MSAxNEw4NSAxNi41NmE5LjU1IDkuNTUgMCAwIDAtNS44NC0yLjI5IDUuODIgNS44MiAwIDAgMC01LjkyIDYuMDkgNS44NyA1Ljg3IDAgMCAwIDYuMDYgNi4wOCA5LjE5IDkuMTkgMCAwIDAgNi4yNS0yLjgzWk0xMDcuNDQgMTEuNDN2MTEuNDFjMCA0LjQ1LTMuNDQgNy04LjE2IDdzLTguMTEtMi41MS04LjExLTdWMTEuNDNoMy45M3YxMS40MWMwIDIuMzUgMS44OCAzLjYgNC4xOCAzLjZzNC4yMy0xLjI1IDQuMjMtMy42VjExLjQzWk0xMTIuNzMgMjkuMjVWMTEuNDNoOS44OGE3IDcgMCAwIDEgNS4zOSAxLjk0IDUuMzYgNS4zNiAwIDAgMSAxLjQ3IDMuNjkgNS40NyA1LjQ3IDAgMCAxLTMuNiA1bDQuMTMgNy4xOWgtNC40N2wtMy42LTYuNTVoLTUuM3Y2LjU1Wm0zLjktMTQuNTF2NC42NkgxMjNhMi4zOCAyLjM4IDAgMCAwIDIuNDgtMi4zNCAyLjE3IDIuMTcgMCAwIDAtLjYzLTEuNTYgMi42NiAyLjY2IDAgMCAwLTIuMTMtLjc2Wk0xMzQgMjkuMjVWMTEuNDNoMy45MXYxNy44MlpNMTQxLjQ0IDExLjQzaDE2LjgxdjMuMzloLTYuNDR2MTQuNDNoLTMuOTFWMTQuODJoLTYuNDZaTTE3Ny4xMyAxMS40M2wtNy4wNyA5LjY5djguMTNoLTMuOTN2LTguMTNMMTU5IDExLjQzaDQuODVsNC4zNCA2LjIgNC4zMi02LjJaTTE3OC4wNyAxMS4wOGE0IDQgMCAwIDEgMS4xMi0yLjg2IDMuNzQgMy43NCAwIDAgMSA1LjQzIDAgNCA0IDAgMCAxIDEuMTEgMi44NiA0IDQgMCAwIDEtMS4xMiAyLjkyIDMuNzIgMy43MiAwIDAgMS01LjQyIDAgNCA0IDAgMCAxLTEuMTItMi45MlptLjY1IDBhMy4zOSAzLjM5IDAgMCAwIC45MyAyLjQyIDMgMyAwIDAgMCAyLjI2IDEgMyAzIDAgMCAwIDIuMjQtMSAzLjM3IDMuMzcgMCAwIDAgLjkzLTIuNDEgMy4zNCAzLjM0IDAgMCAwLS45My0yLjQgMyAzIDAgMCAwLTIuMjQtMSAzIDMgMCAwIDAtMi4yNiAxIDMuMzQgMy4zNCAwIDAgMC0uOTMgMi4zOVptMi40LjQxdjEuODJoLS44VjguNzJoMS41MWEyLjA2IDIuMDYgMCAwIDEgMS4yOS4zNiAxLjIxIDEuMjEgMCAwIDEgLjQ2IDEgMSAxIDAgMCAxLS4xNy41OSAxLjM4IDEuMzggMCAwIDEtLjUyLjQyIDEgMSAwIDAgMSAuNTEuNDMgMS4zNSAxLjM1IDAgMCAxIC4xNi42OXYuN2EuNzcuNzcgMCAwIDAgLjA4LjI5di4wOGgtLjgzYTEuMDggMS4wOCAwIDAgMS0uMDYtLjMzdi0uNzRhLjguOCAwIDAgMC0uMTgtLjU3LjgzLjgzIDAgMCAwLS42LS4xOFptMC0uN2guODJhMS4xMiAxLjEyIDAgMCAwIC42LS4xOC41NS41NSAwIDAgMCAuMjUtLjQ3LjY4LjY4IDAgMCAwLS4yMi0uNTYgMS4zNCAxLjM0IDAgMCAwLS43NC0uMTVoLS43MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zLjE2IC0zLjc1KSIgc3R5bGU9ImZpbGw6I2ZmZiIvPjwvc3ZnPgo=" aria-label="Back to homepage" alt="Curity logo" width="120" height="32"/><div class="flex flex-center flex-gap-1 justify-end"><button class="mobile-nav-close"><i class="icon ion-close"></i></button></div></div><nav role="navigation"><ul class="list-reset m0 block"><li><button class="navigation-expand ">Product<i class="icon ion-chevron-down"></i></button><ul class="mobile-nav-children list-reset false"><li><a style="padding-left:4rem" href="/product/">Product Overview</a></li><li><a style="padding-left:4rem" href="/product/authentication-service/">Authentication Service</a></li><li><a style="padding-left:4rem" href="/product/token-service/">Token Service</a></li><li><a style="padding-left:4rem" href="/product/user-management-service/">User Management Service</a></li><li><a style="padding-left:4rem" href="/product/token-handler/">Curity Token Handler</a></li><li><a style="padding-left:4rem" href="/product/authentication/">Authentication</a></li><li><a style="padding-left:6rem" href="/product/authentication/passwordless-authentication/">Passwordless Authentication</a></li><li><a style="padding-left:6rem" href="/product/authentication/sso-mfa-and-social-logins/">SSO, MFA and Social Logins</a></li><li><a style="padding-left:6rem" href="/product/authentication/advanced-authentication/">Advanced Authentication</a></li><li><a style="padding-left:4rem" href="/product/secure-access/">Secure Acccess</a></li><li><a style="padding-left:6rem" href="/product/secure-access/high-grade-api-security/">High-Grade API Security</a></li><li><a style="padding-left:6rem" href="/product/secure-access/customer-iam/">Customer IAM</a></li><li><a style="padding-left:6rem" href="/product/secure-access/api-access-control/">API Access Control</a></li><li><a style="padding-left:6rem" href="/product/secure-access/spa-security/">SPA Security</a></li><li><a style="padding-left:4rem" href="/product/user-journey-orchestration/">User Journey Orchestration</a></li><li><a style="padding-left:6rem" href="/product/user-journey-orchestration/actions/">Authentication Actions</a></li><li><a style="padding-left:6rem" href="/product/user-journey-orchestration/browserless-login/">Browserless Login</a></li><li><a style="padding-left:6rem" href="/product/user-journey-orchestration/adaptive-authentication/">Adaptive Authentication</a></li><li><a style="padding-left:6rem" href="/product/user-journey-orchestration/branding-and-ux/">Branding and UX</a></li><li><a style="padding-left:4rem" href="/product/decentralized-identity/">Decentralized Identity</a></li><li><a style="padding-left:6rem" href="/product/decentralized-identity/wallet/">Digital Wallet</a></li><li><a style="padding-left:6rem" href="/product/decentralized-identity/verifiable-credentials/">Verifiable Credentials</a></li><li><a style="padding-left:4rem" href="/product/extensibility-and-sdks/">Extensibility and SDK:s</a></li><li><a style="padding-left:4rem" href="/product/identity-standards/">Identity Standards</a></li><li><a style="padding-left:6rem" href="/product/identity-standards/conformance/">Standards and Conformance</a></li><li><a style="padding-left:4rem" href="/product/community/">Community Edition</a></li><li><a style="padding-left:4rem" href="/product/plans/">Product Plans</a></li><li><a style="padding-left:4rem" href="/faq/">FAQ</a></li><li><a style="padding-left:4rem" href="/support/">Support</a></li><li><a style="padding-left:4rem" href="/product/deployment/">Deployment</a></li><li><a style="padding-left:6rem" href="/product/deployment/multi-tenancy/">Multi-Tenancy</a></li><li><a style="padding-left:6rem" href="/product/deployment/multi-region/">Multi-Region</a></li><li><a style="padding-left:4rem" href="/product/devops-and-secops/">DevOps and Secops</a></li><li><a style="padding-left:6rem" href="/product/devops-and-secops/devops-dashboard/">DevOps Dashboard</a></li><li><a style="padding-left:6rem" href="/product/devops-and-secops/configuration/">Configuration and GitOps</a></li><li><a style="padding-left:6rem" href="/product/devops-and-secops/alarms/">Alarms</a></li><li><a style="padding-left:6rem" href="/product/devops-and-secops/monitoring-and-metrics/">Monitoring and Metrics</a></li>&gt;</ul></li><li><button class="navigation-expand ">Solutions<i class="icon ion-chevron-down"></i></button><ul class="mobile-nav-children list-reset false"><li><a href="/solutions/common-identity-platform/">Common Identity Platform</a></li><li><a href="/solutions/identity-for-government-solutions/">Identity for Government Solutions</a></li><li><a href="/solutions/modernizing-infrastructure/">Modernizing Infrastructure</a></li><li><a href="/solutions/open-banking-and-fapi/">Open Banking &amp; Financial-Grade APIs</a></li><li><a href="/solutions/protecting-health-care/">Protecting Health Care</a></li><li><a href="/solutions/protecting-telecom-services/">Protecting Telecom Services</a></li><li><a href="/solutions/secure-financial-services/">Secure Financial Services</a></li><li><a href="/solutions/frictionless-authentication/">Secure Frictionless Authentication</a></li><li><a href="/solutions/tech-and-saas-security/">Tech and SaaS Security</a></li><li><a href="/solutions/zero-trust/">Zero Trust and Security Architecture</a></li></ul></li><li><button class="navigation-expand ">Resources<i class="icon ion-chevron-down"></i></button><ul class="mobile-nav-children list-reset false"><li><a href="/resources/">Resource Library</a></li><li><a href="/resources/whats-new/">What&#x27;s New</a></li><li><a href="/resources/articles/">Articles</a></li><li><a href="/resources/getting-started/">Getting Started</a></li><li><a href="/resources/how-tos/">How-tos</a></li><li><a href="/resources/code-examples/">Code Examples</a></li><li><a href="/resources/webinars/">Webinars</a></li><li><a href="/resources/documents/">Whitepapers</a></li><li><a href="/resources/documents/">Documents</a></li><li><a href="/resources/videos/">Videos</a></li><li><a href="/resources/courses/">Courses</a></li><li><a href="/oauth-tools/">OAuth Tools</a></li>&gt;</ul></li><li><button class="navigation-expand ">Company<i class="icon ion-chevron-down"></i></button><ul class="mobile-nav-children list-reset false"><li><a href="/company/">About</a></li><li><a href="/company/customers/">Customers</a></li><li><a href="/company/partners/">Partners</a></li><li><a href="/blog/">Blog</a></li><li><a href="/company/careers/">Careers</a></li><li><a href="/company/events/">Events Calendar</a></li><li><a href="/company/esg/">ESG</a></li><li><a href="/news/">News</a></li><li><a href="/investors/">Investor Relations</a></li></ul></li><li><button class="navigation-expand ">Developer<i class="icon ion-chevron-down"></i></button><ul class="mobile-nav-children list-reset false"><li><a href="https://developer.curity.io">Developer Portal</a></li><li><a href="https://developer.curity.io/release/latest/">Releases</a></li><li><a href="https://curity.io/docs/">Documentation</a></li><li><a href="https://developer.curity.io/sources/">Libraries &amp; SDKs</a></li><li><a href="https://oauth.tools/?utm_source=curity.io&amp;utm_medium=Link&amp;utm_content=navigation">OAuth Tools</a></li></ul></li><li><a class="block" href="/product/plans/">Plans &amp; Pricing</a></li><li><button class="navigation-expand ">Support<i class="icon ion-chevron-down"></i></button><ul class="mobile-nav-children list-reset false"><li><a class="block" href="/support/">Ticket-based Support</a></li><li><a class="block" href="/support/instant-message-support/">Instant Message Support</a></li><li><a class="block" href="/support/professional-services/">Professional Services</a></li><li><a class="block" href="/training/">Training</a></li></ul></li><li><a class="block" href="/contact/">Contact</a></li><li><a class="block" href="/search/">Search</a></li></ul><div class="flex flex-column flex-gap-2 p2"></div></nav></div><header class="header" role="banner"><div class="header-stripe"><a aria-current="true" href="/curity-axiomatics-london-meetup/"><span class="pill pill-bright-gradient mr2">News</span>London, March 26 – Modern Business, Secured: Customer Identity and Access for the Future. RSVP now! <i class="icon ion-android-arrow-forward ml2"></i></a></div><nav class="header-top" role="navigation"><div class="container relative h100"><div class="flex flex-center flex-justify h100"><div class="flex flex-center flex-justify h100"><a href="/"><img class="header-top-logo block mr4" src="data:image/svg+xml;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Mi41NyAzNi4zMyI+PHBhdGggZD0ibTUzLjA2IDI2Ljc5LS41Ni41N2ExNS45MyAxNS45MyAwIDAgMS0xMC45MyA1IDEwIDEwIDAgMCAxLTEwLjM0LTEwLjRjMC02IDQuMjQtMTAuMzkgMTAuMDktMTAuMzlhMTYuNjcgMTYuNjcgMCAwIDEgMTAuMjIgNGwuNTYuNDkgNS42MS01Ljg2LS42My0uNTRhMjUuNzggMjUuNzggMCAwIDAtMTYuMzYtNS45MSAxOC40NCAxOC40NCAwIDAgMC0xNS4zNyA3LjY4SDE1bC0uNiA1LjA5aDguNWExNy45IDE3LjkgMCAwIDAtLjU5IDIuODZIOS42MUw5IDI0LjQ2aDEzLjMxYTE4LjU2IDE4LjU2IDAgMCAwIC41NyAyLjg2SDMuNzdsLS42MSA1LjA5SDI1LjNjMy4yOSA0Ljc0IDguOSA3LjY4IDE1LjY3IDcuNjhhMjUuNDEgMjUuNDEgMCAwIDAgMTcuMTktNi45M2wuNTktLjU2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMuMTYgLTMuNzUpIiBzdHlsZT0iZmlsbDojZmZmIi8+PHBhdGggc3R5bGU9ImZpbGw6I2ZmZiIgZD0iTTUuMDEgMTUuNjJIMS4yNmwtLjYgNS4wOUg0LjRsLjYxLTUuMDl6Ii8+PHBhdGggZD0iTTg4IDI2LjE0YTEzLjMxIDEzLjMxIDAgMCAxLTkuMDYgMy42NmMtNS45MiAwLTkuODItNC4yMy05LjgyLTkuNDdhOS4zNiA5LjM2IDAgMCAxIDkuNjgtOS40NEExMy42NiAxMy42NiAwIDAgMSA4Ny40MSAxNEw4NSAxNi41NmE5LjU1IDkuNTUgMCAwIDAtNS44NC0yLjI5IDUuODIgNS44MiAwIDAgMC01LjkyIDYuMDkgNS44NyA1Ljg3IDAgMCAwIDYuMDYgNi4wOCA5LjE5IDkuMTkgMCAwIDAgNi4yNS0yLjgzWk0xMDcuNDQgMTEuNDN2MTEuNDFjMCA0LjQ1LTMuNDQgNy04LjE2IDdzLTguMTEtMi41MS04LjExLTdWMTEuNDNoMy45M3YxMS40MWMwIDIuMzUgMS44OCAzLjYgNC4xOCAzLjZzNC4yMy0xLjI1IDQuMjMtMy42VjExLjQzWk0xMTIuNzMgMjkuMjVWMTEuNDNoOS44OGE3IDcgMCAwIDEgNS4zOSAxLjk0IDUuMzYgNS4zNiAwIDAgMSAxLjQ3IDMuNjkgNS40NyA1LjQ3IDAgMCAxLTMuNiA1bDQuMTMgNy4xOWgtNC40N2wtMy42LTYuNTVoLTUuM3Y2LjU1Wm0zLjktMTQuNTF2NC42NkgxMjNhMi4zOCAyLjM4IDAgMCAwIDIuNDgtMi4zNCAyLjE3IDIuMTcgMCAwIDAtLjYzLTEuNTYgMi42NiAyLjY2IDAgMCAwLTIuMTMtLjc2Wk0xMzQgMjkuMjVWMTEuNDNoMy45MXYxNy44MlpNMTQxLjQ0IDExLjQzaDE2LjgxdjMuMzloLTYuNDR2MTQuNDNoLTMuOTFWMTQuODJoLTYuNDZaTTE3Ny4xMyAxMS40M2wtNy4wNyA5LjY5djguMTNoLTMuOTN2LTguMTNMMTU5IDExLjQzaDQuODVsNC4zNCA2LjIgNC4zMi02LjJaTTE3OC4wNyAxMS4wOGE0IDQgMCAwIDEgMS4xMi0yLjg2IDMuNzQgMy43NCAwIDAgMSA1LjQzIDAgNCA0IDAgMCAxIDEuMTEgMi44NiA0IDQgMCAwIDEtMS4xMiAyLjkyIDMuNzIgMy43MiAwIDAgMS01LjQyIDAgNCA0IDAgMCAxLTEuMTItMi45MlptLjY1IDBhMy4zOSAzLjM5IDAgMCAwIC45MyAyLjQyIDMgMyAwIDAgMCAyLjI2IDEgMyAzIDAgMCAwIDIuMjQtMSAzLjM3IDMuMzcgMCAwIDAgLjkzLTIuNDEgMy4zNCAzLjM0IDAgMCAwLS45My0yLjQgMyAzIDAgMCAwLTIuMjQtMSAzIDMgMCAwIDAtMi4yNiAxIDMuMzQgMy4zNCAwIDAgMC0uOTMgMi4zOVptMi40LjQxdjEuODJoLS44VjguNzJoMS41MWEyLjA2IDIuMDYgMCAwIDEgMS4yOS4zNiAxLjIxIDEuMjEgMCAwIDEgLjQ2IDEgMSAxIDAgMCAxLS4xNy41OSAxLjM4IDEuMzggMCAwIDEtLjUyLjQyIDEgMSAwIDAgMSAuNTEuNDMgMS4zNSAxLjM1IDAgMCAxIC4xNi42OXYuN2EuNzcuNzcgMCAwIDAgLjA4LjI5di4wOGgtLjgzYTEuMDggMS4wOCAwIDAgMS0uMDYtLjMzdi0uNzRhLjguOCAwIDAgMC0uMTgtLjU3LjgzLjgzIDAgMCAwLS42LS4xOFptMC0uN2guODJhMS4xMiAxLjEyIDAgMCAwIC42LS4xOC41NS41NSAwIDAgMCAuMjUtLjQ3LjY4LjY4IDAgMCAwLS4yMi0uNTYgMS4zNCAxLjM0IDAgMCAwLS43NC0uMTVoLS43MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zLjE2IC0zLjc1KSIgc3R5bGU9ImZpbGw6I2ZmZiIvPjwvc3ZnPgo=" aria-label="Back to homepage" alt="Curity logo" width="124" height="36"/></a><ul class="first-level list-reset m0"><li class="inline-block"><button class="header-top-link-dropdown false" aria-haspopup="menu" aria-label="Product" tabindex="0"><span class="header-top-link">Products<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" style="transform:rotate(0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span><div class="dropdown-content dropdown-content-product false"><div class="dropdown-content-product-columns flex justify-between w100 "><div class="flex-25 p3"><h5 class="uppercasecaps primary mb2">Products</h5><div class="product-nav-holder"><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/"><img src="/images/resources/navigation/product/identity-server.svg" alt="Product Overview" class="md-w-2" width="50" height="50" loading="lazy" decoding="async"/>Curity Identity Server</a><ul class="list-reset m0"><li><a class="dropdown-content-link" href="/product/authentication-service/">Authentication Service</a></li><li><a class="dropdown-content-link" href="/product/token-service/">Token Service</a></li><li><a class="dropdown-content-link" href="/product/user-management-service/">User Management Service</a></li></ul></div><div class="product-nav-holder mt2"><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/token-handler/"><img src="/images/resources/navigation/product/token-handler.svg" alt="Curity Token Handler" class="md-w-2" width="50" height="50" loading="lazy" decoding="async"/>Curity Token Handler</a></div><div class="mt2"><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/community/"><div class="flex flex-column flex-gap-1"><span>Community Edition</span><small>A free version of Curity Identity Server</small></div></a></div></div><div class="flex-auto p3"><h5 class="uppercasecaps primary mb2">Features and Capabilities</h5><div class="grid-container" columns="2" gap="1"><div><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/authentication/"><img src="/images/resources/navigation/product/authentication.svg" alt="Authentication" class="md-w-2" width="50" height="50" loading="lazy" decoding="async"/>Authentication</a><ul class="list-reset" style="padding-left:calc(46px + 0.5rem)"><li><a class="dropdown-content-link" href="/product/authentication/advanced-authentication/">Advanced Authentication</a></li><li><a class="dropdown-content-link" href="/product/authentication/passwordless-authentication/">Passwordless Authentication</a></li><li><a class="dropdown-content-link" href="/product/authentication/sso-mfa-and-social-logins/">SSO, MFA and Social Logins</a></li></ul></div><div><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/decentralized-identity/"><img src="/images/resources/navigation/product/decentralized-identity.svg" alt="Decentralized Identity" class="md-w-2" width="50" height="50" loading="lazy" decoding="async"/>Decentralized Identity</a><ul class="list-reset" style="padding-left:calc(46px + 0.5rem)"><li><a class="dropdown-content-link" href="/product/decentralized-identity/wallet/">Digital Wallet</a></li><li><a class="dropdown-content-link" href="/product/decentralized-identity/verifiable-credentials/">Verifiable Credentials</a></li></ul></div><div><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/user-journey-orchestration/"><img src="/images/resources/navigation/product/orchestrate-user-journeys.svg" alt="User Journey Orchestration" class="md-w-2" width="50" height="50" loading="lazy" decoding="async"/>User Journey Orchestration</a><ul class="list-reset" style="padding-left:calc(46px + 0.5rem)"><li><a class="dropdown-content-link" href="/product/user-journey-orchestration/adaptive-authentication/">Adaptive Authentication</a></li><li><a class="dropdown-content-link" href="/product/user-journey-orchestration/actions/">Authentication Actions</a></li><li><a class="dropdown-content-link" href="/product/user-journey-orchestration/branding-and-ux/">Branding and UX</a></li><li><a class="dropdown-content-link" href="/product/user-journey-orchestration/browserless-login/">Browserless Login</a></li></ul></div><div><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/secure-access/"><img src="/images/resources/navigation/product/secure-access.svg" alt="Secure Acccess" class="md-w-2" width="50" height="50" loading="lazy" decoding="async"/>Secure Acccess</a><ul class="list-reset" style="padding-left:calc(46px + 0.5rem)"><li><a class="dropdown-content-link" href="/product/secure-access/api-access-control/">API Access Control</a></li><li><a class="dropdown-content-link" href="/product/secure-access/customer-iam/">Customer IAM</a></li><li><a class="dropdown-content-link" href="/product/secure-access/high-grade-api-security/">High-Grade API Security</a></li><li><a class="dropdown-content-link" href="/product/secure-access/spa-security/">SPA Security</a></li></ul></div><div><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/extensibility-and-sdks/"><img src="/images/resources/navigation/product/extensibility.svg" alt="Extensibility and SDK:s" class="md-w-2" width="50" height="50" loading="lazy" decoding="async"/>Extensibility and SDK:s</a><ul class="list-reset" style="padding-left:calc(46px + 0.5rem)"></ul></div><div><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/identity-standards/"><img src="/images/resources/navigation/product/identity-standards.svg" alt="Identity Standards" class="md-w-2" width="50" height="50" loading="lazy" decoding="async"/>Identity Standards</a><ul class="list-reset" style="padding-left:calc(46px + 0.5rem)"><li><a class="dropdown-content-link" href="/product/identity-standards/conformance/">Standards and Conformance</a></li></ul></div></div></div><div class="flex-25 p3"><h5 class="uppercasecaps primary mb2">Deployment and Management</h5><div><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/deployment/"><img src="/images/resources/navigation/product/deploy-on-any-platform.svg" alt="Deployment" class="md-w-2" width="50" height="50" loading="lazy" decoding="async"/>Deployment</a><ul class="list-reset" style="padding-left:calc(46px + 0.5rem)"><li><a class="dropdown-content-link" href="/product/deployment/multi-region/">Multi-Region</a></li><li><a class="dropdown-content-link" href="/product/deployment/multi-tenancy/">Multi-Tenancy</a></li></ul></div><div><a class="flex flex-center flex-gap-1 dropdown-content-link" href="/product/devops-and-secops/"><img src="/images/resources/navigation/product/devops-secops.svg" alt="DevOps and Secops" class="md-w-2" width="50" height="50" loading="lazy" decoding="async"/>DevOps and Secops</a><ul class="list-reset" style="padding-left:calc(46px + 0.5rem)"><li><a class="dropdown-content-link" href="/product/devops-and-secops/alarms/">Alarms</a></li><li><a class="dropdown-content-link" href="/product/devops-and-secops/configuration/">Configuration and GitOps</a></li><li><a class="dropdown-content-link" href="/product/devops-and-secops/devops-dashboard/">DevOps Dashboard</a></li><li><a class="dropdown-content-link" href="/product/devops-and-secops/monitoring-and-metrics/">Monitoring and Metrics</a></li></ul></div></div></div></div></button></li><li class="inline-block"><button class="header-top-link-dropdown" aria-haspopup="menu" aria-label="Solutions" tabindex="0"><span class="header-top-link">Solutions<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" style="transform:rotate(0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span><div class="dropdown-content dropdown-content-solutions false"><div class="dropdown-content-product-columns flex justify-between w100 py2 flex-gap-2"><div><h5 class="uppercasecaps primary px2">SECURITY SOLUTIONS</h5><a class="dropdown-content-link" href="/solutions/common-identity-platform/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/solutions/common-identity-platform.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Common Identity Platform" width="60" height="60" loading="lazy" decoding="async"/>Common Identity Platform</span></div></a><a class="dropdown-content-link" href="/solutions/modernizing-infrastructure/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/solutions/modernizing-infrastructure.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Modernizing Infrastructure" width="60" height="60" loading="lazy" decoding="async"/>Modernizing Infrastructure</span></div></a><a class="dropdown-content-link" href="/solutions/open-banking-and-fapi/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/solutions/open-banking.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Open Banking &amp; Financial-Grade APIs" width="60" height="60" loading="lazy" decoding="async"/>Open Banking &amp; Financial-Grade APIs</span></div></a><a class="dropdown-content-link" href="/solutions/frictionless-authentication/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/solutions/frictionless-authentication.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Secure Frictionless Authentication" width="60" height="60" loading="lazy" decoding="async"/>Secure Frictionless Authentication</span></div></a><a class="dropdown-content-link" href="/solutions/zero-trust/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/solutions/zero-trust.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Zero Trust and Security Architecture" width="60" height="60" loading="lazy" decoding="async"/>Zero Trust and Security Architecture</span></div></a></div><div><h5 class="uppercasecaps primary px2">INDUSTRY</h5><a class="dropdown-content-link" href="/solutions/secure-financial-services/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/solutions/secure-financial-services.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Financial Services" width="60" height="60" loading="lazy" decoding="async"/>Financial Services</span></div></a><a class="dropdown-content-link" href="/solutions/identity-for-government-solutions/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/solutions/government.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Government" width="60" height="60" loading="lazy" decoding="async"/>Government</span></div></a><a class="dropdown-content-link" href="/solutions/protecting-health-care/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/solutions/healthcare.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Healthcare" width="60" height="60" loading="lazy" decoding="async"/>Healthcare</span></div></a><a class="dropdown-content-link" href="/solutions/tech-and-saas-security/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/solutions/saas-and-tech-security.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Technology / SaaS" width="60" height="60" loading="lazy" decoding="async"/>Technology / SaaS</span></div></a><a class="dropdown-content-link" href="/solutions/protecting-telecom-services/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/solutions/telco.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Telecom" width="60" height="60" loading="lazy" decoding="async"/>Telecom</span></div></a></div></div><div class="mt0 py3 px3"></div></div></button></li><li class="inline-block"><button class="header-top-link-dropdown active" aria-haspopup="menu" aria-label="Resources" tabindex="0"><span class="header-top-link">Resources<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" style="transform:rotate(0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span><div class="dropdown-content dropdown-content-resources false"><div class="dropdown-content-product-columns flex justify-between w100 pt1" style="border-bottom:1px solid #e2e2e2"><div class="flex-33 px2"><h5 class="uppercasecaps primary px2">Resource Library</h5><a class="dropdown-content-link active" href="/resources/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/library/overview.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Overview" width="60" height="60" loading="lazy" decoding="async"/>Overview</span></div></a><a class="dropdown-content-link" href="/resources/articles/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/library/articles.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Articles" width="60" height="60" loading="lazy" decoding="async"/>Articles</span></div></a><a class="dropdown-content-link" href="/resources/topics/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/library/topics.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Topics" width="60" height="60" loading="lazy" decoding="async"/>Topics</span></div></a><a class="dropdown-content-link" href="/resources/whats-new/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/library/whats-new.svg" class="h-2 w-2 mr2 flex-noshrink" alt="What&#x27;s New" width="60" height="60" loading="lazy" decoding="async"/>What&#x27;s New</span></div></a></div><div class="flex-33 px2"><h5 class="uppercasecaps primary px2">Tutorials &amp; Guides</h5><a class="dropdown-content-link" href="/resources/getting-started/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/tutorials/getting-started.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Getting Started" width="60" height="60" loading="lazy" decoding="async"/>Getting Started</span></div></a><a class="dropdown-content-link" href="/resources/guides/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/tutorials/guides.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Guides" width="60" height="60" loading="lazy" decoding="async"/>Guides</span></div></a><a class="dropdown-content-link" href="/resources/how-tos/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/tutorials/howtos.svg" class="h-2 w-2 mr2 flex-noshrink" alt="How-tos" width="60" height="60" loading="lazy" decoding="async"/>How-tos</span></div></a><a class="dropdown-content-link" href="/resources/code-examples/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/tutorials/code-examples.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Code Examples" width="60" height="60" loading="lazy" decoding="async"/>Code Examples</span></div></a></div><div class="flex-33 px2"><h5 class="uppercasecaps primary px2">Learn More</h5><a class="dropdown-content-link" href="/resources/videos/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/learnmore/videos.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Videos" width="60" height="60" loading="lazy" decoding="async"/>Videos</span></div></a><a class="dropdown-content-link" href="/resources/webinars/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/learnmore/webinars.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Webinars" width="60" height="60" loading="lazy" decoding="async"/>Webinars</span></div></a><a class="dropdown-content-link" href="/resources/courses/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/learnmore/courses.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Courses" width="60" height="60" loading="lazy" decoding="async"/>Courses</span></div></a><a class="dropdown-content-link" href="/resources/documents/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/resources/learnmore/documents.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Documents" width="60" height="60" loading="lazy" decoding="async"/>Documents</span></div></a></div></div><div class="flex mx-auto py2 br-6"><div class="flex-33 flex justify-center"><a class="button button-small button-transparent" href="/company/customers/">Customer Stories<i class="icon ion-android-arrow-forward bright ml1"></i></a></div><div class="flex-33 flex justify-center"><a class="button button-small button-transparent" href="/solutions/">Solutions<i class="icon ion-android-arrow-forward bright ml1"></i></a></div><div class="flex-33 flex justify-center"><a class="button button-small button-transparent" href="/docs/">Documentation<i class="icon ion-android-arrow-forward bright ml1"></i></a></div></div></div></button></li><li class="inline-block"><button class="header-top-link-dropdown false" aria-haspopup="menu" aria-label="Company" tabindex="0"><span class="header-top-link">Company<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" style="transform:rotate(0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span><div class="dropdown-content dropdown-content-company false "><div class="dropdown-content-product-columns flex justify-between w100 py2 flex-gap-2" style="border-bottom:1px solid #e2e2e2"><div><a class="dropdown-content-link" href="/company/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/company/about.svg" class="h-2 w-2 mr2 flex-noshrink" alt="About" width="60" height="60" loading="lazy" decoding="async"/>About</span></div></a><a class="dropdown-content-link" href="/company/customers/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/company/customers.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Customers" width="60" height="60" loading="lazy" decoding="async"/>Customers</span></div></a><a class="dropdown-content-link" href="/company/partners/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/company/partners.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Partners" width="60" height="60" loading="lazy" decoding="async"/>Partners</span></div></a><a class="dropdown-content-link" href="/company/esg/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/company/esg.svg" class="h-2 w-2 mr2 flex-noshrink" alt="ESG" width="60" height="60" loading="lazy" decoding="async"/>ESG</span></div></a></div><div><a class="dropdown-content-link" href="/blog/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/company/blog.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Blog" width="60" height="60" loading="lazy" decoding="async"/>Blog</span></div></a><a class="dropdown-content-link" href="/company/careers/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/company/careers.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Careers" width="60" height="60" loading="lazy" decoding="async"/>Careers</span></div></a><a class="dropdown-content-link" href="/company/events/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/company/events.svg" class="h-2 w-2 mr2 flex-noshrink" alt="Events Calendar" width="60" height="60" loading="lazy" decoding="async"/>Events Calendar</span></div></a><a class="dropdown-content-link" href="/news/"><div class="dropdown-content-link-text"><span class="dropdown-content-link-text-heading"><img src="/images/resources/navigation/company/news.svg" class="h-2 w-2 mr2 flex-noshrink" alt="News" width="60" height="60" loading="lazy" decoding="async"/>News</span></div></a></div></div><div class="mt0 py3 px3"><div class="flex flex-gap-2"><div class="flex flex-column"><div class="mb1"><span class="pill pill-primary-gradient">Blog</span></div><a class="sm-flex flex-column flex-gap-1 no-decoration" style="align-items:unset" href="/blog/perspective-on-modern-credential-management/"><div class="flex-30"><figure><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained md-h-7 oft block br-6 bg-dark"><div style="max-width:300px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;280&#x27;%20width=&#x27;300&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><div aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear;background-color:white;position:absolute;top:0;left:0;bottom:0;right:0"></div><picture><source type="image/webp" data-srcset="https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=300&amp;h=280&amp;q=50&amp;fm=webp&amp;bg=white 300w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=640&amp;h=597&amp;q=50&amp;fm=webp&amp;bg=white 640w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=832&amp;h=777&amp;q=50&amp;fm=webp&amp;bg=white 832w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=1184&amp;h=1105&amp;q=50&amp;fm=webp&amp;bg=white 1184w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=1261&amp;h=1177&amp;q=50&amp;fm=webp&amp;bg=white 1261w" sizes="(min-width: 300px) 300px, 100vw"/><img data-gatsby-image-ssr="" decoding="async" data-main-image="" style="opacity:0" sizes="(min-width: 300px) 300px, 100vw" loading="lazy" data-src="https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=300&amp;h=280&amp;q=50&amp;fm=png&amp;bg=white" data-srcset="https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=300&amp;h=280&amp;q=50&amp;fm=png&amp;bg=white 300w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=640&amp;h=597&amp;q=50&amp;fm=png&amp;bg=white 640w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=832&amp;h=777&amp;q=50&amp;fm=png&amp;bg=white 832w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=1184&amp;h=1105&amp;q=50&amp;fm=png&amp;bg=white 1184w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=1261&amp;h=1177&amp;q=50&amp;fm=png&amp;bg=white 1261w" alt="A Perspective on Modern Credential Management"/></picture><noscript><picture><source type="image/webp" srcSet="https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=300&amp;h=280&amp;q=50&amp;fm=webp&amp;bg=white 300w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=640&amp;h=597&amp;q=50&amp;fm=webp&amp;bg=white 640w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=832&amp;h=777&amp;q=50&amp;fm=webp&amp;bg=white 832w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=1184&amp;h=1105&amp;q=50&amp;fm=webp&amp;bg=white 1184w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=1261&amp;h=1177&amp;q=50&amp;fm=webp&amp;bg=white 1261w" sizes="(min-width: 300px) 300px, 100vw"/><img data-gatsby-image-ssr="" decoding="async" data-main-image="" style="opacity:0" sizes="(min-width: 300px) 300px, 100vw" loading="lazy" src="https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=300&amp;h=280&amp;q=50&amp;fm=png&amp;bg=white" srcSet="https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=300&amp;h=280&amp;q=50&amp;fm=png&amp;bg=white 300w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=640&amp;h=597&amp;q=50&amp;fm=png&amp;bg=white 640w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=832&amp;h=777&amp;q=50&amp;fm=png&amp;bg=white 832w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=1184&amp;h=1105&amp;q=50&amp;fm=png&amp;bg=white 1184w,https://images.ctfassets.net/tldhjvq55hjd/6IiEkFbSywuP4841zh3BqW/68b88cc6102153b4d9aadf4b1939904a/curity-blog-modern-iam__1_.png?w=1261&amp;h=1177&amp;q=50&amp;fm=png&amp;bg=white 1261w" alt="A Perspective on Modern Credential Management"/></picture></noscript><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script></div></figure></div><div class="flex flex-column"><h4 class="primary m0">A Perspective on Modern Credential Management</h4></div></a></div><div class="flex flex-column flex-50"><div class="mb1"><span class="pill pill-bright-gradient">News</span></div><a class="sm-flex flex-column flex-gap-1 no-decoration" style="align-items:unset" href="/news/curity-identity-server-10-0/"><div class="flex-30"><figure><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained md-h-7 oft block br-6 bg-dark"><div style="max-width:300px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;280&#x27;%20width=&#x27;300&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><div aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear;background-color:white;position:absolute;top:0;left:0;bottom:0;right:0"></div><picture><source type="image/webp" data-srcset="https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=300&amp;h=280&amp;q=50&amp;fm=webp&amp;bg=white 300w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=640&amp;h=597&amp;q=50&amp;fm=webp&amp;bg=white 640w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=832&amp;h=777&amp;q=50&amp;fm=webp&amp;bg=white 832w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=1184&amp;h=1105&amp;q=50&amp;fm=webp&amp;bg=white 1184w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=1200&amp;h=1120&amp;q=50&amp;fm=webp&amp;bg=white 1200w" sizes="(min-width: 300px) 300px, 100vw"/><img data-gatsby-image-ssr="" decoding="async" data-main-image="" style="opacity:0" sizes="(min-width: 300px) 300px, 100vw" loading="lazy" data-src="https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=300&amp;h=280&amp;q=50&amp;fm=png&amp;bg=white" data-srcset="https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=300&amp;h=280&amp;q=50&amp;fm=png&amp;bg=white 300w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=640&amp;h=597&amp;q=50&amp;fm=png&amp;bg=white 640w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=832&amp;h=777&amp;q=50&amp;fm=png&amp;bg=white 832w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=1184&amp;h=1105&amp;q=50&amp;fm=png&amp;bg=white 1184w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=1200&amp;h=1120&amp;q=50&amp;fm=png&amp;bg=white 1200w" alt="New Release: Curity Identity Server 10.0"/></picture><noscript><picture><source type="image/webp" srcSet="https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=300&amp;h=280&amp;q=50&amp;fm=webp&amp;bg=white 300w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=640&amp;h=597&amp;q=50&amp;fm=webp&amp;bg=white 640w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=832&amp;h=777&amp;q=50&amp;fm=webp&amp;bg=white 832w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=1184&amp;h=1105&amp;q=50&amp;fm=webp&amp;bg=white 1184w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=1200&amp;h=1120&amp;q=50&amp;fm=webp&amp;bg=white 1200w" sizes="(min-width: 300px) 300px, 100vw"/><img data-gatsby-image-ssr="" decoding="async" data-main-image="" style="opacity:0" sizes="(min-width: 300px) 300px, 100vw" loading="lazy" src="https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=300&amp;h=280&amp;q=50&amp;fm=png&amp;bg=white" srcSet="https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=300&amp;h=280&amp;q=50&amp;fm=png&amp;bg=white 300w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=640&amp;h=597&amp;q=50&amp;fm=png&amp;bg=white 640w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=832&amp;h=777&amp;q=50&amp;fm=png&amp;bg=white 832w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=1184&amp;h=1105&amp;q=50&amp;fm=png&amp;bg=white 1184w,https://images.ctfassets.net/tldhjvq55hjd/1JxRkIc3xF3XjCqgv0Bi5P/610a44c34eac799ab7e85828941a8a87/curity-website-news-release_10.png?w=1200&amp;h=1120&amp;q=50&amp;fm=png&amp;bg=white 1200w" alt="New Release: Curity Identity Server 10.0"/></picture></noscript><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script></div></figure></div><div class="flex flex-column"><h4 class="primary m0">New Release: Curity Identity Server 10.0</h4></div></a></div></div></div></div></button></li><li class="header-developer-link"><button class="header-top-link-dropdown" aria-haspopup="menu" aria-label="Developers" tabindex="0"><span class="header-top-link">Developers<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" style="transform:rotate(0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span><div class="dropdown-content dropdown-content-developer flex-wrap false"><a href="https://developer.curity.io/" class="dropdown-content-link dropdown-content-link-dark"><img class="w-6 h-6 mr3 inline-block" src="/images/developer-portal.svg" alt="Curity Developer Portal" width="100" height="100"/><div class="dropdown-content-link-text px2"><span class="dropdown-content-link-text-heading white">Curity Developer Portal</span></div></a><a class="dropdown-content-link" href="/docs/">Documentation</a><a href="https://developer.curity.io/sources/" class="dropdown-content-link">Libraries &amp; SDKs</a><a class="dropdown-content-link" href="/training/">Training</a><a class="dropdown-content-link" href="https://oauth.tools/?utm_source=curity.io&amp;utm_medium=Link&amp;utm_content=navigation">OAuth Tools</a><a href="https://curity.io/changelog/" target="_blank" rel="noopener noreferrer" class="dropdown-content-link">Changelog</a></div></button></li><li class="header-nav-contact"><a class="header-top-link" href="/product/plans/">Plans &amp; Pricing</a></li><li class="header-nav-support"><button class="header-top-link-dropdown false" aria-haspopup="menu" aria-label="Support" tabindex="0"><span class="header-top-link">Support<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" style="transform:rotate(0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"></path></svg></span><div class="dropdown-content dropdown-content-support false "><a class="dropdown-content-link" href="/support/">Ticket-based Support</a><a class="dropdown-content-link" href="/support/instant-message-support/">Instant Message Support</a><a class="dropdown-content-link" href="/support/professional-services/">Professional Services</a></div></button></li><li class="header-nav-contact"><a class="header-top-link" href="/contact/">Contact</a></li></ul></div><div class="flex flex-center flex-justify h100"><ul class="first-level list-reset m0"><li class="header-nav-contact header-nav-search"><a aria-label="Search curity.io" class="header-top-link" href="/search/"><svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" class="white" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path fill="currentColor" d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg><span class="inline-block ml1">Search</span></a></li><li class="header-nav-login"><button tabindex="0" class="header-top-link-dropdown header-nav-login"><span class="header-top-link"><svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" class="white" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg><span class="inline-block ml1">Login</span></span></button></li><li class="inline-block header-nav-demo" style="height:initial"><a class="button button-tiny button-primary" href="/schedule-a-demo/"><i class="icon ion-calendar inlineicon"></i>Schedule a Demo</a></li><li class="inline-block header-nav-trial" style="height:initial"><a class="button button-bright button-tiny nowrap" href="https://developer.curity.io/free-trial/?utm_source=curity.io&amp;utm_medium=Link&amp;utm_content=Navigation">Start Free Trial</a></li><li class="header-top-link-hamburger"><button aria-label="Open mobile navigation"><div class="hamburger"><div class="hamburger__icon"><span></span><span></span><span></span><span></span></div></div></button></li></ul></div></div></div></nav></header><main><div class="resources-searchbar"><div class="container container-wide h100"><div class="flex flex-center justify-between w100 h100"><div class="scroller w100 nowrap mb0"><div class="flex justify-between"><div><a class="button button-small mr1 button-transparent" href="/resources/articles/">Articles</a><a class="button button-small mr1 button-transparent" href="/resources/getting-started/">Getting Started</a><a class="button button-small mr1 button-primary" href="/resources/how-tos/">How-tos</a><a class="button button-small mr1 button-transparent" href="/resources/guides/">Guides</a><a class="button button-small mr1 button-transparent" href="/resources/code-examples/">Code Examples</a><a class="button button-small mr1 button-transparent" href="/docs/">Documentation</a><a class="button button-small mr1 button-transparent" href="/resources/videos/">Videos</a><a class="button button-small mr1 button-transparent" href="/resources/webinars/">Webinars</a><a class="button button-small mr1 button-transparent" href="/resources/courses/">Courses</a><a class="button button-small" href="/training/">Training</a><a class="button button-small mr1 button-transparent" href="/resources/documents/">Documents</a></div><div><a class="button button-small button-transparent" href="/resources/whats-new/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20px" height="20px" class="mr1 inlineicon" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>What&#x27;s new</a><a class="button button-small button-transparent" href="/feeds/"><svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" class="mr1 inlineicon" fill="none" stroke="orange" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" viewBox="0 0 24 24"><path d="M4 11a9 9 0 019 9M4 4a16 16 0 0116 16"></path><circle cx="5" cy="19" r="1"></circle></svg>RSS</a></div></div></div><button class="article-sidebar-trigger ml2" aria-label="Toggle sidebar navigation"><i class="icon ion-navicon"></i></button></div></div></div><main class="article-main"><aside class="article-sidebar"><div class="article-nav-wrapper"><div class="article-sidebar-panel"><h4 class="uppercasecaps mt0 flex flex-center flex-gap-1 p2"><img src="/images/resources/sidebar/authentication-authorizaation.svg" alt="Authentication and Authorization" class="h-3"/>Authentication and Authorization</h4><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="authentication" class=" " href="/resources/authentication/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between"> Authentication</div><button class="button button-small button-transparent" data-pagegroup="authentication"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Authentication Overview" href="/resources/learn/authentication-overview/">Authentication Overview</a></li><li data-area="tutorials"><a class="block " title="WebAuthn Authenticator" href="/resources/learn/webauthn-authenticator/">WebAuthn Authenticator</a></li><li data-area="tutorials"><a class="block " title="Passkeys Authenticator" href="/resources/learn/passkeys-authenticator/">Passkeys Authenticator</a></li><li data-area="tutorials"><a class="block " title="Google Authenticator App" href="/resources/learn/authenticate-with-google-authenticator/">Google Authenticator App</a></li><li data-area="tutorials"><a class="block " title="Handling Expired Sessions During Authentication" href="/resources/learn/application-url/">Handling Expired Sessions During Authentication</a></li><li data-area="tutorials"><a class="block " title="Manage User Account Lockout" href="/resources/learn/user-account-lockout/">Manage User Account Lockout</a></li><li data-area="tutorials"><a class="block " title="Preregister Devices in a WebAuthn Authenticator" href="/resources/learn/preregister-devices-in-webauthn-authenticator/">Preregister Devices in a WebAuthn Authenticator</a></li><li data-area="tutorials"><a class="block " title="Geo-Location Authenticator Filter" href="/resources/learn/geolocation-authenticator-filter/">Geo-Location Authenticator Filter</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="external-idps" class=" " href="/resources/external-idps/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Integration With Identity Providers</div><button class="button button-small button-transparent" data-pagegroup="external-idps"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Identity Providers Overview" href="/resources/learn/external-idps-overview/">Identity Providers Overview</a></li><li data-area="tutorials"><a class="block " title="Authenticate Using Microsoft Entra ID" href="/resources/learn/oicd-authenticator-azure/">Authenticate Using Microsoft Entra ID</a></li><li data-area="tutorials"><a class="block " title="Authenticate Using Sign in With Apple" href="/resources/learn/sign-in-with-apple/">Authenticate Using Sign in With Apple</a></li><li data-area="tutorials"><a class="block " title="Authenticate Using Beyond Identity" href="/resources/learn/beyondidentity-integration/">Authenticate Using Beyond Identity</a></li><li data-area="tutorials"><a class="block " title="Authenticate Using Signicat" href="/resources/learn/oidc-signicat/">Authenticate Using Signicat</a></li><li data-area="tutorials"><a class="block " title="Authenticate Using BankID v6" href="/resources/learn/integrating-with-bankid-v6/">Authenticate Using BankID v6</a></li><li data-area="tutorials"><a class="block " title="Authenticate Using SITHS Authentication" href="/resources/learn/SITHS-authentication/">Authenticate Using SITHS Authentication</a></li><li data-area="tutorials"><a class="block " title="Authenticate Using Norwegian BankID" href="/resources/learn/norwegian-bankid/">Authenticate Using Norwegian BankID</a></li><li data-area="tutorials"><a class="block " title="Integrating with SAML Identity Providers" href="/resources/learn/connecting-to-saml-idp/">Integrating with SAML Identity Providers</a></li><li data-area="tutorials"><a class="block " title="Using the Dynamic Authenticator" href="/resources/learn/dynamic-authenticator/">Using the Dynamic Authenticator</a></li><li data-area="tutorials"><a class="block " title="Credential Verification With Entra ID" href="/resources/learn/use-azure-ad-for-credential-verification/">Credential Verification With Entra ID</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="authentication-actions" class=" " href="/resources/authentication-actions/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between"> Authentication Actions</div><button class="button button-small button-transparent" data-pagegroup="authentication-actions"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Authentication Actions Concepts" href="/resources/learn/control-authentication-using-actions/">Authentication Actions Concepts</a></li><li data-area="tutorials"><a class="block " title="MFA Using Authentication Actions" href="/resources/learn/add-authentication-action/">MFA Using Authentication Actions</a></li><li data-area="tutorials"><a class="block " title="Opt-in Multi-Factor Authentication" href="/resources/learn/optin-mfa-howto/">Opt-in Multi-Factor Authentication</a></li><li data-area="tutorials"><a class="block " title="Scripted Attribute Transformation" href="/resources/learn/scripted-attribute-transformation/">Scripted Attribute Transformation</a></li><li data-area="tutorials"><a class="block " title="Authentication Actions Data Example" href="/resources/learn/authentication-actions-example/">Authentication Actions Data Example</a></li><li data-area="tutorials"><a class="block " title="Action Bundles" href="/resources/learn/action-bundles/">Action Bundles</a></li><li data-area="tutorials"><a class="block " title="Account Creation after Login" href="/resources/learn/account-creation-after-login/">Account Creation after Login</a></li><li data-area="tutorials"><a class="block " title="Account Linking With Social Identity Providers" href="/resources/learn/account-linking-with-social/">Account Linking With Social Identity Providers</a></li><li data-area="tutorials"><a class="block " title="Migrating to Passkeys" href="/resources/learn/migrating-to-passwordless/">Migrating to Passkeys</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="flows" class=" " href="/resources/flows/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">OAuth &amp; OpenID Connect</div><button class="button button-small button-transparent" data-pagegroup="flows"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Code Flow" href="/resources/learn/code-flow/">Code Flow</a></li><li data-area="tutorials"><a class="block " title="Implicit Flow" href="/resources/learn/implicit-flow/">Implicit Flow</a></li><li data-area="tutorials"><a class="block " title="Hybrid Flow" href="/resources/learn/hybrid-flow/">Hybrid Flow</a></li><li data-area="tutorials"><a class="block " title="Client Credentials Flow" href="/resources/learn/client-credentials/">Client Credentials Flow</a></li><li data-area="tutorials"><a class="block " title="Refresh Tokens" href="/resources/learn/refresh-tokens/">Refresh Tokens</a></li><li data-area="tutorials"><a class="block " title="Revoking OAuth Tokens" href="/resources/learn/revoke/">Revoking OAuth Tokens</a></li><li data-area="tutorials"><a class="block " title="Resource Owner Password Flow" href="/resources/learn/ropc/">Resource Owner Password Flow</a></li><li data-area="tutorials"><a class="block " title="User Consent" href="/resources/learn/user-consent/">User Consent</a></li><li data-area="tutorials"><a class="block " title="Device Authorization Grant" href="/resources/learn/device-flow/">Device Authorization Grant</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="advanced" class=" " href="/resources/advanced/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Advanced OAuth &amp; OpenID Connect</div><button class="button button-small button-transparent" data-pagegroup="advanced"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Configuring Proof Key for Code Exchange" href="/resources/learn/pkce/">Configuring Proof Key for Code Exchange</a></li><li data-area="tutorials"><a class="block " title="Non-Templatized DCR" href="/resources/learn/non-templatized-dcr/">Non-Templatized DCR</a></li><li data-area="tutorials"><a class="block " title="Templatized DCR" href="/resources/learn/templatized-dcr/">Templatized DCR</a></li><li data-area="tutorials"><a class="block " title="Custom DCR Request Validation" href="/resources/learn/dcr-validation-in-pre-processing-procedure/">Custom DCR Request Validation</a></li><li data-area="tutorials"><a class="block " title="Using PPIDs" href="/resources/learn/ppid/">Using PPIDs</a></li><li data-area="tutorials"><a class="block " title="Entitlements in Introspection" href="/resources/learn/oauth-entitlements-in-introspection/">Entitlements in Introspection</a></li><li data-area="tutorials"><a class="block " title="JWT Assertions" href="/resources/learn/jwt-assertion/">JWT Assertions</a></li><li data-area="tutorials"><a class="block " title="Using JWT Authorization Requests" href="/resources/learn/jar-tutorial/">Using JWT Authorization Requests</a></li><li data-area="tutorials"><a class="block " title="Using Pushed Authorization Requests" href="/resources/learn/par-tutorial/">Using Pushed Authorization Requests</a></li><li data-area="tutorials"><a class="block " title="Consuming Responses with JARM" href="/resources/learn/jarm-tutorial/">Consuming Responses with JARM</a></li><li data-area="tutorials"><a class="block " title="Running a CIBA Flow" href="/resources/learn/ciba-tutorial/">Running a CIBA Flow</a></li><li data-area="tutorials"><a class="block " title="Using SAN to Authenticate an OAuth Client" href="/resources/learn/san-in-mtls/">Using SAN to Authenticate an OAuth Client</a></li><li data-area="tutorials"><a class="block " title="mTLS Client Credentials in a Service Mesh" href="/resources/learn/service-mesh-mtls-client-credentials/">mTLS Client Credentials in a Service Mesh</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="tokens-and-claims" class=" " href="/resources/tokens-and-claims/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between"> Tokens and Claims</div><button class="button button-small button-transparent" data-pagegroup="tokens-and-claims"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Token Designer Overview" href="/resources/learn/token-designer/">Token Designer Overview</a></li><li data-area="tutorials"><a class="block " title="Custom Token Issuer" href="/resources/learn/custom-token-issuer/">Custom Token Issuer</a></li><li data-area="tutorials"><a class="block " title="Working With Claims" href="/resources/learn/working-with-claims/">Working With Claims</a></li><li data-area="tutorials"><a class="block " title="Adding Claims from Authentication" href="/resources/learn/claims-from-authenticated-subject/">Adding Claims from Authentication</a></li><li data-area="tutorials"><a class="block " title="Implementing Custom Claims" href="/resources/learn/implementing-custom-claims/">Implementing Custom Claims</a></li><li data-area="tutorials"><a class="block " title="Implementing Token Exchange" href="/resources/learn/implementing-token-exchange/">Implementing Token Exchange</a></li><li data-area="tutorials"><a class="block " title="Verified Claims and Identity Assurance" href="/resources/learn/verified-claims-identity-assurance/">Verified Claims and Identity Assurance</a></li><li data-area="tutorials"><a class="block " title="EdDSA Signatures in Tokens" href="/resources/learn/sign-tokens-with-eddsa/">EdDSA Signatures in Tokens</a></li><li data-area="tutorials"><a class="block " title="Implementing Impersonation" href="/resources/learn/impersonation-implementation/">Implementing Impersonation</a></li><li data-area="tutorials"><a class="block " title="Implementing Dynamic User Routing" href="/resources/learn/implementing-dynamic-user-routing/">Implementing Dynamic User Routing</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="decentralized-identities-tutorials" class=" " href="/resources/decentralized-identities-tutorials/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Decentralized Identities</div><button class="button button-small button-transparent" data-pagegroup="decentralized-identities-tutorials"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Run Verifiable Credentials Demo Wallet" href="/resources/learn/use-verifiable-credentials/">Run Verifiable Credentials Demo Wallet</a></li><li data-area="tutorials"><a class="block " title="Issue a Verifiable Credential" href="/resources/learn/configure-verifiable-credential-issuance/">Issue a Verifiable Credential</a></li><li data-area="tutorials"><a class="block " title="VCI with Pre-authorized Code" href="/resources/learn/pre-authorized-code/">VCI with Pre-authorized Code</a></li></ul></ul><h4 class="uppercasecaps mt0 flex flex-center flex-gap-1 p2"><img src="/images/resources/sidebar/onboarding.svg" alt="Onboarding" class="h-3"/>Onboarding</h4><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="configuration" class=" " href="/resources/configuration/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Configuration Management</div><button class="button button-small button-transparent" data-pagegroup="configuration"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Configuration Overview" href="/resources/learn/configuration-overview/">Configuration Overview</a></li><li data-area="tutorials"><a class="block " title="Import and Export Configurations" href="/resources/learn/import-export-config/">Import and Export Configurations</a></li><li data-area="tutorials"><a class="block " title="Configure Deployed Environments" href="/resources/learn/configure-deployed-environments/">Configure Deployed Environments</a></li><li data-area="tutorials"><a class="block " title="Introduction to the CLI" href="/resources/learn/intro-to-cli/">Introduction to the CLI</a></li><li data-area="tutorials"><a class="block " title="Keys, Certificates and Trust Stores" href="/resources/learn/curity-crypto/">Keys, Certificates and Trust Stores</a></li><li data-area="tutorials"><a class="block " title="Automate Certificate Renewal" href="/resources/learn/auto-certificate-renewal/">Automate Certificate Renewal</a></li><li data-area="tutorials"><a class="block " title="Configuration as Code" href="/resources/learn/gitops-configuration-management/">Configuration as Code</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="deploy" class=" " href="/resources/deploy/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Deployment</div><button class="button button-small button-transparent" data-pagegroup="deploy"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Docker Container Customization" href="/resources/learn/customizing-the-curity-docker-container/">Docker Container Customization</a></li><li data-area="tutorials"><a class="block " title="Exposing an Instance Using ngrok" href="/resources/learn/expose-local-curity-ngrok/">Exposing an Instance Using ngrok</a></li><li data-area="tutorials"><a class="block " title="Running in Cluster Mode" href="/resources/learn/intro-to-cluster/">Running in Cluster Mode</a></li><li data-area="tutorials"><a class="block " title="Clustering with Docker Compose" href="/resources/learn/clustering-using-docker-compose/">Clustering with Docker Compose</a></li><li data-area="tutorials"><a class="block " title="Testing the Curity Identity Server" href="/resources/learn/testing-an-instance-of-curity/">Testing the Curity Identity Server</a></li><li data-area="tutorials"><a class="block " title="AWS Deployment Overview" href="/resources/learn/deploy-on-aws/">AWS Deployment Overview</a></li><li data-area="tutorials"><a class="block " title="Install on AWS using CloudFormation" href="/resources/learn/clustering-using-aws-cloudformation/">Install on AWS using CloudFormation</a></li><li data-area="tutorials"><a class="block " title="Install on AWS using the CDK" href="/resources/learn/install-using-aws-cdk/">Install on AWS using the CDK</a></li><li data-area="tutorials"><a class="block " title="Azure Deployment Overview" href="/resources/learn/how-to-deploy-on-azure/">Azure Deployment Overview</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="kubernetes" class=" active " href="/resources/kubernetes/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Kubernetes</div><button class="button button-small button-transparent" data-pagegroup="kubernetes"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist sublist-open"><li data-area="tutorials"><a aria-current="page" class="block active" title="Configure Deployments using Helm" href="/resources/learn/configure-deployments-using-helm/">Configure Deployments using Helm</a></li><li data-area="tutorials"><a class="block " title="Expose OAuth Endpoints from Kubernetes" href="/resources/learn/kubernetes-ingress/">Expose OAuth Endpoints from Kubernetes</a></li><li data-area="tutorials"><a class="block " title="Use Kubernetes Data Storage" href="/resources/learn/kubernetes-data-storage/">Use Kubernetes Data Storage</a></li><li data-area="tutorials"><a class="block " title="Use Kubernetes API Gateway Plugins" href="/resources/learn/integrating-plugins-with-kubernetes-ingress/">Use Kubernetes API Gateway Plugins</a></li><li data-area="tutorials"><a class="block " title="Deploy to Google Kubernetes Engine (GKE)" href="/resources/learn/kubernetes-gke-idsvr-kong-phantom/">Deploy to Google Kubernetes Engine (GKE)</a></li><li data-area="tutorials"><a class="block " title="Deploy to Elastic Kubernetes Service (EKS)" href="/resources/learn/kubernetes-aws-eks-idsvr-deployment/">Deploy to Elastic Kubernetes Service (EKS)</a></li><li data-area="tutorials"><a class="block " title="Deploy to Azure Kubernetes Service (AKS)" href="/resources/learn/kubernetes-azure-aks-idsvr-deployment/">Deploy to Azure Kubernetes Service (AKS)</a></li><li data-area="tutorials"><a class="block " title="Deploy to an Istio Service Mesh" href="/resources/learn/istio-demo-installation/">Deploy to an Istio Service Mesh</a></li><li data-area="tutorials"><a class="block " title="Kubernetes Auto Scaling" href="/resources/learn/kubernetes-autoscaling/">Kubernetes Auto Scaling</a></li><li data-area="tutorials"><a class="block " title="Encrypted Configuration using Helm" href="/resources/learn/using-helm-chart-with-config/">Encrypted Configuration using Helm</a></li><li data-area="tutorials"><a class="block " title="Configuration Backups and Logging using Helm" href="/resources/learn/run-cluster-helm/">Configuration Backups and Logging using Helm</a></li><li data-area="tutorials"><a class="block " title="IAM Role for Service Accounts" href="/resources/learn/kubernetes-eks-dynamo-access-irsa/">IAM Role for Service Accounts</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="migrations" class=" " href="/resources/migrations/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Migrations</div><button class="button button-small button-transparent" data-pagegroup="migrations"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Migrating from Spring Security OAuth" href="/resources/learn/migrating-from-spring-security-oauth/">Migrating from Spring Security OAuth</a></li><li data-area="tutorials"><a class="block " title="Migrating from Keycloak" href="/resources/learn/migrating-from-keycloak/">Migrating from Keycloak</a></li><li data-area="tutorials"><a class="block " title="Migrating from IdentityServer4" href="/resources/learn/migrating-from-identityserver/">Migrating from IdentityServer4</a></li></ul></ul><h4 class="uppercasecaps mt0 flex flex-center flex-gap-1 p2"><img src="/images/resources/sidebar/devops.svg" alt="Operation" class="h-3"/>Operation</h4><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="devops-administration" class=" " href="/resources/devops-administration/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Administration</div><button class="button button-small button-transparent" data-pagegroup="devops-administration"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Using AD for Admin UI Users" href="/resources/learn/use-ad-for-admin-users/">Using AD for Admin UI Users</a></li><li data-area="tutorials"><a class="block " title="Federated Login to the Admin UI" href="/resources/learn/federated-login-to-admin-ui/">Federated Login to the Admin UI</a></li><li data-area="tutorials"><a class="block " title="DevOps Dashboard Overview" href="/resources/learn/devops-dashboard/">DevOps Dashboard Overview</a></li><li data-area="tutorials"><a class="block " title="Token Signing Key Rotation" href="/resources/learn/token-signing-key-rotation/">Token Signing Key Rotation</a></li><li data-area="tutorials"><a class="block " title="Curity Access Control Rules" href="/resources/learn/admin-access-rules/">Curity Access Control Rules</a></li><li data-area="tutorials"><a class="block " title="Authorization Rules for the RESTCONF API" href="/resources/learn/access-rules-in-restconf/">Authorization Rules for the RESTCONF API</a></li><li data-area="tutorials"><a class="block " title="Configuring Redirect URI Policies" href="/resources/learn/redirect-uri-policies/">Configuring Redirect URI Policies</a></li><li data-area="tutorials"><a class="block " title="Using DKIM" href="/resources/learn/dkim/">Using DKIM</a></li><li data-area="tutorials"><a class="block " title="Integrating PKCS#11-based High Security Modules" href="/resources/learn/yubihsm-integration/">Integrating PKCS#11-based High Security Modules</a></li><li data-area="tutorials"><a class="block " title="Endpoints and their URLs" href="/resources/learn/endpoints/">Endpoints and their URLs</a></li><li data-area="tutorials"><a class="block " title="Running in a Multi-Tenant Architecture" href="/resources/learn/curity-multitenancy/">Running in a Multi-Tenant Architecture</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="users" class=" " href="/resources/users/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Dashboard and API Access</div><button class="button button-small button-transparent" data-pagegroup="users"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="User Management with SCIM" href="/resources/learn/user-management/">User Management with SCIM</a></li><li data-area="tutorials"><a class="block " title="User Management with GraphQL" href="/resources/learn/graphql-user-management/">User Management with GraphQL</a></li><li data-area="tutorials"><a class="block " title="Database Client Management with GraphQL" href="/resources/learn/graphql-client-management/">Database Client Management with GraphQL</a></li><li data-area="tutorials"><a class="block " title="Running the DevOps Dashboard" href="/resources/learn/devops-dashboard-user-administration/">Running the DevOps Dashboard</a></li><li data-area="tutorials"><a class="block " title="Scope Authorization Manager" href="/resources/learn/scope-management/">Scope Authorization Manager</a></li><li data-area="tutorials"><a class="block " title="Groups Authorization Manager" href="/resources/learn/groups-authorization-manager/">Groups Authorization Manager</a></li><li data-area="tutorials"><a class="block " title="Attribute Authorization Manager" href="/resources/learn/attribute-authorization-manager/">Attribute Authorization Manager</a></li><li data-area="tutorials"><a class="block " title="Implementing Role Based Security" href="/resources/learn/implementing-role-based-security/">Implementing Role Based Security</a></li><li data-area="tutorials"><a class="block " title="Email Activation When Using SCIM" href="/resources/learn/email-activation-scim/">Email Activation When Using SCIM</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="branding-user-experience" class=" " href="/resources/branding-user-experience/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Branding and User Experience</div><button class="button button-small button-transparent" data-pagegroup="branding-user-experience"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Customization Overview" href="/resources/learn/managing-custom-login-screens/">Customization Overview</a></li><li data-area="tutorials"><a class="block " title="Fast Look and Feel Customization" href="/resources/learn/customize-look-and-feel-simple/">Fast Look and Feel Customization</a></li><li data-area="tutorials"><a class="block " title="Extended Look and Feel Customization" href="/resources/learn/customize-look-and-feel/">Extended Look and Feel Customization</a></li><li data-area="tutorials"><a class="block " title="Single Brand Customization Example" href="/resources/learn/customize-recipe-basic-brand/">Single Brand Customization Example</a></li><li data-area="tutorials"><a class="block " title="Multi-Brand Customization Example" href="/resources/learn/customize-recipe-multi-brand/">Multi-Brand Customization Example</a></li><li data-area="tutorials"><a class="block " title="Email Customization Example" href="/resources/learn/customize-recipe-emails/">Email Customization Example</a></li><li data-area="tutorials"><a class="block " title="Custom Password Validation" href="/resources/learn/customize-password-validation/">Custom Password Validation</a></li><li data-area="tutorials"><a class="block " title="Customizing User Consent" href="/resources/learn/consent/">Customizing User Consent</a></li><li data-area="tutorials"><a class="block " title="Right-to-Left Language Support" href="/resources/learn/right-to-left-kanguage-support/">Right-to-Left Language Support</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="logging-monitoring" class=" " href="/resources/logging-monitoring/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Logging and Monitoring</div><button class="button button-small button-transparent" data-pagegroup="logging-monitoring"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="The Grafana Dashboard" href="/resources/learn/grafana-dashboard/">The Grafana Dashboard</a></li><li data-area="tutorials"><a class="block " title="OpenTelemetry Tracing" href="/resources/learn/opentelemetry-tracing/">OpenTelemetry Tracing</a></li><li data-area="tutorials"><a class="block " title="Debug Logging" href="/resources/learn/debug-logging/">Debug Logging</a></li><li data-area="tutorials"><a class="block " title="Per-client Debug Logging" href="/resources/learn/per-client-debug-logging/">Per-client Debug Logging</a></li><li data-area="tutorials"><a class="block " title="Log Aggegation to Splunk" href="/resources/learn/log-to-splunk/">Log Aggegation to Splunk</a></li><li data-area="tutorials"><a class="block " title="Log Aggregation to Datadog" href="/resources/learn/log-to-datadog/">Log Aggregation to Datadog</a></li><li data-area="tutorials"><a class="block " title="Log Aggregation to Elasticsearch" href="/resources/learn/log-to-elasticsearch/">Log Aggregation to Elasticsearch</a></li><li data-area="tutorials"><a class="block " title="Health and Auto Healing" href="/resources/learn/health-and-auto-healing/">Health and Auto Healing</a></li><li data-area="tutorials"><a class="block " title="Integrate Alarms with Cloud Monitoring" href="/resources/learn/cloud-alarm-integration/">Integrate Alarms with Cloud Monitoring</a></li><li data-area="tutorials"><a class="block " title="Java Runtime Monitoring" href="/resources/learn/java-monitoring-overview/">Java Runtime Monitoring</a></li><li data-area="tutorials"><a class="block " title="How to Record a Browser Trace" href="/resources/learn/record-browser-trace/">How to Record a Browser Trace</a></li><li data-area="tutorials"><a class="block " title="Logging Client IP Address" href="/resources/learn/log-client-ip-to-auditdb/">Logging Client IP Address</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="integrations" class=" " href="/resources/integrations/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Integrations</div><button class="button button-small button-transparent" data-pagegroup="integrations"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Apache mod_auth_openidc module" href="/resources/learn/apache-mod-auth-openidc/">Apache mod_auth_openidc module</a></li><li data-area="tutorials"><a class="block " title="Curity as IdP in Salesforce" href="/resources/learn/salesforce/">Curity as IdP in Salesforce</a></li><li data-area="tutorials"><a class="block " title="Curity as an IdP in Cloudflare" href="/resources/learn/idp-in-cloudflare/">Curity as an IdP in Cloudflare</a></li><li data-area="tutorials"><a class="block " title="Integrating with Microsoft Entra ID" href="/resources/learn/azuread-integration/">Integrating with Microsoft Entra ID</a></li><li data-area="tutorials"><a class="block " title="Setting up OIDC in MuleSoft Anypoint" href="/resources/learn/mulesoft-anypoint/">Setting up OIDC in MuleSoft Anypoint</a></li><li data-area="tutorials"><a class="block " title="Integrating with Kong Developer Portal" href="/resources/learn/kong-dev-portal/">Integrating with Kong Developer Portal</a></li><li data-area="tutorials"><a class="block " title="Integrating with Tyk Developer Portal" href="/resources/learn/integration-tyk/">Integrating with Tyk Developer Portal</a></li><li data-area="tutorials"><a class="block " title="Integrating with the Jetty &quot;openid&quot; module" href="/resources/learn/jetty-opeind-module/">Integrating with the Jetty &quot;openid&quot; module</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="writing-plugins" class=" " href="/resources/writing-plugins/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Writing Plugins</div><button class="button button-small button-transparent" data-pagegroup="writing-plugins"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="OAuth Customization using Scripting" href="/resources/learn/getting-started-scripting/">OAuth Customization using Scripting</a></li><li data-area="tutorials"><a class="block " title="OAuth Customization using Plugins" href="/resources/learn/getting-started-plugins/">OAuth Customization using Plugins</a></li><li data-area="tutorials"><a class="block " title="Getting Started with Authentication Plugins" href="/resources/learn/getting-started-authentication-plugins/">Getting Started with Authentication Plugins</a></li><li data-area="tutorials"><a class="block " title="Authentication Plugin Techniques" href="/resources/learn/authentication-plugin-techniques/">Authentication Plugin Techniques</a></li><li data-area="tutorials"><a class="block " title="Simple Authentication Action" href="/resources/learn/authentication-action/">Simple Authentication Action</a></li><li data-area="tutorials"><a class="block " title="Generic Consentor Plugin" href="/resources/learn/generic-consentor-plugin/">Generic Consentor Plugin</a></li><li data-area="tutorials"><a class="block " title="Attaching a Remote Debugger" href="/resources/learn/attach-debugger/">Attaching a Remote Debugger</a></li></ul></ul><h4 class="uppercasecaps mt0 flex flex-center flex-gap-1 p2"><img src="/images/resources/sidebar/api-gateway-integration.svg" alt="API Gateway Integration" class="h-3"/>API Gateway Integration</h4><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="phantom-token-integration" class=" " href="/resources/phantom-token-integration/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Phantom Token</div><button class="button button-small button-transparent" data-pagegroup="phantom-token-integration"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="OAuth Introspection and Phantom Tokens" href="/resources/learn/introspect-with-phantom-token/">OAuth Introspection and Phantom Tokens</a></li><li data-area="tutorials"><a class="block " title="Integrating with NGINX" href="/resources/learn/nginx-phantom-token-module/">Integrating with NGINX</a></li><li data-area="tutorials"><a class="block " title="Integrating with Kong Enterprise" href="/resources/learn/integration-kong/">Integrating with Kong Enterprise</a></li><li data-area="tutorials"><a class="block " title="Integrating with Kong Open Source" href="/resources/learn/integration-kong-open-source/">Integrating with Kong Open Source</a></li><li data-area="tutorials"><a class="block " title="Integrating with OpenResty" href="/resources/learn/integration-openresty/">Integrating with OpenResty</a></li><li data-area="tutorials"><a class="block " title="Integrating with Apigee Edge" href="/resources/learn/integration-apigee/">Integrating with Apigee Edge</a></li><li data-area="tutorials"><a class="block " title="Integrating With Microsoft Azure API Management" href="/resources/learn/integration-azure-api-management/">Integrating With Microsoft Azure API Management</a></li><li data-area="tutorials"><a class="block " title="Integrating with the AWS API Gateway" href="/resources/learn/integration-aws-phantom-token/">Integrating with the AWS API Gateway</a></li><li data-area="tutorials"><a class="block " title="Integrating with Broadcom CA Layer7" href="/resources/learn/integration-layer7/">Integrating with Broadcom CA Layer7</a></li><li data-area="tutorials"><a class="block " title="Integrating other API Gateways" href="/resources/learn/integration-other-phantom-token/">Integrating other API Gateways</a></li><li data-area="tutorials"><a class="block " title="Integrating with Zuplo" href="/resources/learn/integration-zuplo/">Integrating with Zuplo</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="split-token-integration" class=" " href="/resources/split-token-integration/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Split Token</div><button class="button button-small button-transparent" data-pagegroup="split-token-integration"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Integrating with Apigee Edge" href="/resources/learn/integration-apigee-split-token/">Integrating with Apigee Edge</a></li><li data-area="tutorials"><a class="block " title="Integrating with the AWS API Gateway" href="/resources/learn/integration-aws-split-token/">Integrating with the AWS API Gateway</a></li><li data-area="tutorials"><a class="block " title="Integrating with the Cloudflare Gateway" href="/resources/learn/cloudflare-split-tokens/">Integrating with the Cloudflare Gateway</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="oauth-proxy-integration" class=" " href="/resources/oauth-proxy-integration/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">OAuth Proxy</div><button class="button button-small button-transparent" data-pagegroup="oauth-proxy-integration"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Integrating with Kong API Gateway" href="/resources/learn/kong-oauth-proxy/">Integrating with Kong API Gateway</a></li><li data-area="tutorials"><a class="block " title="Integrating with OpenResty" href="/resources/learn/openresty-oauth-proxy/">Integrating with OpenResty</a></li><li data-area="tutorials"><a class="block " title="Integrating with NGINX" href="/resources/learn/nginx-oauth-proxy/">Integrating with NGINX</a></li><li data-area="tutorials"><a class="block " title="Integrating with Azure API Management" href="/resources/learn/azure-api-management-oauth-proxy/">Integrating with Azure API Management</a></li><li data-area="tutorials"><a class="block " title="Integrating with AWS API Gateway" href="/resources/learn/aws-oauth-proxy/">Integrating with AWS API Gateway</a></li><li data-area="tutorials"><a class="block " title="Integrating with Google Apigee API Management" href="/resources/learn/google-apigee-oauth-proxy/">Integrating with Google Apigee API Management</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="api-gateway-advanced" class=" " href="/resources/api-gateway-advanced/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Advanced Integration</div><button class="button button-small button-transparent" data-pagegroup="api-gateway-advanced"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Dynamic User Routing with NGINX" href="/resources/learn/nginx-user-routing-plugin/">Dynamic User Routing with NGINX</a></li><li data-area="tutorials"><a class="block " title="Dynamic User Routing with Kong Open Source" href="/resources/learn/kong-user-routing-plugin/">Dynamic User Routing with Kong Open Source</a></li><li data-area="tutorials"><a class="block " title="Dynamic User Routing with Cloudflare Gateway" href="/resources/learn/cloudflare-dynamic-user-routing/">Dynamic User Routing with Cloudflare Gateway</a></li><li data-area="tutorials"><a class="block " title="Dynamic User Routing with Cloud Platforms" href="/resources/learn/cloud-user-routing/">Dynamic User Routing with Cloud Platforms</a></li><li data-area="tutorials"><a class="block " title="API Authorization using Open Policy Agent and Kong" href="/resources/learn/curity-opa-kong-api/">API Authorization using Open Policy Agent and Kong</a></li><li data-area="tutorials"><a class="block " title="Open Banking Brazil DCR Request Validation" href="/resources/learn/nginx-obb-dcr-validation/">Open Banking Brazil DCR Request Validation</a></li></ul></ul><h4 class="uppercasecaps mt0 flex flex-center flex-gap-1 p2"><img src="/images/resources/sidebar/hypermedia-authentication-api.svg" alt="Applications" class="h-3"/>Applications</h4><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="spa" class=" " href="/resources/spa/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">Single Page Applications</div><button class="button button-small button-transparent" data-pagegroup="spa"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Create a Token Handler" href="/resources/learn/curity-token-handler/">Create a Token Handler</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="haapi-setup" class=" " href="/resources/haapi-setup/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">HAAPI Configuration</div><button class="button button-small button-transparent" data-pagegroup="haapi-setup"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Web Client HAAPI Setup" href="/resources/learn/api-driven-demo-client/">Web Client HAAPI Setup</a></li><li data-area="tutorials"><a class="block " title="Android Client HAAPI Setup" href="/resources/learn/authentication-api-android-sdk/">Android Client HAAPI Setup</a></li><li data-area="tutorials"><a class="block " title="iOS Client HAAPI Setup" href="/resources/learn/authentication-api-ios-sdk/">iOS Client HAAPI Setup</a></li><li data-area="tutorials"><a class="block " title="Native Passkeys Configuration" href="/resources/learn/mobile-logins-using-native-passkeys/">Native Passkeys Configuration</a></li></ul></ul><ul class="list-reset m0"><li class="has-children has-children-topic"><a id="haapi-ui-sdk" class=" " href="/resources/haapi-ui-sdk/"><div class="flex flex-center justify-between"><div class="flex flex-center justify-between">HAAPI Mobile Guides</div><button class="button button-small button-transparent" data-pagegroup="haapi-ui-sdk"><i class="icon ion-chevron-down"></i></button></div></a></li><ul class="list-reset m0 sublist false"><li data-area="tutorials"><a class="block " title="Android Integration" href="/resources/learn/haapi-mobile-android-integration/">Android Integration</a></li><li data-area="tutorials"><a class="block " title="iOS Integration" href="/resources/learn/haapi-mobile-ios-integration/">iOS Integration</a></li><li data-area="tutorials"><a class="block " title="Password Flows" href="/resources/learn/haapi-mobile-username-password-flows/">Password Flows</a></li><li data-area="tutorials"><a class="block " title="Android Customization" href="/resources/learn/haapi-mobile-android-customization/">Android Customization</a></li><li data-area="tutorials"><a class="block " title="iOS Customization" href="/resources/learn/haapi-mobile-ios-customization/">iOS Customization</a></li><li data-area="tutorials"><a class="block " title="Advanced Flows" href="/resources/learn/haapi-mobile-advanced-authentication-flows/">Advanced Flows</a></li><li data-area="tutorials"><a class="block " title="App2App Logins using BankID" href="/resources/learn/app2app-via-hypermedia/">App2App Logins using BankID</a></li><li data-area="tutorials"><a class="block " title="Security Lifecycle" href="/resources/learn/haapi-mobile-security-lifecycle/">Security Lifecycle</a></li><li data-area="tutorials"><a class="block " title="Attestation Fallback" href="/resources/learn/implementing-haapi-fallback/">Attestation Fallback</a></li></ul></ul><h4 class="uppercasecaps mt0 flex flex-center flex-gap-1 p2"><img src="/images/resources/sidebar/learnmore.svg" alt="Learn More" class="h-3"/>Learn more</h4><ul class="list-reset m0"><li><a href="/resources/webinars/">Webinars</a></li><li><a href="/resources/documents/">Documents</a></li><li><a href="/resources/videos/">Videos</a></li></ul></div></div></aside><section class="article-content"><div class="article-text"><div class="resources-article-intro"><div class="py2"><div class="container container-wide"><div class="resources-article-intro-image"><img src="/images/resources/operate/tutorials-helm.jpg" alt="/images/resources/operate/tutorials-helm.jpg" width="930" height="416" class="skeleton-loading"/></div><h1>Configure Deployments using Helm</h1><div class="resources-article-meta xlg-flex flex-center mb3 flex-gap-2"><div class="flex flex-center mt2 lg-mt0"><button class="lg-inline-flex-hide button button-tiny flex-noshrink mr2 button-primary-outline"><i class="icon ion-android-share-alt inlineicon"></i>Share</button><button class="lg-inline-flex button button-tiny flex-noshrink mr2 button-transparent" data-tooltip="Copy URL to clipboard" flow="down"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" title="Copy to clipboard"><path d="M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71"></path></svg></button><a class="share-button flex-noshrink mr1" target="_blank" rel="noopener noreferrer" href="https://twitter.com/intent/tweet?url=https://curity.io/resources/learn/configure-deployments-using-helm/&amp;text=Configure%20Deployments%20using%20Helm&amp;via=curityio" aria-label="Share on X" data-tooltip="Share on X" flow="down"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 1227" width="48" height="48"><title>X Icon</title><path fill="#000" d="M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"></path></svg></a><a class="share-button flex-noshrink mr1" target="_blank" rel="noopener noreferrer" href="https://bsky.app/intent/compose?text=Configure%20Deployments%20using%20Helm - https://curity.io/resources/learn/configure-deployments-using-helm/" aria-label="Share on Bluesky" data-tooltip="Share on Bluesky" flow="down"><svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24"><path fill="#000" d="M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.565.139 1.908 0 3.08 0 3.768c0 .69.378 5.65.624 6.479.815 2.736 3.713 3.66 6.383 3.364q.204-.03.415-.056-.207.033-.415.056c-3.912.58-7.387 2.005-2.83 7.078 5.013 5.19 6.87-1.113 7.823-4.308.953 3.195 2.05 9.271 7.733 4.308 4.267-4.308 1.172-6.498-2.74-7.078a9 9 0 0 1-.415-.056q.21.026.415.056c2.67.297 5.568-.628 6.383-3.364.246-.828.624-5.79.624-6.478 0-.69-.139-1.861-.902-2.206-.659-.298-1.664-.62-4.3 1.24C16.046 4.748 13.087 8.687 12 10.8"></path></svg></a><a class="share-button share-button-linkedin flex-noshrink mr1" target="_blank" rel="noopener noreferrer" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https://curity.io/resources/learn/configure-deployments-using-helm/&amp;title=&amp;summary=Configure Deployments using Helm&amp;source=" aria-label="Share on LinkedIn" data-tooltip="Share on LinkedIn" flow="down"> <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 430.1 430.1" version="1.1" viewBox="0 0 430.1 430.1" xml:space="preserve"><path fill="#0077b5" d="M430.1 261.5v159h-92.2V272.2c0-37.3-13.3-62.7-46.7-62.7-25.5 0-40.6 17.1-47.3 33.7-2.4 5.9-3.1 14.2-3.1 22.5v154.9h-92.2s1.2-251.3 0-277.3h92.2v39.3l-.6.9h.6v-.9c12.3-18.9 34.1-45.8 83.1-45.8 60.7-.1 106.2 39.6 106.2 124.7zM52.2 9.6C20.6 9.6 0 30.3 0 57.5c0 26.6 20 47.9 51 47.9h.6c32.2 0 52.2-21.3 52.2-47.9-.7-27.2-20.1-47.9-51.6-47.9zm-46.7 411h92.2V143.2H5.5v277.4z"></path></svg></a></div></div><div class="sm-flex justify-between flex-center bg-light p2 br-6"><a class="outbound button button-primary-dark button-small button-github" href="https://github.com/curityio/kubernetes-training" target="_blank" rel="noopener noreferrer"><i class="icon ion-social-github inlineicon"></i>Download on GitHub</a></div></div></div></div><div class="container container-wide"><div class="article-entry mt1 lg-mt2 py2 lg-py2"><article itemProp="articleBody"><details class="lg-hide"><summary>On this page</summary><nav class="article-mobile-toc-links" role="navigation"><ol class="m0"></ol></nav></details><p>The <a class="ref ref-cross" href="/resources/learn/install-helm-chart/"><i class="icon ion-android-list inlineicon"></i>Install using Helm<i class="icon ion-android-arrow-forward ml1"></i></a> tutorial explains the most basic way to run the Curity product in a Kubernetes cluster. The next step is usually to deploy test systems and plan deployment pipelines. To run the Curity Identity Server or the Curity Token Handler in Kubernetes, deploy the admin workload, runtime workload and configuration. The <a class="ref ref-cross" href="/resources/learn/configure-deployed-environments/"><i class="icon ion-android-list inlineicon"></i>Configure Deployed Environments<i class="icon ion-android-arrow-forward ml1"></i></a> tutorial explains the approach using Docker Compose on a local computer. This tutorial explains Kubernetes specific behaviors.</p> <h2>Set Deployment Parameters</h2> <p>The Helm chart creates Kubernetes YAML resources to express a desired state. Supply parameters to control the final YAML and customize the deployment. The following resources provide details on all of the parameters and their meanings:</p> <ul> <li> <a rel="noopener noreferrer" href="https://github.com/curityio/idsvr-helm/blob/master/idsvr/README.md">HELM Chart README</a> </li> <li> <a rel="noopener noreferrer" href="https://github.com/curityio/idsvr-helm/blob/master/idsvr/values.yaml">Default Values File</a> </li> </ul> <p>Although it is possible to pass parameters to the Helm chart from the command line it is usually more maintainable to use a values file that overrides a subset of the Helm chart&#x27;s default values.</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">yaml</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span><span>18</span><span>19</span><span>20</span><span>21</span><span>22</span></div><div class="code-pre-wrapper"><pre class="prism-code language-yaml" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token key atrule">replicaCount</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"></span><span class="token key atrule">image</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">repository</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> curity.azurecr.io/curity/idsvr</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">tag</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> latest</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"></span><span class="token key atrule">curity</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">adminUiHttp</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token boolean important" style="color:rgb(255, 88, 116)">true</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">admin</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">serviceAccount</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> curity</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">idsvr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">admin</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">logging</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">level</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> INFO</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">runtime</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">serviceAccount</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> curity</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">idsvr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">runtime</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">logging</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">level</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> INFO</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">config</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">uiEnabled</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token boolean important" style="color:rgb(255, 88, 116)">true</span></div></pre></div></div></div> <p>When getting started, consider the following settings for your Kubernetes deployments:</p> <ul> <li>Use <code>curity.config.uiEnabled</code> to enable the Admin UI.</li> <li>Use <code>curity.adminUiHttp</code> to enable access to the Admin UI via HTTP.</li> <li>Use <code>curity.admin.serviceAccount</code> and <code>curity.runtime.serviceAccount</code>.</li> </ul> <p>Save the parameters to a file called <code>values.yaml</code> and create the service accounts if they do not exist. Consider placing all resources related to the Curity Identity Server in a namespace to isolate them from other resources within the cluster. The following commands create a namespace called <code>curity</code> and create service accounts for the admin and runtime workloads:</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span><span>3</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">kubectl create namespace curity</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">kubectl </span><span class="token parameter variable" style="color:#f5b83d">-n</span><span class="token plain"> curity create serviceaccount curity-idsvr-admin</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">kubectl </span><span class="token parameter variable" style="color:#f5b83d">-n</span><span class="token plain"> curity create serviceaccount curity-idsvr-runtime</span></div></pre></div></div></div> <p>The Curity Identity Server configuration contains sensitive values, so create an encryption key to protect them. Run the following commands to create a key and store it in an environment variable:</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">openssl rand </span><span class="token number" style="color:rgb(247, 140, 108)">32</span><span class="token plain"> </span><span class="token operator" style="color:#ff79c6">|</span><span class="token plain"> xxd </span><span class="token parameter variable" style="color:#f5b83d">-p</span><span class="token plain"> </span><span class="token parameter variable" style="color:#f5b83d">-c</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">64</span><span class="token plain"> </span><span class="token operator" style="color:#ff79c6">&gt;</span><span class="token plain"> config_encryption.key</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:#f5b83d">CONFIG_ENCRYPTION_KEY</span><span class="token operator" style="color:#ff79c6">=</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token string variable" style="color:#f5b83d">$(</span><span class="token string variable function" style="color:rgb(130, 170, 255)">cat</span><span class="token string variable" style="color:#f5b83d"> config_encryption.key</span><span class="token string variable" style="color:#f5b83d">)</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span></div></pre></div></div></div> <h2>Run the First Deployment</h2> <p>Next, run a Helm deployment that uses the values file and pass sensitive parameters on the command line. To set an initial password for the <code>admin</code> user for the Admin UI, set the <code>curity.config.password</code> parameter on the first deployment. Also supply the <code>curity.config.encryptionKey</code> value:</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">helm repo </span><span class="token function" style="color:rgb(130, 170, 255)">add</span><span class="token plain"> curity https://curityio.github.io/idsvr-helm/</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">helm repo update</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">helm upgrade </span><span class="token parameter variable" style="color:#f5b83d">--install</span><span class="token plain"> curity curity/idsvr </span><span class="token parameter variable" style="color:#f5b83d">--values</span><span class="token operator" style="color:#ff79c6">=</span><span class="token plain">values.yaml </span><span class="token parameter variable" style="color:#f5b83d">--namespace</span><span class="token plain"> curity </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token parameter variable" style="color:#f5b83d">--set</span><span class="token plain"> </span><span class="token assign-left variable" style="color:#f5b83d">curity.config.password</span><span class="token operator" style="color:#ff79c6">=</span><span class="token plain">Password1 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token parameter variable" style="color:#f5b83d">--set</span><span class="token plain"> </span><span class="token assign-left variable" style="color:#f5b83d">curity.config.encryptionKey</span><span class="token operator" style="color:#ff79c6">=</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token string variable" style="color:#f5b83d">$CONFIG_ENCRYPTION_KEY</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span></div></pre></div></div></div> <p>The Helm chart creates YAML Kubernetes resources, including Services and Deployments for the runtime and admin workloads, and applies them to the cluster. To view the details, run the following command and inspect the text file.</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span><span>3</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">helm template curity curity/idsvr </span><span class="token parameter variable" style="color:#f5b83d">--values</span><span class="token operator" style="color:#ff79c6">=</span><span class="token plain">values.yaml </span><span class="token parameter variable" style="color:#f5b83d">--namespace</span><span class="token plain"> curity </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token parameter variable" style="color:#f5b83d">--set</span><span class="token plain"> </span><span class="token assign-left variable" style="color:#f5b83d">curity.config.password</span><span class="token operator" style="color:#ff79c6">=</span><span class="token plain">Password1 </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token parameter variable" style="color:#f5b83d">--set</span><span class="token plain"> </span><span class="token assign-left variable" style="color:#f5b83d">curity.config.encryptionKey</span><span class="token operator" style="color:#ff79c6">=</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token string variable" style="color:#f5b83d">$CONFIG_ENCRYPTION_KEY</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token plain"> </span><span class="token operator" style="color:#ff79c6">&gt;</span><span class="token plain"> resources.yaml</span></div></pre></div></div></div> <h2>View Deployed Workloads</h2> <p>Wait for the system to come up and then run the following command to view the services and workloads within the curity namespace:</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">kubectl </span><span class="token parameter variable" style="color:#f5b83d">-n</span><span class="token plain"> curity get all</span></div></pre></div></div></div> <p>There are admin and runtime Kubernetes services of type ClusterIP. In this example deployment, the admin workload consists of a single pod and the runtime workload consists of 2 pods. Each pod runs the Docker container for the Curity product. The Kubernetes runtime service load balances requests to the runtime pods that provide OAuth endpoints for applications.</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">text</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span></div><div class="code-pre-wrapper"><pre class="prism-code language-text" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">service/curity-idsvr-admin-svc ClusterIP 10.110.145.195 &lt;none&gt; 6789/TCP,6790/TCP,4465/TCP,4466/TCP,6749/TCP 3m</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">service/curity-idsvr-runtime-svc ClusterIP 10.96.32.142 &lt;none&gt; 8443/TCP,4465/TCP,4466/TCP 3m</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">NAME READY UP-TO-DATE AVAILABLE AGE</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">deployment.apps/curity-idsvr-admin 1/1 0 0 3m</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">deployment.apps/curity-idsvr-runtime 2/2 0 0 3m</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">NAME DESIRED CURRENT READY AGE</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">replicaset.apps/curity-idsvr-admin-84849c8f5c 1 1 1 2m59s</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">replicaset.apps/curity-idsvr-runtime-75fb7576cb 2 2 2 2m59s</span></div></pre></div></div></div> <p>Use a <code>fullnameOverride</code> top level Helm chart setting to change the name of the Kubernetes service and related resources. For example, to deploy only the Curity Token Handler you might set <code>fullnameOverride=tokenhandler</code> so that the names of Kubernetes services are <code>tokenhandler-admin-svc</code> and <code>tokenhandler-runtime-svc</code>.</p> <h2>Run the First Configuration</h2> <p>The first deployment generates an initial configuration. To administer the configuration expose the Admin UI from the cluster:</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token assign-left variable" style="color:#f5b83d">ADMIN_POD</span><span class="token operator" style="color:#ff79c6">=</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token string variable" style="color:#f5b83d">$(</span><span class="token string variable" style="color:#f5b83d">kubectl </span><span class="token string variable parameter variable" style="color:#f5b83d">-n</span><span class="token string variable" style="color:#f5b83d"> curity get pod </span><span class="token string variable parameter variable" style="color:#f5b83d">-l</span><span class="token string variable" style="color:#f5b83d"> </span><span class="token string variable string" style="color:rgb(173, 219, 103)">&#x27;role=curity-idsvr-admin&#x27;</span><span class="token string variable" style="color:#f5b83d"> </span><span class="token string variable parameter variable" style="color:#f5b83d">-o</span><span class="token string variable" style="color:#f5b83d"> </span><span class="token string variable assign-left variable" style="color:#f5b83d">jsonpath</span><span class="token string variable operator" style="color:#ff79c6">=</span><span class="token string variable string" style="color:rgb(173, 219, 103)">&#x27;{.items[0].metadata.name}&#x27;</span><span class="token string variable" style="color:#f5b83d">)</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">kubectl </span><span class="token parameter variable" style="color:#f5b83d">-n</span><span class="token plain"> curity port-forward </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token string variable" style="color:#f5b83d">$ADMIN_POD</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">6749</span></div></pre></div></div></div> <p>Next, open a browser at <code>http://localhost:6749</code> and sign in with the admin user and password to configure the system and enable OAuth endpoints. Then perform the initial configuration depending on the system type:</p> <div class="tab-group tab-group-undefined"><div class="m0 list-reset " role="tablist"><button role="tab" class="active">Curity Identity Server</button><button role="tab" class="">Curity Token Handler</button></div><div><p>Run the <a class="ref ref-cross" href="/resources/learn/first-config/"><i class="icon ion-android-list inlineicon"></i>First Configuration<i class="icon ion-android-arrow-forward ml1"></i></a> to make OAuth endpoints available to applications.</p></div></div> <h2>Call OAuth Endpoints</h2> <p>Both external clients and internal workloads can connect to endpoints once the initial setup is complete. Run the following command to provide initial connectivity to OAuth endpoints:</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token assign-left variable" style="color:#f5b83d">RUNTIME_POD</span><span class="token operator" style="color:#ff79c6">=</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token string variable" style="color:#f5b83d">$(</span><span class="token string variable" style="color:#f5b83d">kubectl </span><span class="token string variable parameter variable" style="color:#f5b83d">-n</span><span class="token string variable" style="color:#f5b83d"> curity get pod </span><span class="token string variable parameter variable" style="color:#f5b83d">-l</span><span class="token string variable" style="color:#f5b83d"> </span><span class="token string variable string" style="color:rgb(173, 219, 103)">&#x27;role=curity-idsvr-runtime&#x27;</span><span class="token string variable" style="color:#f5b83d"> </span><span class="token string variable parameter variable" style="color:#f5b83d">-o</span><span class="token string variable" style="color:#f5b83d"> </span><span class="token string variable assign-left variable" style="color:#f5b83d">jsonpath</span><span class="token string variable operator" style="color:#ff79c6">=</span><span class="token string variable string" style="color:rgb(173, 219, 103)">&#x27;{.items[0].metadata.name}&#x27;</span><span class="token string variable" style="color:#f5b83d"> </span><span class="token string variable operator" style="color:#ff79c6">|</span><span class="token string variable" style="color:#f5b83d"> </span><span class="token string variable function" style="color:rgb(130, 170, 255)">tail</span><span class="token string variable" style="color:#f5b83d"> </span><span class="token string variable parameter variable" style="color:#f5b83d">-n</span><span class="token string variable" style="color:#f5b83d"> </span><span class="token string variable number" style="color:rgb(247, 140, 108)">1</span><span class="token string variable" style="color:#f5b83d">)</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">kubectl </span><span class="token parameter variable" style="color:#f5b83d">-n</span><span class="token plain"> curity port-forward </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token string variable" style="color:#f5b83d">$RUNTIME_POD</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">8443</span></div></pre></div></div></div> <p>The following example commands show how to call OAuth endpoints:</p> <div class="tab-group tab-group-undefined"><div class="m0 list-reset " role="tablist"><button role="tab" class="active">Curity Identity Server</button><button role="tab" class="">Curity Token Handler</button></div><div><p>Run the following command to download OpenID Connect metadata. Inspect the response to view the locations of other OAuth endpoints.</p><div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://localhost:8443/oauth/v2/oauth-anonymous/.well-known/openid-configuration</span></div></pre></div></div></div><p>Application workloads that run in the cluster can use internal Kubernetes URLs to call OAuth endpoints. For example, APIs call the internal JWKS URI endpoint to download token signing public keys so that they can validate JWT access tokens. Run the following commands to deploy a pod that acts as an API workload:</p><div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">kubectl create namespace api</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">kubectl </span><span class="token parameter variable" style="color:#f5b83d">-n</span><span class="token plain"> api apply </span><span class="token parameter variable" style="color:#f5b83d">-f</span><span class="token plain"> - </span><span class="token operator" style="color:#ff79c6">&lt;&lt;</span><span class="token string" style="color:rgb(173, 219, 103)">EOF</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)">apiVersion: v1</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)">kind: Pod</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)">metadata:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)"> name: curl</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)">spec:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)"> containers:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)"> - name: curl</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)"> image: curlimages/curl:latest</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)"> command: [&quot;sleep&quot;]</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)"> args: [&quot;infinity&quot;]</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token string" style="color:rgb(173, 219, 103)">EOF</span></div></pre></div></div></div><p>Get a remote shell to the deployed pod:</p><div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">kubectl </span><span class="token parameter variable" style="color:#f5b83d">-n</span><span class="token plain"> api </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">exec</span><span class="token plain"> </span><span class="token parameter variable" style="color:#f5b83d">-it</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -- </span><span class="token function" style="color:rgb(130, 170, 255)">sh</span></div></pre></div></div></div><p>Then call the JWKS URI with the following internal URL to reference the Kubernetes runtime service within the <code>curity</code> namespace:</p><div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://curity-idsvr-runtime-svc.curity.svc:8443/oauth/v2/oauth-anonymous/jwks</span></div></pre></div></div></div></div></div> <h2>Run the First Upgrade</h2> <p>Use the Admin UI to update configuration settings, for example to register an OAuth client. Then follow the instructions from the <a class="ref ref-cross" href="/resources/learn/import-export-config/"><i class="icon ion-android-list inlineicon"></i>Import and Export Configurations<i class="icon ion-android-arrow-forward ml1"></i></a> tutorial to use the <strong>Changes</strong> → <strong>Download</strong> option of the Admin UI and download the configuration and save it to a file called <code>curity-config.xml</code>. To upgrade the system correctly you must make the latest configuration data and the same configuration encryption key available to new pods.</p> <h3>Use a ConfigMap for Configuration Data</h3> <p>The following example supplies the configuration data in a Kubernetes ConfigMap:</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">kubectl </span><span class="token parameter variable" style="color:#f5b83d">-n</span><span class="token plain"> curity create configmap idsvr-config </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> --from-file</span><span class="token operator" style="color:#ff79c6">=</span><span class="token string" style="color:rgb(173, 219, 103)">&#x27;idsvr-config=curity-config.xml&#x27;</span></div></pre></div></div></div> <p>The Helm chart <code>values.yaml</code> file can then reference the ConfigMap:</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">yaml</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span><span>18</span><span>19</span><span>20</span><span>21</span><span>22</span><span>23</span><span>24</span><span>25</span><span>26</span><span>27</span><span>28</span></div><div class="code-pre-wrapper"><pre class="prism-code language-yaml" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token key atrule">replicaCount</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"></span><span class="token key atrule">image</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">repository</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> curity.azurecr.io/curity/idsvr</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">tag</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> latest</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"></span><span class="token key atrule">curity</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">adminUiHttp</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token boolean important" style="color:rgb(255, 88, 116)">true</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">admin</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">serviceAccount</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> curity</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">idsvr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">admin</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">logging</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">level</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> INFO</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">runtime</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">serviceAccount</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> curity</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">idsvr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">runtime</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">logging</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">level</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> INFO</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">config</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">uiEnabled</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token boolean important" style="color:rgb(255, 88, 116)">true</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">configuration</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain"> </span><span class="token key atrule">configMapRef</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> idsvr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">config</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">items</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain"> </span><span class="token key atrule">key</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> idsvr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">config</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">path</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> curity</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">config.xml</span></div></pre></div></div></div> <h3>Use a PersistentVolume for Configuration Data</h3> <p>When getting started, an alternative option is to use a PersistentVolume for configuration data. On the first deployment, express a PersistentVolumeClaim in the Helm chart. Configuration data storage is then external to pods, so new pods automatically receive the latest configuration, without the need to download configuration and resupply it as a ConfigMap.</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">yaml</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span><span>18</span><span>19</span><span>20</span><span>21</span><span>22</span><span>23</span><span>24</span><span>25</span><span>26</span><span>27</span></div><div class="code-pre-wrapper"><pre class="prism-code language-yaml" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token key atrule">replicaCount</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"></span><span class="token key atrule">image</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">repository</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> curity.azurecr.io/curity/idsvr</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">tag</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> latest</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"></span><span class="token key atrule">curity</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">adminUiHttp</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token boolean important" style="color:rgb(255, 88, 116)">true</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">admin</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">serviceAccount</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> curity</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">idsvr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">admin</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">logging</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">level</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> INFO</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">runtime</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">serviceAccount</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> curity</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">idsvr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">-</span><span class="token plain">runtime</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">logging</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">level</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> INFO</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">config</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">uiEnabled</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token boolean important" style="color:rgb(255, 88, 116)">true</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">persistentConfigVolume</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">enabled</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token boolean important" style="color:rgb(255, 88, 116)">true</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">storageClass</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> standard</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">accessModes</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> ReadWriteOnce</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token key atrule">size</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> 1Gi</span></div></pre></div></div></div> <h3>Use a Post Commit Script to Save Configuration Data</h3> <p>Another option is to use a post commit script to persist all configuration changes to items within a Kubernetes secret. You can read more about this feature in the <a class="ref ref-cross" href="/resources/learn/run-cluster-helm/"><i class="icon ion-android-list inlineicon"></i>Configuration Backups and Logging using Helm<i class="icon ion-android-arrow-forward ml1"></i></a> tutorial.</p> <h3>Ensure Zero Downtime</h3> <p>Use <code>helm upgrade --install</code> on all subsequent redeployments, so that the Kubernetes platform adds new pods, waits for them to reach a ready state and then terminates old pods. Therefore, the platform ensures zero downtime for OAuth endpoints.</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">bash</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span></div><div class="code-pre-wrapper"><pre class="prism-code language-bash" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">helm upgrade </span><span class="token parameter variable" style="color:#f5b83d">--install</span><span class="token plain"> curity curity/idsvr </span><span class="token parameter variable" style="color:#f5b83d">--values</span><span class="token operator" style="color:#ff79c6">=</span><span class="token plain">values.yaml </span><span class="token parameter variable" style="color:#f5b83d">--namespace</span><span class="token plain"> curity </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> </span><span class="token parameter variable" style="color:#f5b83d">--set</span><span class="token plain"> </span><span class="token assign-left variable" style="color:#f5b83d">curity.config.encryptionKey</span><span class="token operator" style="color:#ff79c6">=</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span><span class="token string variable" style="color:#f5b83d">$CONFIG_ENCRYPTION_KEY</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;</span></div></pre></div></div></div> <h2>Finalize Configuration</h2> <p>Storing configuration external to pods can be a convenient option for early stages of the deployment pipeline, like development systems. You can then can use a <a class="ref ref-cross" href="/resources/learn/gitops-configuration-management/"><i class="icon ion-android-list inlineicon"></i>Configuration as Code<i class="icon ion-android-arrow-forward ml1"></i></a> approach to minimize duplication for other stages of the deployment pipeline and to improve the reliability of production upgrades:</p> <ul> <li>Split the backed up configuration into muiltiple files.</li> <li>Parameterize the configuration files to minimize duplication.</li> <li>Protect sensitive parameters during deployment.</li> <li>Copy configuration files and other shared resources into a Docker image.</li> <li>Update Helm to use the custom Docker image.</li> </ul> <p>The use of a custom Docker image also reduces the need to use Kubernetes techniques to deploy files, which simplifies the Helm <code>values.yaml</code> file:</p> <div class="code-wrapper"><div class="button-copy-code-wrapper"><span class="button-copy-code-wrapper-title">text</span><button class="button button-copy-code" tooltip="Copy to clipboard" flow="left"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24"><rect width="13" height="13" x="9" y="9" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button></div><div class="flex"><div class="flex flex-column code-line-numbers "><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span><span>18</span><span>19</span><span>20</span><span>21</span><span>22</span><span>23</span><span>24</span><span>25</span><span>26</span></div><div class="code-pre-wrapper"><pre class="prism-code language-text" style="color:#d6deeb;background-color:#011627"><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">replicaCount: 2</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">image:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> repository: custom_idsvr</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> tag: 1.0.0</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain">curity:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> adminUiHttp: true</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> admin:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> serviceAccount:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> name: curity-idsvr-admin</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> logging:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> level: INFO</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> runtime:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> serviceAccount:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> name: curity-idsvr-runtime</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> logging:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> level: INFO</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain" style="display:inline-block"> </span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> config:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> uiEnabled: true</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> environmentVariableConfigMaps:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> - idsvr-parameters</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> environmentVariableSecrets:</span></div><div class="token-line" style="color:#d6deeb" data-line-style=""><span class="token plain"> - idsvr-protected-parameters</span></div></pre></div></div></div> <h2>Deployment Example</h2> <p>The GitHub link at the top of this page provides some Kubernetes deployment examples that you can run on a local computer. Once the configuration techniques work locally they will also work in any deployed Kubernetes environment.</p> <ul> <li>The <code>Basic</code> example shows how to run an initial deployment and upgrade for either the Curity Identity Server or the Curity Token Handler.</li> <li>The <code>Curity Identity Server</code> and <code>Curity Token Handler</code> examples show a more complete deployment that uses configuration as code.</li> </ul> <h2>Conclusion</h2> <p>This tutorial provides an initial Kubernetes deployment, though the OAuth endpoints are not yet available to remote clients. The <a class="ref ref-cross" href="/resources/learn/kubernetes-ingress/"><i class="icon ion-android-list inlineicon"></i>Expose OAuth Endpoints from Kubernetes<i class="icon ion-android-arrow-forward ml1"></i></a> tutorial explains the approach to use a Kubernetes API gateway to provide external OAuth URLs.</p><div class="gradient-callout gradient-callout-light relative mt4"><div class="sm-flex flex-gap-2 bg-white p3 br-6"><div class="bg-light flex-50 p3"><h3 class="mt0">Join our Newsletter</h3><p><small>Get the latest on identity management, API Security and authentication straight to your inbox.</small></p><form class="newsletter mb2" method="post"><div class="mb2"><div class="sm-flex flex-gap-1"><div class="w100"><label for="newsletterSignupEmail-undefined " class="visuallyhidden">Email</label><input type="email" placeholder="Your Email" id="newsletterSignupEmail-undefined " name="user_email" class="required field w100" required=""/></div><button type="submit" name="subscribe" id="mc-embedded-subscribe-undefined " class="button button-primary button-small"><i class="icon ion-ios-paperplane inlineicon"></i>Subscribe</button></div></div><small class="bright"><label for="newsletterSignupConsent-undefined " class="label mt1 lg-mt0 flex flex-center"><input id="newsletterSignupConsent-undefined " name="newsletterSignupConsent" type="checkbox"/>I agree to Curity&#x27;s <a class="bright" href="/terms-of-service/" target="_blank">Privacy Policy</a></label></small><input type="hidden" name="listid" id="listid-undefined " value="348"/><div class="recaptcha"></div></form></div><div class="p3 center br-6 flex-50"><h3 class="mt0">Start Free Trial</h3><p><small>Try the Curity Identity Server for Free. Get up and running in 10 minutes.</small></p><a class="button button-primary button-tiny" href="https://developer.curity.io/free-trial/?utm_source=curity.io&amp;utm_medium=Link&amp;utm_content=Navigation">Start Free Trial</a></div></div></div><div class="resources-breadcrumbs"><div class="sm-flex justify-between w100"><div class="breadcrumbs p2 lg-show false false"><div class="lg-flex justify-between"><ol class="m0 p0" itemscope="" itemType="http://schema.org/BreadcrumbList"><li itemProp="itemListElement" itemscope="" itemType="http://schema.org/ListItem"><a itemProp="item" class="link-primary" itemType="https://schema.org/WebPage" itemID="/" href="/"><span itemProp="name">Home</span><meta itemProp="position" content="1"/></a></li><li itemProp="itemListElement" itemscope="" itemType="http://schema.org/ListItem"><a itemProp="item" class="link-primary" itemType="https://schema.org/WebPage" itemID="/resources" href="/resources/"><span itemProp="name">Resources</span><meta itemProp="position" content="2"/></a></li><li itemProp="itemListElement" itemscope="" itemType="http://schema.org/ListItem"><a aria-current="page" itemProp="item" class="link-primary" itemType="https://schema.org/WebPage" itemID="/resources/learn/configure-deployments-using-helm/" href="/resources/learn/configure-deployments-using-helm/"><span itemProp="name">Configure Deployments using Helm</span><meta itemProp="position" content="3"/></a></li></ol></div></div></div><section class="was-this-helpful p2 relative mt2 mb2 false "><div class="was-this-helpful-initial-ui mx-auto block"><div class="hs_feedback_buttons flex justify-center flex-column"><p>Was this helpful?</p><ul class="input list-reset flex flex-gap-1"><li><label for="was-this-helpful-initial-ui-yes"><input type="radio" id="was-this-helpful-initial-ui-yes" class="visuallyhidden"/></label></li><li><label for="was-this-helpful-initial-ui-no"><input type="text" id="was-this-helpful-initial-ui-no"/><input type="radio" id="was-this-helpful-initial-ui-no" class="visuallyhidden"/></label><input type="text" id="was-this-helpful-initial-ui-no"/></li></ul></div></div></section></div></article></div></div></div><aside class="article-toc"><div class="article-toc-wrapper"><div class="article-toc-panel"><nav class="article-toc-links" role="navigation"><span class="mt2 mb2 block h5">On This Page</span><ol class="m0"></ol></nav><nav class="mt2 py2" role="navigation"><span class="mt2 mb2 block h5">Related Articles</span><ol class="m0"><li data-area="tutorials"><a href="/resources/learn/install-helm-chart/">Install using Helm</a></li><li data-area="tutorials"><a href="/resources/learn/configure-deployed-environments/">Configure Deployed Environments</a></li><li data-area="tutorials"><a href="/resources/learn/kubernetes-ingress/">Expose OAuth Endpoints from Kubernetes</a></li></ol></nav></div></div></aside></section></main><section class="section bg-line-pattern bg-line-pattern-dark bg-line-pattern-magenta section-xxl" style="background-position:20% 45%;background-size:40%" id="starttoday"><div class="container container-wide"><div class="sm-flex justify-between flex-center"><div class="flex-40"><p class="preheader uppercasecaps">Next steps</p><h2 class="white">Ready to modernize IAM?</h2><p class="white">Start Today - Build security and improve ease of use to stay ahead of the competition.</p></div><div class="flex-50"><div class="grid-container" columns="1" sm-columns="2" gap="2"><a href="https://developer.curity.io/free-trial/?utm_source=curity.io&amp;utm_medium=Link&amp;utm_content=Start" class="card card-dark card-dark p3 center" style="background-position:90% 15%;background-size:90%"><img src="/images/start/free-trial.svg" class="md-w-4 md-h-4 mx-auto block" alt="Free trial icon representing Start a free trial" loading="lazy" width="82" height="82"/><p class="white m0">Start a Free Trial</p></a><a class="card card-dark card-dark p3 center" style="background-position:90% 15%;background-size:90%" href="/schedule-a-demo/"><img src="/images/start/demo.svg" class="md-w-4 md-h-4 mx-auto block" alt="Calendar icon representing Schedule a demo" loading="lazy" width="82" height="82"/><p class="white m0">Schedule a demo</p></a><a class="card card-dark card-dark p3 center" style="background-position:90% 15%;background-size:90%" href="/contact/?cta=tech"><img src="/images/start/expert.svg" class="md-w-4 md-h-4 mx-auto block" alt="User with a computer icon representing Speak to an Identity Specialist" loading="lazy" width="82" height="82"/><p class="white m0">Speak to an Identity Specialist</p></a><a class="card card-dark card-dark p3 center" style="background-position:90% 15%;background-size:90%" href="/resources/"><img src="/images/start/resources.svg" class="md-w-4 md-h-4 mx-auto block" alt="Book icon representing Explore learning resources" loading="lazy" width="82" height="82"/><p class="white m0">Explore learning resources</p></a></div></div></div></div></section></main><footer class="footer bg-line-pattern bg-line-pattern-primary"><div class="footer-lines"></div><div class="container container-wide"><div class="footer-container mt3"><div><img class="footer-logo mt2 mb2" src="data:image/svg+xml;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Mi41NyAzNi4zMyI+PHBhdGggZD0ibTUzLjA2IDI2Ljc5LS41Ni41N2ExNS45MyAxNS45MyAwIDAgMS0xMC45MyA1IDEwIDEwIDAgMCAxLTEwLjM0LTEwLjRjMC02IDQuMjQtMTAuMzkgMTAuMDktMTAuMzlhMTYuNjcgMTYuNjcgMCAwIDEgMTAuMjIgNGwuNTYuNDkgNS42MS01Ljg2LS42My0uNTRhMjUuNzggMjUuNzggMCAwIDAtMTYuMzYtNS45MSAxOC40NCAxOC40NCAwIDAgMC0xNS4zNyA3LjY4SDE1bC0uNiA1LjA5aDguNWExNy45IDE3LjkgMCAwIDAtLjU5IDIuODZIOS42MUw5IDI0LjQ2aDEzLjMxYTE4LjU2IDE4LjU2IDAgMCAwIC41NyAyLjg2SDMuNzdsLS42MSA1LjA5SDI1LjNjMy4yOSA0Ljc0IDguOSA3LjY4IDE1LjY3IDcuNjhhMjUuNDEgMjUuNDEgMCAwIDAgMTcuMTktNi45M2wuNTktLjU2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMuMTYgLTMuNzUpIiBzdHlsZT0iZmlsbDojZmZmIi8+PHBhdGggc3R5bGU9ImZpbGw6I2ZmZiIgZD0iTTUuMDEgMTUuNjJIMS4yNmwtLjYgNS4wOUg0LjRsLjYxLTUuMDl6Ii8+PHBhdGggZD0iTTg4IDI2LjE0YTEzLjMxIDEzLjMxIDAgMCAxLTkuMDYgMy42NmMtNS45MiAwLTkuODItNC4yMy05LjgyLTkuNDdhOS4zNiA5LjM2IDAgMCAxIDkuNjgtOS40NEExMy42NiAxMy42NiAwIDAgMSA4Ny40MSAxNEw4NSAxNi41NmE5LjU1IDkuNTUgMCAwIDAtNS44NC0yLjI5IDUuODIgNS44MiAwIDAgMC01LjkyIDYuMDkgNS44NyA1Ljg3IDAgMCAwIDYuMDYgNi4wOCA5LjE5IDkuMTkgMCAwIDAgNi4yNS0yLjgzWk0xMDcuNDQgMTEuNDN2MTEuNDFjMCA0LjQ1LTMuNDQgNy04LjE2IDdzLTguMTEtMi41MS04LjExLTdWMTEuNDNoMy45M3YxMS40MWMwIDIuMzUgMS44OCAzLjYgNC4xOCAzLjZzNC4yMy0xLjI1IDQuMjMtMy42VjExLjQzWk0xMTIuNzMgMjkuMjVWMTEuNDNoOS44OGE3IDcgMCAwIDEgNS4zOSAxLjk0IDUuMzYgNS4zNiAwIDAgMSAxLjQ3IDMuNjkgNS40NyA1LjQ3IDAgMCAxLTMuNiA1bDQuMTMgNy4xOWgtNC40N2wtMy42LTYuNTVoLTUuM3Y2LjU1Wm0zLjktMTQuNTF2NC42NkgxMjNhMi4zOCAyLjM4IDAgMCAwIDIuNDgtMi4zNCAyLjE3IDIuMTcgMCAwIDAtLjYzLTEuNTYgMi42NiAyLjY2IDAgMCAwLTIuMTMtLjc2Wk0xMzQgMjkuMjVWMTEuNDNoMy45MXYxNy44MlpNMTQxLjQ0IDExLjQzaDE2LjgxdjMuMzloLTYuNDR2MTQuNDNoLTMuOTFWMTQuODJoLTYuNDZaTTE3Ny4xMyAxMS40M2wtNy4wNyA5LjY5djguMTNoLTMuOTN2LTguMTNMMTU5IDExLjQzaDQuODVsNC4zNCA2LjIgNC4zMi02LjJaTTE3OC4wNyAxMS4wOGE0IDQgMCAwIDEgMS4xMi0yLjg2IDMuNzQgMy43NCAwIDAgMSA1LjQzIDAgNCA0IDAgMCAxIDEuMTEgMi44NiA0IDQgMCAwIDEtMS4xMiAyLjkyIDMuNzIgMy43MiAwIDAgMS01LjQyIDAgNCA0IDAgMCAxLTEuMTItMi45MlptLjY1IDBhMy4zOSAzLjM5IDAgMCAwIC45MyAyLjQyIDMgMyAwIDAgMCAyLjI2IDEgMyAzIDAgMCAwIDIuMjQtMSAzLjM3IDMuMzcgMCAwIDAgLjkzLTIuNDEgMy4zNCAzLjM0IDAgMCAwLS45My0yLjQgMyAzIDAgMCAwLTIuMjQtMSAzIDMgMCAwIDAtMi4yNiAxIDMuMzQgMy4zNCAwIDAgMC0uOTMgMi4zOVptMi40LjQxdjEuODJoLS44VjguNzJoMS41MWEyLjA2IDIuMDYgMCAwIDEgMS4yOS4zNiAxLjIxIDEuMjEgMCAwIDEgLjQ2IDEgMSAxIDAgMCAxLS4xNy41OSAxLjM4IDEuMzggMCAwIDEtLjUyLjQyIDEgMSAwIDAgMSAuNTEuNDMgMS4zNSAxLjM1IDAgMCAxIC4xNi42OXYuN2EuNzcuNzcgMCAwIDAgLjA4LjI5di4wOGgtLjgzYTEuMDggMS4wOCAwIDAgMS0uMDYtLjMzdi0uNzRhLjguOCAwIDAgMC0uMTgtLjU3LjgzLjgzIDAgMCAwLS42LS4xOFptMC0uN2guODJhMS4xMiAxLjEyIDAgMCAwIC42LS4xOC41NS41NSAwIDAgMCAuMjUtLjQ3LjY4LjY4IDAgMCAwLS4yMi0uNTYgMS4zNCAxLjM0IDAgMCAwLS43NC0uMTVoLS43MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zLjE2IC0zLjc1KSIgc3R5bGU9ImZpbGw6I2ZmZiIvPjwvc3ZnPgo=" alt="Curity logo" width="124" height="36"/><p><a class="block" itemProp="email" href="mailto:info@curity.io">info@curity.io</a></p><p class="mt2"><a aria-label="Get in Touch" class="button button-medium button-primary" href="/contact/">Get in touch</a></p><ul class="footer-social list-reset m0 mt2"><li><a target="_blank" rel="noopener noreferrer" aria-label="Follow Curity on X" tooltip="Follow Curity on X" href="https://x.com/curityio"><img src="/images/footer/social-x.svg" alt="X icon" loading="lazy" decoding="async" width="40" height="40"/></a></li><li><a target="_blank" rel="noopener noreferrer" aria-label="Follow Curity on LinkedIn" tooltip="Follow Curity on LinkedIn" href="https://www.linkedin.com/company/curity/"><img src="/images/footer/social-linkedin.svg" alt="LinkedIn icon" loading="lazy" decoding="async" width="40" height="40"/></a></li><li><a target="_blank" rel="noopener noreferrer" aria-label="Follow Curity on YouTube" tooltip="Follow Curity on YouTube" href="https://www.youtube.com/c/Curity"><img src="/images/footer/social-youtube.svg" alt="YouTube icon" loading="lazy" decoding="async" width="40" height="40"/></a></li><li><a target="_blank" rel="noopener noreferrer" aria-label="Follow Curity on Bluesky" tooltip="Follow Curity on Bluesky" href="https://bsky.app/profile/curity.bsky.social"><img src="/images/footer/social-bsky.svg" alt="Bluesky icon" loading="lazy" decoding="async" width="40" height="40"/></a></li><li><a target="_blank" rel="noopener noreferrer" aria-label="Follow Curity on GitHub" tooltip="Follow Curity on GitHub" href="https://github.com/curityio"><img src="/images/footer/social-github.svg" alt="GitHub icon" loading="lazy" decoding="async" width="40" height="40"/></a></li><li><a aria-label="Subscribe to Curity&#x27;s RSS Feeds" tooltip="Subscribe to Curity&#x27;s RSS Feeds" href="/feeds/"><img src="/images/footer/social-rss.svg" alt="Subscribe to Curity&#x27;s RSS Feeds icon" loading="lazy" decoding="async" width="40" height="40"/></a></li><li><a target="_blank" rel="noopener noreferrer" aria-label="Follow Curity on Medium" tooltip="Follow Curity on Medium" href="https://curity.medium.com/"><img src="/images/footer/social-medium.svg" alt="Medium icon" loading="lazy" decoding="async" width="40" height="40"/></a></li><li><a target="_blank" rel="noopener noreferrer" aria-label="Follow Curity on Nordic APIs" tooltip="Follow Curity on Nordic APIs" href="https://nordicapis.com/blog/?company=curity"><img src="/images/footer/social-nordicapis.svg" alt="Nordic APIs icon" loading="lazy" decoding="async" width="40" height="40"/></a></li></ul><a class="flex flex-center flex-gap-1 mt2" href="/newsletter/"><i class="icon ion-email white h3"></i>Sign up for API Security Insights.</a><p><small>© Curity AB<!-- --> <a aria-label="Terms Of Service" href="/terms-of-service/">Terms of Service</a></small></p></div><div><h3 class="mb2">Product</h3><ul class="list-reset m0"><li><a href="/product/">Product Overview</a></li><li><a href="/product/authentication-service/">Authentication Service</a></li><li><a href="/product/token-service/">Token Service</a></li><li><a href="/product/user-management-service/">User Management Service</a></li><li><a href="/product/token-handler/">Curity Token Handler</a></li><li><a href="/product/authentication/">Authentication</a></li><li><a href="/product/secure-access/">Secure Acccess</a></li><li><a href="/product/user-journey-orchestration/">User Journey Orchestration</a></li><li><a href="/product/decentralized-identity/">Decentralized Identity</a></li><li><a href="/product/extensibility-and-sdks/">Extensibility and SDK:s</a></li><li><a href="/product/identity-standards/">Identity Standards</a></li><li><a href="/product/community/">Community Edition</a></li><li><a href="/product/plans/">Product Plans</a></li><li><a href="/faq/">FAQ</a></li><li><a href="/support/">Support</a></li><li><a href="/product/deployment/">Deployment</a></li><li><a href="/product/devops-and-secops/">DevOps and Secops</a></li></ul></div><div><h3 class="mb2">Solutions</h3><ul class="list-reset m0"><li><a href="/solutions/common-identity-platform/">Common Identity Platform</a></li><li><a href="/solutions/modernizing-infrastructure/">Modernizing Infrastructure</a></li><li><a href="/solutions/open-banking-and-fapi/">Open Banking &amp; Financial-Grade APIs</a></li><li><a href="/solutions/frictionless-authentication/">Secure Frictionless Authentication</a></li><li><a href="/solutions/zero-trust/">Zero Trust and Security Architecture</a></li><li><a href="/solutions/secure-financial-services/">Financial Services</a></li><li><a href="/solutions/identity-for-government-solutions/">Government</a></li><li><a href="/solutions/protecting-health-care/">Healthcare</a></li><li><a href="/solutions/tech-and-saas-security/">Technology / SaaS</a></li><li><a href="/solutions/protecting-telecom-services/">Telecom</a></li></ul></div><div><h3 class="mb2">Resources</h3><ul class="list-reset m0"><li><a href="/resources/">Resource Library</a></li><li><a href="/resources/whats-new/">What&#x27;s New</a></li><li><a href="/resources/articles/">Articles</a></li><li><a href="/resources/getting-started/">Getting Started</a></li><li><a href="/resources/how-tos/">How-tos</a></li><li><a href="/resources/code-examples/">Code Examples</a></li><li><a href="/resources/webinars/">Webinars</a></li><li><a href="/resources/documents/">Whitepapers</a></li><li><a href="/resources/documents/">Documents</a></li><li><a href="/resources/videos/">Videos</a></li><li><a href="/resources/courses/">Courses</a></li><li><a href="/oauth-tools/">OAuth Tools</a></li></ul></div><div><h3 class="mb2">Company</h3><ul class="list-reset m0"><li><a href="/company/">About</a></li><li><a href="/company/customers/">Customers</a></li><li><a href="/company/partners/">Partners</a></li><li><a href="/blog/">Blog</a></li><li><a href="/company/careers/">Careers</a></li><li><a href="/company/events/">Events Calendar</a></li><li><a href="/company/esg/">ESG</a></li><li><a href="/news/">News</a></li><li><a href="/investors/">Investor Relations</a></li></ul></div></div><div class="flex flex-gap-3 flex-center flex-wrap"><a class="block" target="_blank" rel="noopener noreferrer" href="https://securityscorecard.com/security-rating/curity.io?utm_medium=badge&amp;utm_source=curity.io&amp;utm_campaign=seal-of-trust&amp;utm_content=https://platform.securityscorecard.io/"><img src="/images/footer/security-scorecard.svg" alt="Security ScoreCard" class="md-w-14" width="292" height="92" loading="lazy"/></a><a href="/product/identity-standards/conformance/#soc2"><img class="block md-w-4" src="/images/conformance/soc.webp" alt="SOC 2 Type 1 Compliance" width="100" height="100" loading="lazy"/></a><div><a href="https://observatory.mozilla.org/analyze/curity.io" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" width="162" height="20" aria-label="observatory: A+ (100/100)"><title>observatory: A+ (100/100)</title><linearGradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity="0.1"></stop><stop offset="1" stop-opacity="0.1"></stop></linearGradient><clipPath id="a"><rect width="162" height="20" fill="#fff" rx="3"></rect></clipPath><g clip-path="url(#a)"><path fill="#555" d="M0 0h75v20H0z"></path><path fill="#4c1" d="M75 0h87v20H75z"></path><path fill="url(#b)" d="M0 0h162v20H0z"></path></g><g fill="#fff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="110" text-anchor="middle" text-rendering="geometricPrecision"><text x="385" y="150" fill="#010101" fill-opacity="0.3" aria-hidden="true" textLength="650" transform="scale(.1)">observatory</text><text x="385" y="140" textLength="650" transform="scale(.1)">observatory</text><text x="1175" y="150" fill="#010101" fill-opacity="0.3" aria-hidden="true" textLength="770" transform="scale(.1)">A+ (100/100)</text><text x="1175" y="140" textLength="770" transform="scale(.1)">A+ (100/100)</text></g></svg></a></div><div><a href="https://www.ssllabs.com/ssltest/analyze?d=curity.io" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" width="58" height="20" aria-label="SSL: A+"><title>SSL: A+</title><linearGradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity="0.1"></stop><stop offset="1" stop-opacity="0.1"></stop></linearGradient><clipPath id="a"><rect width="58" height="20" fill="#fff" rx="3"></rect></clipPath><g clip-path="url(#a)"><path fill="#555" d="M0 0h31v20H0z"></path><path fill="#4c1" d="M31 0h27v20H31z"></path><path fill="url(#b)" d="M0 0h58v20H0z"></path></g><g fill="#fff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="110" text-anchor="middle" text-rendering="geometricPrecision"><text x="165" y="150" fill="#010101" fill-opacity="0.3" aria-hidden="true" textLength="210" transform="scale(.1)"> SSL </text><text x="165" y="140" textLength="210" transform="scale(.1)"> SSL </text><text x="435" y="150" fill="#010101" fill-opacity="0.3" aria-hidden="true" textLength="170" transform="scale(.1)"> A+ </text><text x="435" y="140" textLength="170" transform="scale(.1)"> A+ </text></g></svg></a></div></div></div></footer></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" async="" src="https://www.googletagmanager.com/gtag/js?id=G-389DDQHZJC"></script><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c"> window.excludeGtagPaths=[/^(?:\/preview\/(?:(?!(?:\/|^)\.).)*?)$/,/^(?:\/resources\/webinars\/thank\-you\/)$/,/^(?:\/contact\/thank\-you\/)$/,/^(?:\/callback\/(?:(?!(?:\/|^)\.).)*?)$/,/^(?:\/frontchannel\-logout\/(?:(?!(?:\/|^)\.).)*?)$/]; function gaOptout(){document.cookie=disableStr+'=true; expires=Thu, 31 Dec 2099 23:59:59 UTC;path=/',window[disableStr]=!0}var gaProperty='G-389DDQHZJC',disableStr='ga-disable-'+gaProperty;document.cookie.indexOf(disableStr+'=true')>-1&&(window[disableStr]=!0); if(!(navigator.doNotTrack == "1" || window.doNotTrack == "1")) { window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-389DDQHZJC', {"anonymize_ip":true,"cookie_expires":0,"allow_enhanced_conversions":true,"send_page_view":false});gtag('config', 'AW-835310060', {"anonymize_ip":true,"cookie_expires":0,"allow_enhanced_conversions":true,"send_page_view":false}); } </script><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/resources/learn/configure-deployments-using-helm/";/*]]>*/</script><!-- slice-start id="_gatsby-scripts-1" --> <script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" id="gatsby-chunk-mapping" > window.___chunkMapping="{\"app\":[\"/app-ffbe0d88165d31bb85ac.js\"],\"component---src-pages-404-js\":[\"/component---src-pages-404-js-e56380355c18976c583b.js\"],\"component---src-pages-api-security-mdx\":[\"/component---src-pages-api-security-mdx-b104dab59a796134c65d.js\"],\"component---src-pages-api-world-js\":[\"/component---src-pages-api-world-js-4f3131c1860160540821.js\"],\"component---src-pages-authentication-service-mdx\":[\"/component---src-pages-authentication-service-mdx-430c01477108fb61a217.js\"],\"component---src-pages-blog-authors-js\":[\"/component---src-pages-blog-authors-js-effac18ddef823cdb59e.js\"],\"component---src-pages-blog-tags-js\":[\"/component---src-pages-blog-tags-js-7bcc48f53d19798319b3.js\"],\"component---src-pages-ciam-for-digital-banking-mdx\":[\"/component---src-pages-ciam-for-digital-banking-mdx-011d239e812c5d6b9273.js\"],\"component---src-pages-ciam-for-fintech-mdx\":[\"/component---src-pages-ciam-for-fintech-mdx-5e5e2fc33e63e2f68196.js\"],\"component---src-pages-company-careers-how-we-hire-js\":[\"/component---src-pages-company-careers-how-we-hire-js-46d28cfcbcbd9cf9b8e1.js\"],\"component---src-pages-company-careers-js\":[\"/component---src-pages-company-careers-js-72905a732b036a0b6984.js\"],\"component---src-pages-company-careers-thank-you-js\":[\"/component---src-pages-company-careers-thank-you-js-40cbaff67b59a36fb260.js\"],\"component---src-pages-company-careers-who-we-are-js\":[\"/component---src-pages-company-careers-who-we-are-js-f05429f01fbefc562a66.js\"],\"component---src-pages-company-careers-working-at-curity-js\":[\"/component---src-pages-company-careers-working-at-curity-js-a23cd3d17e1640a32490.js\"],\"component---src-pages-company-customers-js\":[\"/component---src-pages-company-customers-js-12bcccf35ca8684dd98d.js\"],\"component---src-pages-company-esg-environmental-js\":[\"/component---src-pages-company-esg-environmental-js-d32bc8152bffa86593b4.js\"],\"component---src-pages-company-esg-governance-js\":[\"/component---src-pages-company-esg-governance-js-fe614bf52ea19da6a5bc.js\"],\"component---src-pages-company-esg-js\":[\"/component---src-pages-company-esg-js-58791ded35c7ec17b4a9.js\"],\"component---src-pages-company-esg-social-js\":[\"/component---src-pages-company-esg-social-js-9868eda09ed5ca72f0ad.js\"],\"component---src-pages-company-events-js\":[\"/component---src-pages-company-events-js-1dfdc4aada30fbdca2f4.js\"],\"component---src-pages-company-mdx\":[\"/component---src-pages-company-mdx-d05d3694e69375aa51af.js\"],\"component---src-pages-company-partners-become-a-partner-js\":[\"/component---src-pages-company-partners-become-a-partner-js-7f7e51671082cee5b7fa.js\"],\"component---src-pages-company-partners-js\":[\"/component---src-pages-company-partners-js-07446e28fff4c406fc54.js\"],\"component---src-pages-contact-js\":[\"/component---src-pages-contact-js-25916b1e18c854ed6798.js\"],\"component---src-pages-contact-thank-you-js\":[\"/component---src-pages-contact-thank-you-js-599a59c62fd09e637745.js\"],\"component---src-pages-curity-axiomatics-london-meetup-thank-you-js\":[\"/component---src-pages-curity-axiomatics-london-meetup-thank-you-js-5d53c3cb0141437526f4.js\"],\"component---src-pages-curity-security-breakfast-brussels-thank-you-js\":[\"/component---src-pages-curity-security-breakfast-brussels-thank-you-js-ef672821059ee1a5d11a.js\"],\"component---src-pages-curity-security-breakfast-copenhagen-thank-you-js\":[\"/component---src-pages-curity-security-breakfast-copenhagen-thank-you-js-2f4bf4a83c91b40ddcc0.js\"],\"component---src-pages-docs-js\":[\"/component---src-pages-docs-js-7c0de3f37b7a89973181.js\"],\"component---src-pages-faq-js\":[\"/component---src-pages-faq-js-93fe02f07b3a983ec96f.js\"],\"component---src-pages-feeds-mdx\":[\"/component---src-pages-feeds-mdx-a28462c35b9158c8ad95.js\"],\"component---src-pages-gartner-iam-js\":[\"/component---src-pages-gartner-iam-js-c1faf2333d35aebee66f.js\"],\"component---src-pages-gartner-iam-us-js\":[\"/component---src-pages-gartner-iam-us-js-c0f234e91932f531dcb6.js\"],\"component---src-pages-gartner-iam-us-thank-you-js\":[\"/component---src-pages-gartner-iam-us-thank-you-js-5b29475be8253ba2d2f2.js\"],\"component---src-pages-gartner-marketing-mdx\":[\"/component---src-pages-gartner-marketing-mdx-a086fe6365928b550878.js\"],\"component---src-pages-identiverse-js\":[\"/component---src-pages-identiverse-js-133ed8a0feaa3f7f3353.js\"],\"component---src-pages-idp-mdx\":[\"/component---src-pages-idp-mdx-13d71f96f14383e5715a.js\"],\"component---src-pages-index-js\":[\"/component---src-pages-index-js-ac80a119b97013f6a949.js\"],\"component---src-pages-investors-mdx\":[\"/component---src-pages-investors-mdx-d8d154cff04d06ad994e.js\"],\"component---src-pages-legal-call-off-js\":[\"/component---src-pages-legal-call-off-js-fd84902b877d5976b7c2.js\"],\"component---src-pages-legal-js\":[\"/component---src-pages-legal-js-20781c4474d359ba880c.js\"],\"component---src-pages-legal-license-agreement-js\":[\"/component---src-pages-legal-license-agreement-js-efee9ba642a2d093e7ed.js\"],\"component---src-pages-legal-license-agreement-pre-2024-03-25-js\":[\"/component---src-pages-legal-license-agreement-pre-2024-03-25-js-e123f9640ae888144e67.js\"],\"component---src-pages-legal-support-terms-js\":[\"/component---src-pages-legal-support-terms-js-425fc87aba3c015f8b1a.js\"],\"component---src-pages-newsletter-mdx\":[\"/component---src-pages-newsletter-mdx-fdd6dc6ad7e53193354a.js\"],\"component---src-pages-oauth-tools-mdx\":[\"/component---src-pages-oauth-tools-mdx-d8a2afcf0c4d7c5dc163.js\"],\"component---src-pages-open-banking-brazil-js\":[\"/component---src-pages-open-banking-brazil-js-dfe5d6c0caa4e625097b.js\"],\"component---src-pages-open-banking-uk-js\":[\"/component---src-pages-open-banking-uk-js-930e31b84e318588ca2d.js\"],\"component---src-pages-open-banking-us-mdx\":[\"/component---src-pages-open-banking-us-mdx-11d9643fd97376398672.js\"],\"component---src-pages-passkeys-mdx\":[\"/component---src-pages-passkeys-mdx-12193e77858387f482bf.js\"],\"component---src-pages-prizedraw-js\":[\"/component---src-pages-prizedraw-js-f5d463afa9dbb2607fcc.js\"],\"component---src-pages-product-authentication-advanced-authentication-mdx\":[\"/component---src-pages-product-authentication-advanced-authentication-mdx-92711a564808e24e523c.js\"],\"component---src-pages-product-authentication-mdx\":[\"/component---src-pages-product-authentication-mdx-b182911505654159f7d7.js\"],\"component---src-pages-product-authentication-passwordless-authentication-mdx\":[\"/component---src-pages-product-authentication-passwordless-authentication-mdx-8aa70dc0b68475c13ee4.js\"],\"component---src-pages-product-authentication-service-mdx\":[\"/component---src-pages-product-authentication-service-mdx-ea118727cb5c47999558.js\"],\"component---src-pages-product-authentication-service-ways-to-authenticate-mdx\":[\"/component---src-pages-product-authentication-service-ways-to-authenticate-mdx-f5973631194b31581f40.js\"],\"component---src-pages-product-authentication-sso-mfa-and-social-logins-mdx\":[\"/component---src-pages-product-authentication-sso-mfa-and-social-logins-mdx-5e2900cbd257ff0b3e25.js\"],\"component---src-pages-product-community-mdx\":[\"/component---src-pages-product-community-mdx-152ae77005a1990ac3f6.js\"],\"component---src-pages-product-decentralized-identity-mdx\":[\"/component---src-pages-product-decentralized-identity-mdx-b19683bcdbef0c15fd8b.js\"],\"component---src-pages-product-decentralized-identity-verifiable-credentials-mdx\":[\"/component---src-pages-product-decentralized-identity-verifiable-credentials-mdx-12d657a07d2c12287d77.js\"],\"component---src-pages-product-decentralized-identity-wallet-mdx\":[\"/component---src-pages-product-decentralized-identity-wallet-mdx-6bb02b2b005154aece42.js\"],\"component---src-pages-product-deployment-mdx\":[\"/component---src-pages-product-deployment-mdx-f79f8e25a8ae27fc1621.js\"],\"component---src-pages-product-deployment-multi-region-mdx\":[\"/component---src-pages-product-deployment-multi-region-mdx-5fcaa43a7ca281f86ef8.js\"],\"component---src-pages-product-deployment-multi-tenancy-mdx\":[\"/component---src-pages-product-deployment-multi-tenancy-mdx-cd2aa86d446c433ff332.js\"],\"component---src-pages-product-devops-and-secops-alarms-mdx\":[\"/component---src-pages-product-devops-and-secops-alarms-mdx-6b75b800b8268b3d8166.js\"],\"component---src-pages-product-devops-and-secops-alarms-pagerduty-alarm-handling-mdx\":[\"/component---src-pages-product-devops-and-secops-alarms-pagerduty-alarm-handling-mdx-4a49219efde347dc91f7.js\"],\"component---src-pages-product-devops-and-secops-configuration-mdx\":[\"/component---src-pages-product-devops-and-secops-configuration-mdx-189ded6388ca6ded38a5.js\"],\"component---src-pages-product-devops-and-secops-devops-dashboard-mdx\":[\"/component---src-pages-product-devops-and-secops-devops-dashboard-mdx-1edf445e5615ad7400f7.js\"],\"component---src-pages-product-devops-and-secops-mdx\":[\"/component---src-pages-product-devops-and-secops-mdx-f0bc0bc840b3ef1ef61a.js\"],\"component---src-pages-product-devops-and-secops-monitoring-and-metrics-mdx\":[\"/component---src-pages-product-devops-and-secops-monitoring-and-metrics-mdx-602bdfbf2f4805c8fcd3.js\"],\"component---src-pages-product-extensibility-and-sdks-mdx\":[\"/component---src-pages-product-extensibility-and-sdks-mdx-3fb1824e7a1314b507bb.js\"],\"component---src-pages-product-financial-grade-package-mdx\":[\"/component---src-pages-product-financial-grade-package-mdx-7f983b3559385155de29.js\"],\"component---src-pages-product-identity-standards-conformance-mdx\":[\"/component---src-pages-product-identity-standards-conformance-mdx-c89fc2b59abb6b29cc73.js\"],\"component---src-pages-product-identity-standards-mdx\":[\"/component---src-pages-product-identity-standards-mdx-6e4db02379e6cba89df9.js\"],\"component---src-pages-product-mdx\":[\"/component---src-pages-product-mdx-c8f91370d867100283a3.js\"],\"component---src-pages-product-plans-mdx\":[\"/component---src-pages-product-plans-mdx-dc7b4f0853e8b1723475.js\"],\"component---src-pages-product-secure-access-api-access-control-mdx\":[\"/component---src-pages-product-secure-access-api-access-control-mdx-1629dc3f5012ee95fca4.js\"],\"component---src-pages-product-secure-access-customer-iam-mdx\":[\"/component---src-pages-product-secure-access-customer-iam-mdx-d71ccebc9f41a034f797.js\"],\"component---src-pages-product-secure-access-high-grade-api-security-mdx\":[\"/component---src-pages-product-secure-access-high-grade-api-security-mdx-10a0f653cf0f83c4b658.js\"],\"component---src-pages-product-secure-access-mdx\":[\"/component---src-pages-product-secure-access-mdx-b09b55418881fe3ff705.js\"],\"component---src-pages-product-secure-access-spa-security-mdx\":[\"/component---src-pages-product-secure-access-spa-security-mdx-c320d75fae05a59d5a49.js\"],\"component---src-pages-product-token-handler-mdx\":[\"/component---src-pages-product-token-handler-mdx-8e377d8fd6ace70ace5b.js\"],\"component---src-pages-product-token-service-mdx\":[\"/component---src-pages-product-token-service-mdx-de08a30ee0c5db26a1cc.js\"],\"component---src-pages-product-user-journey-orchestration-actions-mdx\":[\"/component---src-pages-product-user-journey-orchestration-actions-mdx-da699299295af6523d99.js\"],\"component---src-pages-product-user-journey-orchestration-adaptive-authentication-mdx\":[\"/component---src-pages-product-user-journey-orchestration-adaptive-authentication-mdx-caf2e7c0119df050181c.js\"],\"component---src-pages-product-user-journey-orchestration-branding-and-ux-mdx\":[\"/component---src-pages-product-user-journey-orchestration-branding-and-ux-mdx-0f792cad6a01a8fd8e7c.js\"],\"component---src-pages-product-user-journey-orchestration-browserless-login-mdx\":[\"/component---src-pages-product-user-journey-orchestration-browserless-login-mdx-e753331f3efa18667730.js\"],\"component---src-pages-product-user-journey-orchestration-mdx\":[\"/component---src-pages-product-user-journey-orchestration-mdx-864f2594dc9783b9e3cf.js\"],\"component---src-pages-product-user-management-service-databases-mdx\":[\"/component---src-pages-product-user-management-service-databases-mdx-5bc7f06c96241e79ec39.js\"],\"component---src-pages-product-user-management-service-mdx\":[\"/component---src-pages-product-user-management-service-mdx-9871c287823e24b8e978.js\"],\"component---src-pages-resources-articles-mdx\":[\"/component---src-pages-resources-articles-mdx-3bafab266e2f46afa9f0.js\"],\"component---src-pages-resources-code-examples-mdx\":[\"/component---src-pages-resources-code-examples-mdx-3217beb075cbca9d9ee9.js\"],\"component---src-pages-resources-code-examples-status-js\":[\"/component---src-pages-resources-code-examples-status-js-1709f90a2b4091b5616a.js\"],\"component---src-pages-resources-courses-api-security-and-authorization-js\":[\"/component---src-pages-resources-courses-api-security-and-authorization-js-02b69f0f50a473d1a279.js\"],\"component---src-pages-resources-courses-building-an-identity-architecture-js\":[\"/component---src-pages-resources-courses-building-an-identity-architecture-js-ab05a6be9292facf6e84.js\"],\"component---src-pages-resources-courses-deploying-the-curity-identity-server-js\":[\"/component---src-pages-resources-courses-deploying-the-curity-identity-server-js-667f8b698bc9b3b5f323.js\"],\"component---src-pages-resources-courses-getting-started-with-oauth-and-openid-connect-js\":[\"/component---src-pages-resources-courses-getting-started-with-oauth-and-openid-connect-js-b6451ba687760f00d54c.js\"],\"component---src-pages-resources-courses-js\":[\"/component---src-pages-resources-courses-js-9a9491f77316a3141139.js\"],\"component---src-pages-resources-courses-jwt-best-practice-js\":[\"/component---src-pages-resources-courses-jwt-best-practice-js-dbb979a8db6525fba954.js\"],\"component---src-pages-resources-courses-openid-connect-in-detail-js\":[\"/component---src-pages-resources-courses-openid-connect-in-detail-js-8200fb17178e46751130.js\"],\"component---src-pages-resources-documents-js\":[\"/component---src-pages-resources-documents-js-bfe731eb2d10443620c0.js\"],\"component---src-pages-resources-getting-started-mdx\":[\"/component---src-pages-resources-getting-started-mdx-4ef8f174608c566066fa.js\"],\"component---src-pages-resources-guides-mdx\":[\"/component---src-pages-resources-guides-mdx-34b5962578e3ca781536.js\"],\"component---src-pages-resources-how-tos-mdx\":[\"/component---src-pages-resources-how-tos-mdx-9a58b921a833b481aeb8.js\"],\"component---src-pages-resources-mdx\":[\"/component---src-pages-resources-mdx-26ab1d74ed6547566c8e.js\"],\"component---src-pages-resources-topics-js\":[\"/component---src-pages-resources-topics-js-77605f430b935c1b2910.js\"],\"component---src-pages-resources-videos-curity-shorts-js\":[\"/component---src-pages-resources-videos-curity-shorts-js-950cf34f2cf1ad3e0e06.js\"],\"component---src-pages-resources-videos-demos-js\":[\"/component---src-pages-resources-videos-demos-js-cd19a534bcebefe5788f.js\"],\"component---src-pages-resources-videos-developer-how-tos-js\":[\"/component---src-pages-resources-videos-developer-how-tos-js-e18f65d6018704b9ce2f.js\"],\"component---src-pages-resources-videos-js\":[\"/component---src-pages-resources-videos-js-bc47afbfbad6ba4a59df.js\"],\"component---src-pages-resources-videos-live-js\":[\"/component---src-pages-resources-videos-live-js-f376c45479a6a41b8963.js\"],\"component---src-pages-resources-webinars-js\":[\"/component---src-pages-resources-webinars-js-f2a7a2d53c65fd578fd2.js\"],\"component---src-pages-resources-webinars-thank-you-js\":[\"/component---src-pages-resources-webinars-thank-you-js-45340113fd9096a4c299.js\"],\"component---src-pages-resources-whats-new-mdx\":[\"/component---src-pages-resources-whats-new-mdx-6d109cbcb2bde17dc867.js\"],\"component---src-pages-schedule-a-demo-js\":[\"/component---src-pages-schedule-a-demo-js-ec78d65fdf3b769761f2.js\"],\"component---src-pages-schedule-a-meeting-curt-js\":[\"/component---src-pages-schedule-a-meeting-curt-js-4c0bc4a126e713065b1a.js\"],\"component---src-pages-schedule-a-meeting-emea-js\":[\"/component---src-pages-schedule-a-meeting-emea-js-8a9ec4ddc3ef17c8bf35.js\"],\"component---src-pages-schedule-a-meeting-jonas-js\":[\"/component---src-pages-schedule-a-meeting-jonas-js-6f6ccb9a162c62885131.js\"],\"component---src-pages-schedule-a-meeting-js\":[\"/component---src-pages-schedule-a-meeting-js-75eed1ddbb6357325627.js\"],\"component---src-pages-schedule-a-meeting-kay-js\":[\"/component---src-pages-schedule-a-meeting-kay-js-701a7fefbe63ff4bb99d.js\"],\"component---src-pages-schedule-a-meeting-kim-js\":[\"/component---src-pages-schedule-a-meeting-kim-js-bffff324331ce01f29e2.js\"],\"component---src-pages-schedule-a-meeting-us-js\":[\"/component---src-pages-schedule-a-meeting-us-js-a216a2b4a3c4fdf06391.js\"],\"component---src-pages-search-js\":[\"/component---src-pages-search-js-6250db2f52c286073b70.js\"],\"component---src-pages-solutions-common-identity-platform-mdx\":[\"/component---src-pages-solutions-common-identity-platform-mdx-df15b534fdc72e35c80d.js\"],\"component---src-pages-solutions-frictionless-authentication-mdx\":[\"/component---src-pages-solutions-frictionless-authentication-mdx-c1ad57d0f02f34817120.js\"],\"component---src-pages-solutions-identity-for-government-solutions-mdx\":[\"/component---src-pages-solutions-identity-for-government-solutions-mdx-7fc5f6fd13760ea1f316.js\"],\"component---src-pages-solutions-mdx\":[\"/component---src-pages-solutions-mdx-16f62bb7332397058409.js\"],\"component---src-pages-solutions-modernizing-infrastructure-mdx\":[\"/component---src-pages-solutions-modernizing-infrastructure-mdx-ed2e30be34fde9e39341.js\"],\"component---src-pages-solutions-open-banking-and-fapi-mdx\":[\"/component---src-pages-solutions-open-banking-and-fapi-mdx-49ebdfdd1e35347c2707.js\"],\"component---src-pages-solutions-open-banking-and-psd-2-mdx\":[\"/component---src-pages-solutions-open-banking-and-psd-2-mdx-601673f8554b193fd6f0.js\"],\"component---src-pages-solutions-protecting-health-care-mdx\":[\"/component---src-pages-solutions-protecting-health-care-mdx-3ecfb4341e8ca7c5ff2f.js\"],\"component---src-pages-solutions-protecting-telecom-services-mdx\":[\"/component---src-pages-solutions-protecting-telecom-services-mdx-f52d78191ede6cc30616.js\"],\"component---src-pages-solutions-secure-financial-services-mdx\":[\"/component---src-pages-solutions-secure-financial-services-mdx-fe978d5fce01d7c4e957.js\"],\"component---src-pages-solutions-tech-and-saas-security-mdx\":[\"/component---src-pages-solutions-tech-and-saas-security-mdx-7cc2fc2f872308e6e24f.js\"],\"component---src-pages-solutions-zero-trust-mdx\":[\"/component---src-pages-solutions-zero-trust-mdx-98550534c019afa7570e.js\"],\"component---src-pages-support-instant-message-support-mdx\":[\"/component---src-pages-support-instant-message-support-mdx-bd61754eb867f549c8df.js\"],\"component---src-pages-support-js\":[\"/component---src-pages-support-js-1ae72d3d3ec1e8e9493d.js\"],\"component---src-pages-support-professional-services-mdx\":[\"/component---src-pages-support-professional-services-mdx-e213d9526a32c0a7b38d.js\"],\"component---src-pages-terms-of-service-js\":[\"/component---src-pages-terms-of-service-js-c5e0129237a587884f3e.js\"],\"component---src-pages-training-js\":[\"/component---src-pages-training-js-1d4b88adde94e8f4f9fd.js\"],\"component---src-pages-what-analysts-say-mdx\":[\"/component---src-pages-what-analysts-say-mdx-5635a9094cbee78ed14f.js\"],\"component---src-templates-area-js\":[\"/component---src-templates-area-js-7327fe59da0e5e30071e.js\"],\"component---src-templates-blog-author-js\":[\"/component---src-templates-blog-author-js-5116d39532b46ea45797.js\"],\"component---src-templates-blog-js\":[\"/component---src-templates-blog-js-e0a49f41c65190ba981d.js\"],\"component---src-templates-blog-post-js\":[\"/component---src-templates-blog-post-js-8bb8569920dbc06ddbb9.js\"],\"component---src-templates-blog-tag-js\":[\"/component---src-templates-blog-tag-js-fd853a5b82a9feb62fd6.js\"],\"component---src-templates-career-post-js\":[\"/component---src-templates-career-post-js-2f96182b1443907a1b7a.js\"],\"component---src-templates-course-session-js\":[\"/component---src-templates-course-session-js-9a52924049a42836387c.js\"],\"component---src-templates-customer-story-js\":[\"/component---src-templates-customer-story-js-be64153f5b129d345c87.js\"],\"component---src-templates-document-post-js\":[\"/component---src-templates-document-post-js-b3e6277bd6927c73cd3f.js\"],\"component---src-templates-guides-application-type-js\":[\"/component---src-templates-guides-application-type-js-176bb27851dd2fb0df23.js\"],\"component---src-templates-guides-libraries-js\":[\"/component---src-templates-guides-libraries-js-2f1f7b66806834ebee90.js\"],\"component---src-templates-guides-technology-js\":[\"/component---src-templates-guides-technology-js-80a125139ef09acc567b.js\"],\"component---src-templates-landing-page-js\":[\"/component---src-templates-landing-page-js-3723a4847485a68dde33.js\"],\"component---src-templates-news-js\":[\"/component---src-templates-news-js-1ccf0f2c1d2a960fad42.js\"],\"component---src-templates-news-post-js\":[\"/component---src-templates-news-post-js-495f4014fa74e83037a9.js\"],\"component---src-templates-pagegroup-js\":[\"/component---src-templates-pagegroup-js-dd4119707bd68a0009d9.js\"],\"component---src-templates-partner-page-js\":[\"/component---src-templates-partner-page-js-fc6b98f0e4f354488b0d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-api-security-best-practices-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-api-security-best-practices-mdx-0149f4151b21d4aec438.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-identity-in-a-k-8-s-environment-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-identity-in-a-k-8-s-environment-mdx-009982fd9a44ad2427f7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-impersonation-flow-approaches-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-impersonation-flow-approaches-mdx-f4025ddb4a8022fa7934.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-implementing-zero-trust-apis-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-implementing-zero-trust-apis-mdx-63f8c6f6bdfd07763e27.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-jwt-best-practices-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-jwt-best-practices-mdx-8c371cd906ecb753510d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-jwt-signatures-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-jwt-signatures-mdx-2a02e048404e7b16fc14.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-owasp-top-ten-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-owasp-top-ten-mdx-a0f4dc0a374e17f237eb.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-phantom-token-pattern-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-phantom-token-pattern-mdx-33e3adfa8c334452f979.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-self-contained-jwts-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-self-contained-jwts-mdx-8a892ee731fcfa060a51.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-split-token-pattern-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-split-token-pattern-mdx-3fece756c84fb94dac19.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-the-api-security-maturity-model-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-the-api-security-maturity-model-mdx-16bc0a9cb1629dec2809.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-token-sharing-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-token-sharing-mdx-ded1576d01d004e3f1a4.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-zero-trust-api-events-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-api-security-zero-trust-api-events-mdx-67598e701f4aea8d3195.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-banking-curity-and-psd-2-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-banking-curity-and-psd-2-mdx-5c246682ae27d908c773.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-ciam-ciam-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-ciam-ciam-overview-mdx-53112d2e2fc8079d1313.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-ciam-how-ciam-protects-data-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-ciam-how-ciam-protects-data-mdx-8c56c677d8b59cf8b926.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-ciam-iam-vs-ciam-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-ciam-iam-vs-ciam-mdx-ec13a2b9c5515b0762cf.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-centralizing-identity-data-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-centralizing-identity-data-mdx-8cb1758ce4c55e9a2d05.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-claims-best-practices-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-claims-best-practices-mdx-f1a9ff4274641ac778cc.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-default-scopes-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-default-scopes-mdx-32e3db6ab2a48c2c299a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-scope-best-practices-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-scope-best-practices-mdx-0cd0cdcb6d4d096e3a0e.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-scopes-and-how-they-relate-to-claims-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-scopes-and-how-they-relate-to-claims-mdx-5fe71b5de37226a12056.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-scopes-claims-and-the-client-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-scopes-claims-and-the-client-mdx-69758c7bd05b0b8ee929.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-scopes-claims-tokens-and-all-the-things-in-between-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-scopes-claims-tokens-and-all-the-things-in-between-mdx-fc11e0aba1ce26a341de.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-scopes-vs-claims-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-scopes-vs-claims-mdx-8aaab4b4d53089fde0c7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-selective-disclosure-jwt-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-selective-disclosure-jwt-mdx-177e1f55375e9e8f7a63.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-the-relationship-between-consent-and-claims-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-the-relationship-between-consent-and-claims-mdx-e5e34cc127c00de56573.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-using-claims-in-apis-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-using-claims-in-apis-mdx-cd496edcd2e7d627057c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-vectors-of-trust-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-vectors-of-trust-mdx-730ede9d160f6da1067f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-what-are-claims-and-how-they-are-used-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-what-are-claims-and-how-they-are-used-mdx-7f466ba65c4584d49177.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-what-is-a-claims-authority-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-claims-what-is-a-claims-authority-mdx-796669fa2e2f106a2b4f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-nonce-authenticator-pattern-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-nonce-authenticator-pattern-mdx-0507d3ad7ac6721331ee.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-oauth-cookie-best-practices-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-oauth-cookie-best-practices-mdx-a2745b13379eb22bfb53.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-oauth-for-mobile-apps-best-practices-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-oauth-for-mobile-apps-best-practices-mdx-ae34eb1bcae054302d65.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-spa-best-practices-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-spa-best-practices-mdx-59161ae8d3ddc0438a46.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-token-handler-deployment-patterns-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-token-handler-deployment-patterns-mdx-03f410dd798840938bce.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-token-handler-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-client-security-token-handler-overview-mdx-edb48011b5dc304b139d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-alarm-handlers-alarm-integration-plugin-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-alarm-handlers-alarm-integration-plugin-mdx-322e460429f5ddfff80d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-blink-id-scan-action-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-blink-id-scan-action-mdx-c41b711e99fa712d42bc.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-choose-account-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-choose-account-mdx-f8b5ccedb48ce2a967fa.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-debug-attribute-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-debug-attribute-mdx-2e01fa7ccabc37bd5a37.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-iproov-action-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-iproov-action-mdx-6c54143b9ccc7205d418.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-provision-azure-api-management-user-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-provision-azure-api-management-user-mdx-bb076f4f23bdf31038fd.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-provision-kong-dev-portal-user-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-provision-kong-dev-portal-user-mdx-2ad9ae4ac69f62a16685.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-redirect-action-example-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-redirect-action-example-mdx-81da4bd3d74ed81b7a49.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-send-email-action-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-send-email-action-mdx-bd01adcceb9a21f94168.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-time-based-deny-authentication-action-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authentication-actions-time-based-deny-authentication-action-mdx-aa13fc2a9fbf8ce1bf5b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-bitbucket-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-bitbucket-authenticator-mdx-10778f0c7ff3aa8780b6.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-box-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-box-authenticator-mdx-52c1d426f3e5bea09105.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-codeexamples-username-password-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-codeexamples-username-password-authenticator-mdx-9e37979c0da7577b021b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-criipto-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-criipto-authenticator-mdx-5fbe26a1b808855b69a5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-dropbox-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-dropbox-authenticator-mdx-a76ede829426c867b207.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-entrust-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-entrust-authenticator-mdx-c2821e12c4b9f6a0e67d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-freja-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-freja-authenticator-mdx-0665cb5fbd54a8e027d0.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-github-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-github-authenticator-mdx-058ad02a873b416614c9.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-instagram-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-instagram-authenticator-mdx-e1321e2180377d1b66b2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-linkedin-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-linkedin-authenticator-mdx-2ce539f962f627125517.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-nonce-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-nonce-authenticator-mdx-22576cf41684599a02ae.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-recaptcha-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-recaptcha-authenticator-mdx-66d788e7ae92127d21e7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-salesforce-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-salesforce-authenticator-mdx-e68fd068b95e9e4583b9.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-slack-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-slack-authenticator-mdx-e0b4f5167629d0a54402.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-stackexchange-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-stackexchange-authenticator-mdx-52398dafe599508c92c0.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-twitter-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-twitter-authenticator-mdx-479b3ff9bb42030b3c5f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-windows-live-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authenticators-windows-live-authenticator-mdx-7b20689a55e4681c62ca.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authorization-managers-authzen-authorization-manager-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authorization-managers-authzen-authorization-manager-mdx-952c79fb971325e7316c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authorization-managers-opa-authorization-manager-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authorization-managers-opa-authorization-manager-mdx-c5a8e69c3c1055ef2429.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authorization-managers-xacml-authorization-manager-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-authorization-managers-xacml-authorization-manager-mdx-d51892c25db8df7c7dfe.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-claims-providers-salesforce-claims-provider-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-claims-providers-salesforce-claims-provider-mdx-4dc6ac5ef7a90bf609c3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-consentors-example-generic-consentor-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-consentors-example-generic-consentor-mdx-f4ce2921bfeb55e032d7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-data-access-mongo-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-data-access-mongo-mdx-06d73eef927ebf39eb30.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-data-access-pbkdf-2-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-data-access-pbkdf-2-mdx-beca598a30c061daef63.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-data-access-restful-data-access-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-data-access-restful-data-access-mdx-ecfe4edebc270d76de1d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-emailers-restful-emailer-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-emailers-restful-emailer-mdx-7f9d5ca25a0ee322a711.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-emailers-sendgrid-emailer-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-emailers-sendgrid-emailer-mdx-26762de9756b77ea27ac.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-amazon-sqs-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-amazon-sqs-mdx-bb7c4ff4f8f6f578a69f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-apigee-edge-token-publisher-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-apigee-edge-token-publisher-mdx-4ac317f22184c8b7fa24.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-apigee-split-token-publisher-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-apigee-split-token-publisher-mdx-949e3337c1afbe92cdf5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-aws-token-publisher-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-aws-token-publisher-mdx-9e557feafe4a24ad3102.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-client-authentication-attempt-counter-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-client-authentication-attempt-counter-mdx-a2124a4e76f0f6cbc9fe.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-cloudflare-token-publisher-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-event-listeners-cloudflare-token-publisher-mdx-1e568c8545d546102529.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-sms-senders-restful-sender-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-sms-senders-restful-sender-mdx-31093c389bbeea5f40d7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-sms-senders-tele-2-sms-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-sms-senders-tele-2-sms-mdx-cfa9d08a6bf80dcec274.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-token-procedures-long-lived-tokens-on-refresh-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-token-procedures-long-lived-tokens-on-refresh-mdx-9641bc99e383eefd946b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-token-procedures-token-exchange-opaque-to-jwt-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-plugins-token-procedures-token-exchange-opaque-to-jwt-mdx-5d51b616ce04a8c3d59b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-api-jwt-assertions-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-api-jwt-assertions-mdx-57a3a7c94a94c0ee7ec8.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-dotnet-api-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-dotnet-api-mdx-87863f3a7fb755c51b89.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-express-jwt-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-express-jwt-mdx-496585872f441b4fb19c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-go-api-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-go-api-mdx-608caea9e44a87e0161a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-kotlin-api-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-kotlin-api-mdx-e0f1de0cda65f3782182.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-mutual-tls-api-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-mutual-tls-api-mdx-37145abdc42120f16704.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-oauth-filter-for-java-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-oauth-filter-for-java-mdx-0f705f34b7261319e84c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-oauth-filter-for-python-flask-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-oauth-filter-for-python-flask-mdx-e8fe1a5bb3f11dc26a4a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-securing-api-events-using-jwts-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-securing-api-events-using-jwts-mdx-842e4a2867e5a055e134.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-serverless-zero-trust-api-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-serverless-zero-trust-api-mdx-128ba5220bd4c8be81cb.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-serverless-zero-trust-api-on-vercel-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-serverless-zero-trust-api-on-vercel-mdx-e86fec1601b2e2fe4fa3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-spring-boot-api-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-spring-boot-api-mdx-7eb5432b747621cfaf7d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-symfony-api-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-symfony-api-mdx-a7cd43cf2a20ae9ee202.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-testing-zero-trust-apis-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-apis-testing-zero-trust-apis-mdx-8a8490cda7f8ab87bb08.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-clients-mobile-setup-ngrok-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-clients-mobile-setup-ngrok-mdx-e93bf694a1b71cf13497.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-authenticated-dcr-example-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-authenticated-dcr-example-mdx-d2855df05c02706d4960.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-kotlin-android-appauth-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-kotlin-android-appauth-mdx-cf04aa5ed1772397652a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-kotlin-android-haapi-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-kotlin-android-haapi-mdx-b39585266bc80a9eb7cb.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-mobile-web-sso-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-mobile-web-sso-mdx-e475f31fbab1b3218bf2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-swift-ios-appauth-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-swift-ios-appauth-mdx-b5a377ac468228dd6956.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-swift-ios-haapi-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-mobileapps-swift-ios-haapi-mdx-78a0db6fbc20cab8bf6a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-angular-assisted-token-website-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-angular-assisted-token-website-mdx-8ced909bd7de8771fc29.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-javascript-assisted-token-sample-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-javascript-assisted-token-sample-mdx-77d7d7616c428e5860ba.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-javascript-pkce-client-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-javascript-pkce-client-mdx-5bbaa622e30615e5b2a3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-oauth-assistant-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-oauth-assistant-mdx-64396201583412050afa.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-react-assisted-token-website-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-react-assisted-token-website-mdx-84561f39d7803b5d274e.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-react-haapi-demo-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-react-haapi-demo-mdx-9326e593575550afee04.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-token-handler-deployment-example-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-token-handler-deployment-example-mdx-da14fe00a737602c950b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-token-handler-spa-example-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-spas-token-handler-spa-example-mdx-c7bd0cbf560eca2443af.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-dotnet-openid-connect-website-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-dotnet-openid-connect-website-mdx-d37498368b7425ce2509.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-dotnetframework-openid-connect-client-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-dotnetframework-openid-connect-client-mdx-3a6244efbf455ea722d0.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-mitreid-connect-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-mitreid-connect-mdx-a9a58b0e3d697e6a4ec6.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-oidc-java-undertow-pac-4-j-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-oidc-java-undertow-pac-4-j-mdx-45d76ab7b0928ce14b30.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-oidc-node-express-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-oidc-node-express-mdx-997b23f31bfbba4f3045.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-oidc-spring-boot-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-oidc-spring-boot-mdx-1e17c0ded869b00c5e49.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-oidc-spring-boot-mtls-auth-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-oidc-spring-boot-mtls-auth-mdx-e5b9aa7d5333c74db038.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-python-openid-connect-client-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-python-openid-connect-client-mdx-c8e64092de7319f8cefc.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-website-using-encrypted-id-tokens-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-code-examples-writing-websites-website-using-encrypted-id-tokens-mdx-938ef0b60464703f7dfc.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-decentralized-identities-decentralized-identifiers-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-decentralized-identities-decentralized-identifiers-mdx-df9402438bee2e8ce837.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-decentralized-identities-overview-of-decentralized-identities-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-decentralized-identities-overview-of-decentralized-identities-mdx-b1dfe055ae37880904e4.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-decentralized-identities-verifiable-credentials-issuance-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-decentralized-identities-verifiable-credentials-issuance-mdx-c2a6092e792c1490e60a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-decentralized-identities-verifiable-credentials-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-decentralized-identities-verifiable-credentials-mdx-a41eb3597109908324fc.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-dynamic-user-routing-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-dynamic-user-routing-mdx-497051d9b4ef016925cb.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-external-idps-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-external-idps-mdx-8d03a5bbadc6068c90e2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-iam-configuration-best-practices-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-iam-configuration-best-practices-mdx-daf427f93112a8b67f33.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-logging-best-practices-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-logging-best-practices-mdx-743d131d3a48697c3060.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-multi-region-deployment-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-multi-region-deployment-mdx-cee19417d09bb19e4adc.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-oauth-troubleshooting-developers-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-oauth-troubleshooting-developers-mdx-8643ce9bf9d223ec798a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-oauth-troubleshooting-devops-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-deploy-oauth-troubleshooting-devops-mdx-a10e75c9f8ed6b4ec92f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-app-2-app-architecture-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-app-2-app-architecture-mdx-07a2fa27f77345b91ef5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-consentors-in-financial-grade-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-consentors-in-financial-grade-mdx-7451cf3d8869787b5987.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-implement-financial-grade-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-implement-financial-grade-mdx-68252b483cbf9ca44c49.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-obb-dcr-validation-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-obb-dcr-validation-mdx-44f5409ff88fa6be4c9e.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-what-is-financial-grade-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-what-is-financial-grade-mdx-017fb83167c3a6fc2533.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-what-is-open-banking-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-what-is-open-banking-mdx-8b7f1e87ff936f5c3106.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-what-is-psd-2-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-financial-grade-what-is-psd-2-mdx-d37e980f965652043a13.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-authentication-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-authentication-mdx-0115c5beb44abfc9e124.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-availability-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-availability-mdx-93a7aaf5d631ed021cbf.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-data-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-data-mdx-da46502b04f9a5f82613.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-deployment-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-deployment-mdx-0a2637bff1dc0e36bcec.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-overview-mdx-f334d53f3fb107c4430e.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-tokens-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-concepts-concepts-tokens-mdx-0651fbe680e49a99cd31.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-configure-client-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-configure-client-mdx-e9422ccfcdd012ec5224.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-first-config-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-first-config-mdx-dcf8c9170948309598d1.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-getting-started-summary-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-getting-started-summary-mdx-c108f7a4118d04d06802.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-install-curity-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-install-curity-mdx-81f5f807dedb32c9e916.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-install-helm-chart-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-install-helm-chart-mdx-105709146c15f563c6bd.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-install-on-azure-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-install-on-azure-mdx-6b56b201e227f42cea74.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-install-on-gcp-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-install-on-gcp-mdx-7143e6dc1fd726eb5ddf.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-run-curity-aws-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-run-curity-aws-mdx-260bf110d99342f3bf84.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-run-curity-docker-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-setup-run-curity-docker-mdx-79f44b478debf70829cb.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tokenhandler-token-handler-first-configuration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tokenhandler-token-handler-first-configuration-mdx-70b4b1478beccf888adb.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tokenhandler-token-handler-getting-started-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tokenhandler-token-handler-getting-started-mdx-f3178f539e7cda9fcb22.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tokenhandler-token-handler-integrate-gateway-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tokenhandler-token-handler-integrate-gateway-mdx-1b1f19b41b1cf1c4bfd5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tokenhandler-token-handler-integrate-spa-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tokenhandler-token-handler-integrate-spa-mdx-84991d1f35d02acec97c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tokenhandler-token-handler-summary-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tokenhandler-token-handler-summary-mdx-c7c5b63c94a44c0d563a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tryit-test-using-curl-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tryit-test-using-curl-mdx-1542113c1a26f404d2d7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tryit-test-using-oauth-assistant-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tryit-test-using-oauth-assistant-mdx-371d702ca4153b07883b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tryit-test-using-oauth-tools-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-tryit-test-using-oauth-tools-mdx-94e8b27bf676b47402a9.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-username-password-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-getting-started-username-password-authenticator-mdx-f4de2b1f95ca44f94b9a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-haapi-mobile-fallback-attestation-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-haapi-mobile-fallback-attestation-mdx-d19e2d1e70c269cbc98c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-haapi-what-is-hypermedia-authentication-api-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-haapi-what-is-hypermedia-authentication-api-mdx-74c913c08a234f25c40d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-ciba-tutorial-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-ciba-tutorial-mdx-fc717d633acd6751e570.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-dcr-validation-in-pre-processing-procedure-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-dcr-validation-in-pre-processing-procedure-mdx-8e4ce172b473cda3a406.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-jar-tutorial-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-jar-tutorial-mdx-ead4e2debddd8ff2649d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-jarm-tutorial-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-jarm-tutorial-mdx-0f3f1bdf62e5c60d741b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-jwt-assertion-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-jwt-assertion-mdx-a6efd694bb098f1ca48d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-non-templatized-dcr-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-non-templatized-dcr-mdx-91a03a22400418f34df2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-oauth-entitlements-in-introspection-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-oauth-entitlements-in-introspection-mdx-8ddc7e71ff605a7d7069.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-par-tutorial-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-par-tutorial-mdx-150cf67f020d1b4f3d0d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-pkce-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-pkce-mdx-1d3a39a79d32d0b0016b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-ppid-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-ppid-mdx-8479db0e2029839a3534.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-san-in-mtls-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-san-in-mtls-mdx-b0550c9e8ab99a2ecd50.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-service-mesh-mtls-client-credentials-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-service-mesh-mtls-client-credentials-mdx-5cbe7dd68ced1394527b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-templatized-dcr-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-advanced-templatized-dcr-mdx-cb28133a2035f1ad1a08.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-cloud-user-routing-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-cloud-user-routing-mdx-225e53fffd5a8445aa3d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-cloudflare-dynamic-user-routing-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-cloudflare-dynamic-user-routing-mdx-1398f40ad47f6cde98e1.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-curity-opa-kong-api-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-curity-opa-kong-api-mdx-92c315446851d35d4092.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-kong-user-routing-plugin-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-kong-user-routing-plugin-mdx-1c85b5f8a261fa7188ff.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-nginx-obb-dcr-validation-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-nginx-obb-dcr-validation-mdx-73cc9621051f5b007cc8.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-nginx-user-routing-plugin-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-advanced-nginx-user-routing-plugin-mdx-d5543a29546303fdd32c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-aws-oauth-proxy-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-aws-oauth-proxy-mdx-3b28c51b523eb2cf6171.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-azure-api-management-oauth-proxy-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-azure-api-management-oauth-proxy-mdx-aaa4bc8fbd3f4bab125b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-google-apigee-oauth-proxy-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-google-apigee-oauth-proxy-mdx-dec21c1acf40922175bc.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-kong-oauth-proxy-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-kong-oauth-proxy-mdx-2f7623dd0f02733e9fd7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-nginx-oauth-proxy-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-nginx-oauth-proxy-mdx-01d0a2747b5403fe923c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-openresty-oauth-proxy-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-oauth-proxy-openresty-oauth-proxy-mdx-36e4efa71f1fb677fb6a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-apigee-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-apigee-mdx-2dded211adeb98049873.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-aws-phantom-token-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-aws-phantom-token-mdx-a9f1327fb9be017c0c69.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-azure-api-management-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-azure-api-management-mdx-447b58707cbcf28a00f7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-kong-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-kong-mdx-3044c53bc2ee112cb223.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-kong-open-source-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-kong-open-source-mdx-46d245ffba7dad257cbd.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-layer-7-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-layer-7-mdx-ba14d155c2c9f185194a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-openresty-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-openresty-mdx-abe72b33c46b9effc3ef.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-other-phantom-token-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-other-phantom-token-mdx-26e34ecc8bde91e941f0.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-zuplo-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-integration-zuplo-mdx-41400a8e3274005f8c1c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-introspect-with-phantom-token-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-introspect-with-phantom-token-mdx-534e0e4f7f441d1028de.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-nginx-phantom-token-module-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-phantom-token-nginx-phantom-token-module-mdx-58333ec1474c72daad2d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-split-token-cloudflare-split-tokens-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-split-token-cloudflare-split-tokens-mdx-9cceea66120852a8efaa.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-split-token-integration-apigee-split-token-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-split-token-integration-apigee-split-token-mdx-40384ee708243ae648f5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-split-token-integration-aws-split-token-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-api-gateway-split-token-integration-aws-split-token-mdx-693bbdaa7d4466399525.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-account-creation-after-login-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-account-creation-after-login-mdx-78fdfe2f78697974d325.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-account-linking-with-social-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-account-linking-with-social-mdx-774c2bf3748ee9add1f2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-action-bundles-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-action-bundles-mdx-f87519f4de1cdc6a7963.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-add-authentication-action-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-add-authentication-action-mdx-36c4fd33795aec8e3153.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-authentication-actions-example-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-authentication-actions-example-mdx-c604b8cb8037440309c3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-control-authentication-using-actions-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-control-authentication-using-actions-mdx-434145776086435849b0.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-migrating-to-passwordless-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-migrating-to-passwordless-mdx-2c9aa0e046c40d6477b6.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-optin-mfa-howto-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-optin-mfa-howto-mdx-0c9685f5593917f6632d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-scripted-attribute-transformation-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-actions-scripted-attribute-transformation-mdx-2a45684cec4e0423b48f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-application-url-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-application-url-mdx-22b934a3f55ff769cd16.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-authenticate-with-google-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-authenticate-with-google-authenticator-mdx-552e2c9536bf3e8e9492.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-authentication-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-authentication-overview-mdx-ca86db07b4216b8da096.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-beyondidentity-integration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-beyondidentity-integration-mdx-843379d33e457b4359ea.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-connecting-to-saml-idp-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-connecting-to-saml-idp-mdx-d95c122b9e4ea65e1b80.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-dynamic-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-dynamic-authenticator-mdx-5f4e2f04c614bcfb3682.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-geolocation-authenticator-filter-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-geolocation-authenticator-filter-mdx-b2077a81e18abf3d695e.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-integrating-with-bankid-v-6-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-integrating-with-bankid-v-6-mdx-55d6dc41c7973110a4fd.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-norwegian-bankid-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-norwegian-bankid-mdx-8d1828d0da453141ee28.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-oicd-authenticator-azure-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-oicd-authenticator-azure-mdx-b0c9d1d9242403143f21.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-oidc-signicat-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-oidc-signicat-mdx-65c160a539d76b2937c2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-passkeys-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-passkeys-authenticator-mdx-8f1910ad97192f4d7ccf.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-preregister-devices-in-webauthn-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-preregister-devices-in-webauthn-authenticator-mdx-9098a944d0b8ca531742.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-sign-in-with-apple-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-sign-in-with-apple-mdx-c03e2553de3d53f2ac53.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-siths-authentication-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-siths-authentication-mdx-5cab453d0a883cb90612.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-use-azure-ad-for-credential-verification-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-use-azure-ad-for-credential-verification-mdx-9e39daa5cde8c23c3531.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-user-account-lockout-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-user-account-lockout-mdx-0d495f27b3b2092083d1.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-webauthn-authenticator-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-authentication-webauthn-authenticator-mdx-e259bec0123eca166056.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-consent-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-consent-mdx-60ceaccaacdad8b93e74.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-look-and-feel-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-look-and-feel-mdx-64fdf494724d29061d95.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-look-and-feel-simple-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-look-and-feel-simple-mdx-137b7fda91d02250860f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-password-validation-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-password-validation-mdx-6871e1858140c5d1f48d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-recipe-basic-brand-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-recipe-basic-brand-mdx-2b015eb60fbe4819ea0d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-recipe-emails-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-recipe-emails-mdx-0779717ee153ca91a0da.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-recipe-multi-brand-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-customize-recipe-multi-brand-mdx-674a2d7979cbdc7d8643.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-managing-custom-login-screens-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-branding-user-experience-managing-custom-login-screens-mdx-dbcdb329659d7f0b051a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-auto-certificate-renewal-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-auto-certificate-renewal-mdx-9d33b586d76771f711b7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-configuration-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-configuration-overview-mdx-e80fcaf7d8d5999ddf00.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-configure-deployed-environments-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-configure-deployed-environments-mdx-54597112d8088003809f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-curity-crypto-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-curity-crypto-mdx-fc761e0cf7ed4c448a17.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-gitops-configuration-management-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-gitops-configuration-management-mdx-6d305b8b061613b4cadc.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-import-export-config-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-import-export-config-mdx-f782ff679052f197dda4.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-intro-to-cli-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-configuration-intro-to-cli-mdx-a9ca7882d6ee85c7d725.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-decentralized-identities-configure-verifiable-credential-issuance-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-decentralized-identities-configure-verifiable-credential-issuance-mdx-0a11d74d7e0e9a3be809.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-decentralized-identities-pre-authorized-code-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-decentralized-identities-pre-authorized-code-mdx-bbb055b3916a1d302568.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-decentralized-identities-use-verifiable-credentials-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-decentralized-identities-use-verifiable-credentials-mdx-b32cedf5fdb81ee992b7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-clustering-using-aws-cloudformation-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-clustering-using-aws-cloudformation-mdx-d6359eb4ae323933e697.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-clustering-using-docker-compose-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-clustering-using-docker-compose-mdx-40cfcd9b3d1eb4d8d3c9.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-customizing-the-curity-docker-container-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-customizing-the-curity-docker-container-mdx-fe58852092c781f27c5b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-deploy-on-aws-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-deploy-on-aws-mdx-3ed5b45cfd1901f412cf.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-expose-local-curity-ngrok-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-expose-local-curity-ngrok-mdx-5b166de295a6ce41608a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-how-to-deploy-on-azure-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-how-to-deploy-on-azure-mdx-99e10db4c1b04afbb14b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-install-using-aws-cdk-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-install-using-aws-cdk-mdx-424defaa0e8d45a62004.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-intro-to-cluster-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-intro-to-cluster-mdx-a115d37af5383270fb7d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-testing-an-instance-of-curity-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-deploy-testing-an-instance-of-curity-mdx-12f9cfaaad0fdde3f6d0.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-access-rules-in-restconf-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-access-rules-in-restconf-mdx-bdfdc9564495f0a02715.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-admin-access-rules-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-admin-access-rules-mdx-5c62dd8167bdebcbebaa.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-curity-multitenancy-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-curity-multitenancy-mdx-d5cda855d2dad2b3b244.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-devops-dashboard-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-devops-dashboard-mdx-87fbd186a4d15e1cad7c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-dkim-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-dkim-mdx-16e8cbf8c94b6ee86bac.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-endpoints-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-endpoints-mdx-02b73bb78dd38a0567d1.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-federated-login-to-admin-ui-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-federated-login-to-admin-ui-mdx-62b80fdb09babeccf074.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-redirect-uri-policies-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-redirect-uri-policies-mdx-7c6a4ae7f9e7f6b1a606.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-token-signing-key-rotation-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-token-signing-key-rotation-mdx-6544cf5b44fe502ee9ec.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-use-ad-for-admin-users-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-use-ad-for-admin-users-mdx-40ee34e52261288e3baa.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-yubihsm-integration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-devops-administration-yubihsm-integration-mdx-2e0f3dda31ab71d6c6b6.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-external-idps-external-idps-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-external-idps-external-idps-overview-mdx-f96a72291244abc6c76b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-client-credentials-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-client-credentials-mdx-02e3b13ad7354dad05ff.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-code-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-code-flow-mdx-3d23add5b0b9bfdb7973.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-device-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-device-flow-mdx-520aa12e464983a5bab7.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-hybrid-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-hybrid-flow-mdx-770af69bbca78303a792.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-implicit-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-implicit-flow-mdx-0c2bc8c3d56bf9718d63.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-refresh-tokens-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-refresh-tokens-mdx-769033a0978ca5b6d0e3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-revoke-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-revoke-mdx-247ffd49fa6ff680ea57.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-ropc-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-ropc-mdx-617563931aa0160d78e2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-user-consent-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-flows-user-consent-mdx-878834b5d44fe0c77a2f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-setup-api-driven-demo-client-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-setup-api-driven-demo-client-mdx-ffca3d08fd03e107d5b6.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-setup-authentication-api-android-sdk-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-setup-authentication-api-android-sdk-mdx-6819dea8a17bc3f1bf16.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-setup-authentication-api-ios-sdk-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-setup-authentication-api-ios-sdk-mdx-0f3c101a7edbdc1b4372.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-setup-mobile-logins-using-native-passkeys-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-setup-mobile-logins-using-native-passkeys-mdx-438b590727b8ee260991.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-app-2-app-via-hypermedia-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-app-2-app-via-hypermedia-mdx-1935e5c17d5a9b412c9a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-advanced-authentication-flows-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-advanced-authentication-flows-mdx-b8da0b474d1d9fe04070.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-android-customization-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-android-customization-mdx-1cccb0c497820d8e42a4.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-android-integration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-android-integration-mdx-8635951fad62e69043d3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-ios-customization-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-ios-customization-mdx-9a4a56e090305662223f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-ios-integration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-ios-integration-mdx-48b6706f9b347b50dc28.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-security-lifecycle-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-security-lifecycle-mdx-053055274dd0f525e4c5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-username-password-flows-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-haapi-mobile-username-password-flows-mdx-113b5dc197b9d3232f86.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-implementing-haapi-fallback-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-haapi-ui-sdk-implementing-haapi-fallback-mdx-700ca1d99d82f1c11b0d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-apache-mod-auth-openidc-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-apache-mod-auth-openidc-mdx-d528b288283295ec07a4.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-azuread-integration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-azuread-integration-mdx-797ca37e1f174c20b589.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-idp-in-cloudflare-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-idp-in-cloudflare-mdx-784b63d9136d8406f5ed.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-integration-tyk-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-integration-tyk-mdx-eb413d3aee03f18362de.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-jetty-opeind-module-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-jetty-opeind-module-mdx-82b074a9a57b6b5280b1.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-kong-dev-portal-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-kong-dev-portal-mdx-55e24007e64b4a22ddae.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-mulesoft-anypoint-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-mulesoft-anypoint-mdx-e9824d0acc376e7eeafe.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-salesforce-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-integrations-salesforce-mdx-20370ee5f62c63019475.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-configure-deployments-using-helm-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-configure-deployments-using-helm-mdx-c5c1486e9cbf145a0445.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-integrating-plugins-with-kubernetes-ingress-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-integrating-plugins-with-kubernetes-ingress-mdx-c33e00a52ffff4093803.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-istio-demo-installation-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-istio-demo-installation-mdx-e8bbc2ae230add1a2f52.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-autoscaling-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-autoscaling-mdx-406c32abbcf8877ba06a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-aws-eks-idsvr-deployment-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-aws-eks-idsvr-deployment-mdx-f18929a12674c3a38e31.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-azure-aks-idsvr-deployment-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-azure-aks-idsvr-deployment-mdx-8b529cc91be53560610f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-data-storage-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-data-storage-mdx-488a72556095cea0d4d5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-eks-dynamo-access-irsa-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-eks-dynamo-access-irsa-mdx-aaabd80740aba37c6e0d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-gke-idsvr-kong-phantom-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-gke-idsvr-kong-phantom-mdx-3bf196b57fd02f51e74e.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-ingress-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-kubernetes-ingress-mdx-13673d0d041d65b45e7a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-run-cluster-helm-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-run-cluster-helm-mdx-8ac495236ee5da6968fe.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-using-helm-chart-with-config-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-kubernetes-using-helm-chart-with-config-mdx-07b53b52e41609ce451c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-alarm-pagerduty-integration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-alarm-pagerduty-integration-mdx-06a2137438326c7b07d4.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-cloud-alarm-integration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-cloud-alarm-integration-mdx-6f520e13198b956aafba.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-debug-logging-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-debug-logging-mdx-77aa7ff51e206a0d632b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-grafana-dashboard-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-grafana-dashboard-mdx-24cee5ebfba6b0be03a4.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-health-and-auto-healing-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-health-and-auto-healing-mdx-309aacae0adadf2687d1.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-java-monitoring-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-java-monitoring-overview-mdx-3fe50ca2d0c85199258a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-log-client-ip-to-auditdb-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-log-client-ip-to-auditdb-mdx-dc3c7a3476e159447662.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-log-to-datadog-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-log-to-datadog-mdx-ff2e9954b517f55b9421.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-log-to-elasticsearch-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-log-to-elasticsearch-mdx-4023b2cbabaaee081cc5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-log-to-splunk-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-log-to-splunk-mdx-15e0d9d97fe9314f0d75.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-opentelemetry-tracing-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-opentelemetry-tracing-mdx-bfc52c04d5aeea2f5a14.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-per-client-debug-logging-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-per-client-debug-logging-mdx-daeee922a4baf4a4a410.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-record-browser-trace-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-logging-monitoring-record-browser-trace-mdx-f449768e410f84672dcf.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-migrations-migrating-from-identityserver-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-migrations-migrating-from-identityserver-mdx-58c78e081a720fbe0a4c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-migrations-migrating-from-keycloak-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-migrations-migrating-from-keycloak-mdx-df95e5f53156711a08a8.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-migrations-migrating-from-spring-security-oauth-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-migrations-migrating-from-spring-security-oauth-mdx-5a95ce3f6baf2441c512.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-right-to-left-kanguage-support-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-right-to-left-kanguage-support-mdx-269d5c2a0948995afd08.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-spa-curity-token-handler-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-spa-curity-token-handler-mdx-7b64ac5b92b3cb4ca56a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-claims-from-authenticated-subject-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-claims-from-authenticated-subject-mdx-009c6b946a7b42a76ec8.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-custom-token-issuer-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-custom-token-issuer-mdx-25bdfa933dc99ec6924d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-impersonation-implementation-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-impersonation-implementation-mdx-de56f3731740cc3dc734.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-implementing-custom-claims-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-implementing-custom-claims-mdx-e17c60cd9de96f7abde4.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-implementing-dynamic-user-routing-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-implementing-dynamic-user-routing-mdx-91d1caf3b575a37c939c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-implementing-token-exchange-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-implementing-token-exchange-mdx-c829c60739e202443943.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-sign-tokens-with-eddsa-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-sign-tokens-with-eddsa-mdx-128cfb292183aab9432b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-token-designer-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-token-designer-mdx-0fe9a5d20c9dbe62aac5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-verified-claims-identity-assurance-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-verified-claims-identity-assurance-mdx-6b56b4840c369f0269bc.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-working-with-claims-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-tokens-and-claims-working-with-claims-mdx-2a6028ca14906e122a44.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-attribute-authorization-manager-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-attribute-authorization-manager-mdx-c38dafbd7af77067cd0d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-devops-dashboard-user-administration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-devops-dashboard-user-administration-mdx-5c760bfeeeb22f621a98.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-email-activation-scim-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-email-activation-scim-mdx-de8e1081e79048f9e0c2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-graphql-client-management-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-graphql-client-management-mdx-d56a7f0370595fa776b3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-graphql-user-management-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-graphql-user-management-mdx-437f9a2b62c82addb89c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-groups-authorization-manager-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-groups-authorization-manager-mdx-d6f1125b97658100754c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-implementing-role-based-security-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-implementing-role-based-security-mdx-c87e8b6b90b0a3458741.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-scope-management-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-scope-management-mdx-09e0f124234ad31415d3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-user-management-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-users-user-management-mdx-61dfffa5d03f1b628935.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-attach-debugger-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-attach-debugger-mdx-34a484f4e58d7322ff03.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-authentication-action-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-authentication-action-mdx-42902682186b1d96194e.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-authentication-plugin-techniques-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-authentication-plugin-techniques-mdx-9be925eb059244a90d48.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-generic-consentor-plugin-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-generic-consentor-plugin-mdx-067906af9518bf1edfd3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-getting-started-authentication-plugins-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-getting-started-authentication-plugins-mdx-7422af8024ee003c4ae0.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-getting-started-plugins-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-getting-started-plugins-mdx-7bef75916a040e546021.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-getting-started-scripting-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-howtos-writing-plugins-getting-started-scripting-mdx-903148e7ba47ac363e79.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-account-linking-recipes-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-account-linking-recipes-mdx-2690cf089a572cdd630d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-approaches-to-mfa-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-approaches-to-mfa-mdx-a4c26f6740a1c76b0f62.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-geolocation-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-geolocation-overview-mdx-88db0595bdf26a991c6d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-impossible-journey-action-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-impossible-journey-action-mdx-4468fa65363ac4cbb1f6.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-introduction-to-mfa-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-introduction-to-mfa-mdx-a4f2e66a40e5e9ba0271.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-mfa-in-curity-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-mfa-in-curity-mdx-7c04e749c9e005d1575f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-new-vs-changed-country-action-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-new-vs-changed-country-action-mdx-bf68250c6c59fcec7955.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-passkeys-design-your-solution-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-passkeys-design-your-solution-mdx-166fd5b057df053d1d75.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-webauthn-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-webauthn-overview-mdx-79ad1224329f7ce3dd9e.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-what-are-passkeys-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-mfa-what-are-passkeys-mdx-afbe6c4176e801f2b9de.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-api-management-system-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-api-management-system-mdx-3dc6779b8ff2869a3150.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-authentication-vs-authorization-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-authentication-vs-authorization-mdx-8da6cda9b72430fb6b63.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-curity-neo-security-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-curity-neo-security-mdx-ae39f07cf677e045d4b1.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-entitlement-management-system-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-entitlement-management-system-mdx-35a5762a8dd7c0eb6c97.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-fips-201-3-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-fips-201-3-mdx-1dbab0f852bda234e7e5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-glossary-of-identity-management-terms-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-glossary-of-identity-management-terms-mdx-ef06d2a47aea79c29752.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-iam-primer-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-iam-primer-mdx-351cdcb68c04d5ad6735.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-identity-management-system-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-identity-management-system-mdx-36b20b55e6948744e5e2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-integrate-identity-business-data-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-integrate-identity-business-data-mdx-9f65f4737754ea621b7d.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-introduction-identity-and-access-management-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-introduction-identity-and-access-management-mdx-6ff9fb9b63706eb76ada.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-opa-integration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-opa-integration-mdx-21bd141398cbd0d7d4bb.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-privacy-and-gdpr-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-privacy-and-gdpr-mdx-07ab8e4088275dcb210b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-the-token-handler-pattern-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-the-token-handler-pattern-mdx-229cd659c1671547eb3f.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-what-is-neosecurity-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-what-is-neosecurity-mdx-6fea9297d7c3d63d92b9.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-zero-trust-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-neo-security-zero-trust-overview-mdx-7f2fb14dfea4fb883e77.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-client-assertions-jwks-uri-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-client-assertions-jwks-uri-mdx-04bbc99b96dfb9041d81.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-dpop-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-dpop-overview-mdx-ebc8f39836e5ebdeeeeb.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-certificate-bound-access-token-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-certificate-bound-access-token-mdx-e356c6d6bdbadbd0c38b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-client-authentication-mutual-tls-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-client-authentication-mutual-tls-mdx-4bdf36c3cac83d6fb13c.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-client-credentials-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-client-credentials-flow-mdx-090e569b7156550971b6.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-code-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-code-flow-mdx-4679793b7520e75ea964.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-device-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-device-flow-mdx-63b66c98b6b4f6b6d9b5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-implicit-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-implicit-flow-mdx-904eb19b8d83556c4cb3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-overview-mdx-6d95ef0021aa375eac40.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-pkce-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-pkce-mdx-40330ca5035f95724d82.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-refresh-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-refresh-mdx-fad20e047e4046b2c703.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-resource-owner-password-credential-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-resource-owner-password-credential-flow-mdx-9db739517d6ee0615c40.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-revoke-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-revoke-mdx-5cb6993c66b9353641b2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-supported-standards-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-oauth-supported-standards-mdx-42fca70f883b880f3dc3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-pushed-authorization-requests-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-pushed-authorization-requests-mdx-38980cf263659651a958.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-token-exchange-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-oauth-token-exchange-flow-mdx-3141eb9b71aa175e2f55.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-ciba-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-ciba-flow-mdx-ce56caf027899a236d26.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-client-initiated-backchannel-authentication-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-client-initiated-backchannel-authentication-mdx-25b33b29e09999bada83.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-device-flow-vs-ciba-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-device-flow-vs-ciba-mdx-d0d2c7fb1c5a084c64d5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-dynamic-client-registration-authentication-methods-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-dynamic-client-registration-authentication-methods-mdx-02cbf4acf891529b9279.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-dynamic-client-registration-management-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-dynamic-client-registration-management-mdx-aabdf649dd900df24c1b.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-encrypted-id-tokens-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-encrypted-id-tokens-mdx-52697626c153466d267a.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-jwt-secured-authorization-response-mode-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-jwt-secured-authorization-response-mode-mdx-cd2d8e6dce533c2ad747.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-oauth-hybrid-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-oauth-hybrid-flow-mdx-01276ec9717755b36179.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-openid-code-flow-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-openid-code-flow-mdx-172d7ac2e68bf2d186c3.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-openid-connect-logout-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-openid-connect-logout-mdx-fdb41c05d23fcce1d4dc.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-openid-connect-overview-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-openid-connect-overview-mdx-96ca6e50e9574d3fc2ef.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-openid-connect-standards-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-openid-connect-standards-mdx-1a58d5c15647d010b3f1.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-openid-connect-understanding-dcr-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-openid-connect-understanding-dcr-mdx-bb4f5a4548fc55ddcb44.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-ppid-intro-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-ppid-intro-mdx-e32d1a97d37bc76e2934.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-signed-request-object-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-signed-request-object-mdx-d41b3f176a5cf1f5831e.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-using-dynamic-client-registration-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-using-dynamic-client-registration-mdx-6a0b1732e599831a9607.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-validating-an-id-token-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-openid-connect-validating-an-id-token-mdx-da0623ac9be1e585ada6.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-administrative-management-of-sso-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-administrative-management-of-sso-mdx-dc15ce1a1987c9b3144e.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-prompting-for-login-during-sso-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-prompting-for-login-during-sso-mdx-556020ff0a224f0034ad.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-sessions-and-sso-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-sessions-and-sso-mdx-53242638c34607100f65.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-single-sign-on-introduction-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-single-sign-on-introduction-mdx-5a0ba0c6f67dde3626b5.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-sso-and-authentication-methods-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-sso-and-authentication-methods-mdx-9b8b29ca7533a1512d47.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-sso-for-mobile-apps-with-openid-connect-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-sso-for-mobile-apps-with-openid-connect-mdx-b4b5ba86dcd38f6916a2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-sso-for-web-with-openid-connect-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-sso-for-web-with-openid-connect-mdx-59d12461af836aa3d4e6.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-web-client-sso-with-openid-connect-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-sso-web-client-sso-with-openid-connect-mdx-380dd3d53893ddd192a2.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-user-management-managing-users-with-scim-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-user-management-managing-users-with-scim-mdx-3b75d4ce44757daaa220.js\"],\"component---src-templates-resource-article-js-content-file-path-src-resource-pages-user-management-user-provisioning-with-scim-mdx\":[\"/component---src-templates-resource-article-js-content-file-path-src-resource-pages-user-management-user-provisioning-with-scim-mdx-f3eb8df638db6164cfdf.js\"],\"component---src-templates-topic-js\":[\"/component---src-templates-topic-js-f20eeca69d04817a6a48.js\"],\"component---src-templates-training-course-js\":[\"/component---src-templates-training-course-js-05fa0e0497f5fb0695e5.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-admin-ui-admin-ui-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-admin-ui-admin-ui-mdx-dae5a0a48c404065a431.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-admin-ui-quiz-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-admin-ui-quiz-mdx-769d6860f57bc8e93af6.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-basic-setup-basic-setup-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-basic-setup-basic-setup-mdx-4255f1c9ba76c96b2bb8.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-basic-setup-first-config-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-basic-setup-first-config-mdx-a4e1072b85d95e6782de.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-basic-setup-quiz-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-basic-setup-quiz-mdx-acff789b7e41885a00d3.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-basic-setup-run-curity-in-docker-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-basic-setup-run-curity-in-docker-mdx-64862582c4086b50ca74.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-configuration-management-configuration-management-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-configuration-management-configuration-management-mdx-800848c7d9eaafb92916.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-configuration-management-quiz-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-configuration-management-quiz-mdx-c9082b37924b28cea9e4.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-an-overview-of-oauth-tools-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-an-overview-of-oauth-tools-mdx-61abe424717ec15b2b3f.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-configure-authenticator-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-configure-authenticator-mdx-9241af24de142c89b0d9.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-configure-client-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-configure-client-mdx-ecfb35c374996db2bc0c.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-expose-curity-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-expose-curity-mdx-91ad824c01a7ddb20288.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-quiz-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-quiz-mdx-2c38434d7bd94a4d29a2.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-test-with-oauth-tools-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-test-with-oauth-tools-mdx-08b19dc8b9e926030149.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-testing-with-oauth-tools-introduction-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-oauth-tools-testing-with-oauth-tools-introduction-mdx-166b234764df24c39031.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-scim-quiz-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-scim-quiz-mdx-b1d36e7aa263d44607e9.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-scim-scim-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-scim-scim-mdx-b43bcf2db481e1c3a108.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-sdks-plugin-types-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-sdks-plugin-types-mdx-c223c8a73d38d6b4aa2d.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-sdks-quiz-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-sdks-quiz-mdx-ec80869840f2d04e2ee4.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-sdks-sdks-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-sdks-sdks-mdx-de80b4cf0b8cf007d491.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-the-phantom-token-flow-configuring-the-phantom-token-flow-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-the-phantom-token-flow-configuring-the-phantom-token-flow-mdx-7d87089cb9642587a407.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-the-phantom-token-flow-quiz-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-the-phantom-token-flow-quiz-mdx-cc005b8e101114003027.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-the-phantom-token-flow-the-phantom-token-flow-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-the-phantom-token-flow-the-phantom-token-flow-mdx-6ba3fb48abf86243d04e.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-token-issuance-how-to-configure-claims-in-tokens-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-token-issuance-how-to-configure-claims-in-tokens-mdx-1291893089d976c9fc21.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-token-issuance-quiz-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-token-issuance-quiz-mdx-1a5aec48b5e7f101ac5d.js\"],\"component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-token-issuance-token-issuance-introduction-to-claims-and-scopes-mdx\":[\"/component---src-templates-training-course-lesson-js-content-file-path-src-training-pages-getting-started-token-issuance-token-issuance-introduction-to-claims-and-scopes-mdx-f1642bd22a5bda7a785d.js\"],\"component---src-templates-video-post-js\":[\"/component---src-templates-video-post-js-1c37bf134e679c2fcead.js\"],\"component---src-templates-webinar-post-js\":[\"/component---src-templates-webinar-post-js-a2ae4d7b96ee99b1cf58.js\"],\"component---src-templates-words-from-our-team-interview-js\":[\"/component---src-templates-words-from-our-team-interview-js-97f8f9d38ee255a547b8.js\"]}"; </script> <script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c">window.___webpackCompilationHash="b458c44fbea6756b0822";</script><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" src="/webpack-runtime-bb5d979c9823283f954b.js" async></script><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" src="/framework-5c1f871675084696828a.js" async></script><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" src="/aaa5778d-67b727b774f26a800c9c.js" async></script><script nonce="7ca0d5ea5969a6d44f4fc8a44e2adf4c" src="/app-ffbe0d88165d31bb85ac.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10