@charset "UTF-8";
    .ipl-mb-sm {
    margin-bottom: 1rem;
}
input:not([disabled]):focus, input:not([disabled]) .mouse-focus, textarea:not([disabled]):focus, textarea:not([disabled]) .mouse-focus {
    box-shadow: inset 0 0 2px 1px #0b0c0c26;
    border-color: #007eb0;
    -webkit-transition: all .1s ease 0ms;
    -moz-transition: all .1s ease 0ms;
    -ms-transition: all .1s ease 0ms;
    -o-transition: all .1s ease 0ms;
}
input:not([disabled]).keyboard-focus, textarea:not([disabled]).keyboard-focus {
    outline: 3px solid #FFDD00;
    border-color: #0b0c0c;
}
button:focus:focus:not(:focus-visible), button:focus-visible:focus:not(:focus-visible), select:focus:focus:not(:focus-visible), select:focus-visible:focus:not(:focus-visible), iframe:focus:focus:not(:focus-visible), iframe:focus-visible:focus:not(:focus-visible), [href]:focus:focus:not(:focus-visible), [href]:focus-visible:focus:not(:focus-visible), [tabindex]:focus:focus:not(:focus-visible), [tabindex]:focus-visible:focus:not(:focus-visible) {
    outline: none;
}
button:focus:focus-visible, button:focus-visible:focus-visible, select:focus:focus-visible, select:focus-visible:focus-visible, iframe:focus:focus-visible, iframe:focus-visible:focus-visible, [href]:focus:focus-visible, [href]:focus-visible:focus-visible, [tabindex]:focus:focus-visible, [tabindex]:focus-visible:focus-visible {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    outline: 3px solid rgba(0, 0, 0, 0);
    box-shadow: 0 -2px #fd0, 0 4px #0b0c0c;
    border-color: #fd0;
    background-color: #fd0;
    color: #0b0c0c;
    text-decoration: none;
}
button.keyboard-focus, select.keyboard-focus, iframe.keyboard-focus, [href].keyboard-focus, [tabindex].keyboard-focus {
    outline: 3px solid #FFDD00;
    border-color: #0b0c0c;
}
@font-face {
    font-family: Ubuntu;
    src: url(../images/landing/fonts/Ubuntu/Ubuntu-Light.woff2) format("woff2"), url(../images/landing/fonts/Ubuntu/Ubuntu-Light.woff) format("woff");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: Ubuntu;
    src: url(../images/landing/fonts/Ubuntu/Ubuntu-LightItalic.woff2) format("woff2"), url(../images/landing/fonts/Ubuntu/Ubuntu-LightItalic.woff) format("woff");
    font-style: italic;
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: Ubuntu;
    src: url(../images/landing/fonts/Ubuntu/Ubuntu-Regular.woff2) format("woff2"), url(../images/landing/fonts/Ubuntu/Ubuntu-Regular.woff) format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: Ubuntu;
    src: url(../images/landing/fonts/Ubuntu/Ubuntu-Italic.woff2) format("woff2"), url(../images/landing/fonts/Ubuntu/Ubuntu-Italic.woff) format("woff");
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: Ubuntu;
    src: url(../images/landing/fonts/Ubuntu/Ubuntu-Bold.woff2) format("woff2"), url(../images/landing/fonts/Ubuntu/Ubuntu-Bold.woff) format("woff");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: Ubuntu;
    src: url(../images/landing/fonts/Ubuntu/Ubuntu-BoldItalic.woff2) format("woff2"), url(../images/landing/fonts/Ubuntu/Ubuntu-BoldItalic.woff) format("woff");
    font-style: italic;
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: OpenSans;
    src: url(../images/landing/fonts/OpenSans/OpenSans-Light.woff2) format("woff2"), url(../images/landing/fonts/OpenSans/OpenSans-Light.woff) format("woff");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: OpenSans;
    src: url(../images/landing/fonts/OpenSans/OpenSans-LightItalic.woff2) format("woff2"), url(../images/landing/fonts/OpenSans/OpenSans-LightItalic.woff) format("woff");
    font-style: italic;
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: OpenSans;
    src: url(../images/landing/fonts/OpenSans/OpenSans-Regular.woff2) format("woff2"), url(../images/landing/fonts/OpenSans/OpenSans-Regular.woff) format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: OpenSans;
    src: url(../images/landing/fonts/OpenSans/OpenSans-Italic.woff2) format("woff2"), url(../images/landing/fonts/OpenSans/OpenSans-Italic.woff) format("woff");
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: OpenSans;
    src: url(../images/landing/fonts/OpenSans/OpenSans-Bold.woff2) format("woff2"), url(../images/landing/fonts/OpenSans/OpenSans-Bold.woff) format("woff");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: OpenSans;
    src: url(../images/landing/fonts/OpenSans/OpenSans-BoldItalic.woff2) format("woff2"), url(../images/landing/fonts/OpenSans/OpenSans-BoldItalic.woff) format("woff");
    font-style: italic;
    font-weight: 700;
    font-display: swap;
}
.title {
    font-family: Ubuntu, Tahoma, "sans-serif";
    font-weight: 700;
}
.content {
    font-family: OpenSans, Arial, "sans-serif";
    font-weight: 400;
}
html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}
html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%}
body {
    margin: 0;
    padding: 0;
}
main {
    display: block;
}
h1 {
    font-size: 2em;
    margin: .67em 0;
}
a {
    background-color: transparent;
}
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}
b, strong {
    font-weight: bolder;
}
code {
    font-family: monospace, monospace;
    font-size: 1em;
}
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
img {
    border-style: none;
}
button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}
button, input {
    overflow: visible;
}
button, select {
    text-transform: none;
}
button, [type=button], [type=reset], [type=submit] {
    -webkit-appearance: button;
}
button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText;
}
fieldset {
    padding: .35em .75em .625em;
}
progress {
    vertical-align: baseline;
}
textarea {
    overflow: auto;
}
[type=checkbox], [type=radio] {
    box-sizing: border-box;
    padding: 0;
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto;
}
[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}
details {
    display: block;
}
summary {
    display: list-item;
}
template {
    display: none;
}
[hidden] {
    display: none;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, abbr, code, em, img, q, s, strong, sup, var, b, u, i, center, dd, ol, ul, li, fieldset, form, label, table, tbody, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, nav, output, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}
li>ol, li>ul {
    margin-bottom: 0;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
fieldset {
    min-width: 0;
    border: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
    display: block;
}
body {
    line-height: 1.5;
}
ol, ul {
    list-style: none;
}
q {
    quotes: none;
}
q:before, q:after {
    content: "";
    content: none;
}
h1, h2, h3, h4, h5, h6, p, ol, ul, figure, table, fieldset {
    margin-bottom: 1rem;
}
dd, ol, ul {
    margin-left: 1rem;
}
.ipl-callout {
    align-items: center;
    background-color: #fff;
    border-left: .5rem solid #C1CFC8;
    display: flex;
    margin: 1.5rem 0 1.25rem;
    max-width: 75ch;
    padding: 1.25rem;
}
@media (min-width: 48em) {
    .ipl-callout {
    margin-bottom: 1.25rem;
}
}.ipl-callout .ipl-icon {
    display: inline-flex;
    font-size: 2rem;
    margin-right: 1.25rem;
}
.ipl-callout p {
    margin: 0;
}
.ipl-callout+.ipl-callout {
    margin-top: -.75rem;
}
.ipl-callout__info {
    background-color: #a4ecf8;
    border-left-color: #007eb0;
}
.ipl-callout__info .ipl-icon {
    color: #007eb0;
}
h1, h2, h3, h4, h5, h6 {
    color: #0b0c0c;
}
h1 {
    font-size: clamp(16px, 3vw + 1rem, 2.25rem);
}
h2 {
    font-size: clamp(16px, 3vw + 1rem, 1.875rem);
}
h3 {
    font-size: clamp(16px, 3vw + 1rem, 1.5rem);
}
h4 {
    font-size: clamp(16px, 3vw + 1rem, 1.25rem);
}
h5 {
    font-size: clamp(16px, 3vw + 1rem, 1rem);
}
h6 {
    font-size: clamp(16px, 3vw + 1rem, .875rem);
}
.ipl-h2 {
    font-size: clamp(16px, 3vw + 1rem, 2.5rem);
    font-family: Ubuntu, Tahoma, "sans-serif";
    font-weight: 700;
}
.ipl-h3 {
    font-size: clamp(16px, 3vw + 1rem, 2rem);
    font-family: Ubuntu, Tahoma, "sans-serif";
    font-weight: 700;
}
.ipl-h4 {
    font-size: clamp(16px, 3vw + 1rem, 1.5rem);
    font-family: Ubuntu, Tahoma, "sans-serif";
    font-weight: 700;
}
.ipl-h5 {
    font-size: clamp(16px, 3vw + 1rem, 1.125rem);
    font-family: Ubuntu, Tahoma, "sans-serif";
    font-weight: 400;
}
.ipl-icon {
    display: inline-flex;
    width: 1em;
    height: 1em;
    fill: currentColor;
}
[class^=ipl-icon]>use {
    fill: currentColor;
}
.ipl-icon {
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-flex;
    width: 1em;
    height: 1em;
    fill: currentColor;
}
.ipl-illustration {
    display: inline-flex;
    fill: currentColor;
    font-size: 1rem;
    height: 1em;
    width: 1em;
}
.ipl-illustration[aria-hidden=true] {
    pointer-events: none;
}
img {
    max-width: 100%;
    font-style: italic;
    font-size: 0;
    vertical-align: middle;
}
img[width], img[height] {
    max-width: none;
}
input::-webkit-search-decoration, input::-webkit-search-cancel-button, input::-webkit-search-results-button, input::-webkit-search-results-decoration {
    display: none;
}
.ipl-link {
    padding: 2px 0;
    color: #0056b3;
    line-height: 1.5;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .25em;
}
.ipl-link:visited {
    color: #4c2c92;
}
.ipl-link:hover {
    color: #003078;
    text-decoration-thickness: 3px;
    text-decoration-skip-ink: none;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip: none;
    -webkit-text-decoration-skip: none;
}
.ipl-link:active {
    cursor: none;
}
html {
    font-size: 100%;
    line-height: 1.5;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    -webkit-tap-highlight-color: transparent;
}
body {
    background-color: #f5f5f5;
    color: #303233;
    display: grid;
    font-family: OpenSans, Arial, "sans-serif";
    font-weight: 400;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
    overflow-x: hidden;
}
.ipl-main {
    margin-bottom: 5rem;
    width: 100vw;
}
.ipl-content {
    margin-top: 1.25rem;
}
@media (min-width: 48em) {
    .ipl-content {
    margin-top: 2rem;
}
}.ipl-content__section {
    margin-top: 4rem;
    position: relative;
}
.ipl-content__section:first-of-type {
    margin-top: 2rem;
}
abbr {
    font-kerning: normal;
    letter-spacing: .05rem;
}
abbr[title] {
    cursor: help;
    border-bottom: 1px dotted;
}
mark {
    padding: .2rem;
}
mark.code {
    background-color: #d8dfe1;
    border-radius: .25rem;
    color: #0b0c0c;
    font-family: Source Code Pro, Courier New, Courier, "monospace";
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
    padding: .25rem .5rem;
    white-space: nowrap;
}
code {
    background-color: #1f1f1f;
    border-radius: .75rem;
    color: #eee;
    display: inline-block;
    font-family: Source Code Pro, Courier New, Courier, "monospace";
    font-weight: 400;
    margin: .75rem;
    max-width: 800px;
    padding: 1.25rem;
    width: 100%}
code {
    white-space: pre;
    word-break: break-all;
}
table {
    margin: 0;
    width: 100%}
table th, table td {
    border-collapse: collapse;
    vertical-align: middle;
}
p {
    font-family: OpenSans, Arial, "sans-serif";
    font-weight: 400;
    font-size: 1rem;
    letter-spacing: .12px;
    margin-top: 0;
    margin-bottom: 1rem;
    max-width: 75ch;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    text-rendering: optimizeLegibility;
}
p.lead {
    font-size: 1.125rem;
    max-width: 65ch;
}
@media (min-width: 64em) {
    p.lead {
    font-size: 1.25rem;
}
}s {
    text-decoration: line-through;
}
mark {
    background: #ff0;
}
abbr[title] {
    border-bottom: 1px dotted #0B0C0C;
    cursor: help;
}
var {
    font-style: italic;
    font-family: serif;
    padding: 0 1px;
}
var sup {
    font-family: Source Code Pro, Courier New, Courier, "monospace";
    font-weight: 400;
    font-style: normal;
    padding: 0 1px;
}
sup {
    margin: .75rem 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -.5em;
}
.ipl-container {
    margin-right: 1.25rem;
    margin-left: 1.25rem;
}
@media (min-width: 48em) {
    .ipl-container {
    margin-right: 1.25rem;
    margin-left: 1.25rem;
}
}@media (min-width: 80em) {
    .ipl-container {
    margin-right: 2rem;
    margin-left: 2rem;
}
}@media (min-width: 96em) {
    .ipl-container {
    margin-right: auto;
    margin-left: auto;
    max-width: 70rem;
    width: 100%}
}.ipl-col-xs-12 {
    flex-basis: 100%;
    max-width: 100%}
.ipl-grid {
    display: grid;
    grid: auto/repeat(12, 1fr);
    height: 100%}
@media (min-width: 48em) {
    .ipl-grid {
    gap: clamp(15px, 2.5vw, 1rem);
}
}.ipl-grid>[class*=ipl-col-] {
    margin: 0;
    max-width: 100%}
.ipl-col-xs-12 {
    grid-column-start: span 12;
    grid-column-end: span 12;
}
@media (min-width: 48em) {
    .ipl-col-md-5 {
    grid-column-start: span 5;
    grid-column-end: span 5;
}
.ipl-col-md-6 {
    grid-column-start: span 6;
    grid-column-end: span 6;
}
}.ipl-grid-auto-xs, .ipl-grid-auto-md {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--col-min-width), 1fr));
}
.ipl-grid-auto-xs {
    --col-min-width:  4rem;
}
.ipl-grid-auto-md {
    --col-min-width:  12rem;
}
.ipl-list__section--square {
    margin-top: .75rem;
    margin-bottom: 1rem;
    margin-left: 0;
    max-width: 65ch;
    padding-left: .75rem;
}
.ipl-list__section--square:last-of-type {
    margin-bottom: 0;
}
.ipl-list__section--square {
    list-style-type: square;
}
.ipl-list__section--item {
    font-weight: 400;
    line-height: 1.5;
    margin: .75rem;
}
.ipl-list__section--item::marker {
    font-size: clamp(16px, 3vw + 1rem, 1rem);
}
.ipl-content__section h2.ipl-h3 {
    scroll-margin-top: 6.5rem;
}
.back-to-top {
    align-items: center;
    border: none;
    bottom: -2rem;
    cursor: pointer;
    height: 2rem;
    justify-content: center;
    line-height: 1.5;
    margin: 0;
    opacity: 0;
    padding: 1.25rem;
    position: fixed;
    right: 1rem;
    -webkit-transition: all .15s ease 0ms;
    -moz-transition: all .15s ease 0ms;
    -ms-transition: all .15s ease 0ms;
    -o-transition: all .15s ease 0ms;
    width: 2rem;
    z-index: 800;
    background-color: #007eb0;
    border-radius: 50%;
    box-shadow: 0 .25rem .5rem #0000004d;
    color: #fff;
}
.back-to-top:after {
    background-color: currentColor;
    content: "";
    height: 1.75rem;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    mask: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23fff" d="M24.86 20.96a1.5 1.5 0 0 0-.05-2.12l-6.87-6.56-2.17-2.07-2.07 2.17-6.56 6.87c-.57.6-.54 1.55.07 2.12.6.56 1.53.54 2.1-.05l6.56-6.87 6.87 6.56c.6.57 1.55.55 2.12-.05Z"/></svg>') center/contain no-repeat;
    position: absolute;
    width: 1.75rem;
}
.back-to-top.is-visible {
    display: flex;
    bottom: 3rem;
    opacity: 1;
}
@media (min-width: 48em) {
    .back-to-top.is-visible {
    bottom: 6rem;
}
}.back-to-top.is-visible:focus-visible:before {
    border-color: #0b0c0c;
}
.back-to-top.is-visible:focus-visible:after {
    filter: invert(1);
}
.ipl-banner, .cpl-gradient, .ipl-gradient {
    display: grid;
    background: linear-gradient(30deg, #4a4f54 40%, #9e9e9e);
    margin-top: var(--header);
    min-height: 6rem;
    position: relative;
    z-index: 0;
}
@media (min-width: 48em) {
    .ipl-banner, .cpl-gradient, .ipl-gradient {
    min-height: 9.25rem;
}
}.ipl-gradient {
    background-color: #ff6d0e;
    background: linear-gradient(30deg, #ff6d0e 40%, #ff9015);
}
.cpl-gradient {
    background-color: #66c4e8;
    background: linear-gradient(30deg, #009dd6 40%, #66c4e8);
}
.ipl-banner__content--wrapper {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    position: relative;
}
.ipl-banner__content {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-start;
    position: relative;
    z-index: 200;
}
.ipl-banner__content .ipl-h2 {
    color: #fff;
}
.ipl-banner__title {
    margin-top: 0;
}
.ipl-banner__synopsis {
    color: #fff;
    font-family: OpenSans, Arial, "sans-serif";
    font-weight: 400;
    font-size: clamp(16px, 3vw + 1rem, 18px);
    margin-bottom: 0;
    max-width: 72ch;
    text-wrap: wrap;
}
@media (min-width: 48em) {
    .ipl-banner__synopsis {
    max-width: 45ch;
}
}.ipl-btn {
    align-items: center;
    background-color: transparent;
    border: 2px solid transparent;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.125rem;
    gap: 10px;
    font-family: Ubuntu, Tahoma, "sans-serif";
    font-weight: 400;
    justify-content: center;
    line-height: 1.25;
    outline: none;
    padding: .75rem 1rem;
    position: relative;
    text-align: center;
    text-decoration: none;
    touch-action: manipulation;
    -webkit-transition: box-shadow .16s ease 0ms, color .16s ease 0ms, background-color .16s ease 0ms, border-color .16s ease 0ms;
    -moz-transition: box-shadow .16s ease 0ms, color .16s ease 0ms, background-color .16s ease 0ms, border-color .16s ease 0ms;
    -ms-transition: box-shadow .16s ease 0ms, color .16s ease 0ms, background-color .16s ease 0ms, border-color .16s ease 0ms;
    -o-transition: box-shadow .16s ease 0ms, color .16s ease 0ms, background-color .16s ease 0ms, border-color .16s ease 0ms;
    -webkit-user-select: none;
    user-select: none;
}
.ipl-btn:hover {
    cursor: pointer;
}
.ipl-btn:disabled, .ipl-btn[aria-disabled=true] {
    opacity: .5;
    cursor: not-allowed;
    pointer-events: none;
}
.ipl-btn:first-of-type {
    margin-left: 0;
}
.ipl-btn:last-of-type {
    margin-right: 0;
}
.ipl-btn--primary-alt {
    background-color: #4a4f54;
    color: #fff;
    border: 2px solid #4A4F54;
    -webkit-transition: border-color .25s ease 0ms, background-color .25s ease 0ms, color .25s ease 0ms;
    -moz-transition: border-color .25s ease 0ms, background-color .25s ease 0ms, color .25s ease 0ms;
    -ms-transition: border-color .25s ease 0ms, background-color .25s ease 0ms, color .25s ease 0ms;
    -o-transition: border-color .25s ease 0ms, background-color .25s ease 0ms, color .25s ease 0ms;
}
.ipl-btn--primary-alt:hover {
    background-color: #3f4347;
    border-color: #3f4347;
}
.ipl-btn--primary-alt:focus {
    background-color: #43474c;
    border-color: #43474c;
}
.ipl-btn--primary-alt:active {
    background-color: #3b3f43;
    border-color: #3b3f43;
}
.ipl-btn--primary-alt[disabled] {
    opacity: .6;
    cursor: not-allowed;
    pointer-events: none;
}
.ipl-btn--shadow {
    box-shadow: 0 0 .25rem #0000004d;
}
@keyframes ipl-spinner-rotate {
    to {
    transform: translate(-50%, -50%) rotate(360deg);
}
}.ipl-btn--wrapper {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}
.ipl-card--grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(15px, 2.5vw, 1rem);
    margin-bottom: 0;
    margin-left: 0;
    list-style: none;
}
@media (min-width: 48em) {
    .ipl-card--grid {
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 1.25rem;
}
}@media (min-width: 64em) {
    .ipl-card--grid {
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}
}@media (min-width: 96em) {
    .ipl-card--grid {
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: clamp(15px, 2.5vw, 1.5rem);
}
}.ipl-card {
    display: flex;
    position: relative;
    flex-direction: column;
    transform: translateY(0);
    cursor: pointer;
    margin-top: 1px;
    outline: 1px solid #D8DFE1;
    box-shadow: 0 0 .25rem #0000004d;
    border-top: 1px solid #F5F5F5;
    border-radius: .75rem;
    background-clip: padding-box;
    background-color: #fff;
    overflow: hidden;
    -webkit-transition: box-shadow .2s ease 0ms, outline .2s ease 0ms, transform .2s ease 0ms;
    -moz-transition: box-shadow .2s ease 0ms, outline .2s ease 0ms, transform .2s ease 0ms;
    -ms-transition: box-shadow .2s ease 0ms, outline .2s ease 0ms, transform .2s ease 0ms;
    -o-transition: box-shadow .2s ease 0ms, outline .2s ease 0ms, transform .2s ease 0ms;
}
.ipl-card .ipl-link {
    color: #0b0c0c;
    text-decoration: none;
}
.ipl-card:hover {
    transform: translateY(-.125rem);
    outline-color: #c1cfc8;
}
.ipl-card__image--wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    background: radial-gradient(circle at center, #c4f8fc, #a4ecf8);
    max-height: 8rem;
    overflow: hidden;
}
.ipl-spot-image {
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .32));
    width: 100%}
.ipl-card__content {
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    padding: .75rem 1rem 1.5rem;
    max-width: 65ch;
}
.ipl-card__content .ipl-h4 {
    margin-bottom: .5rem;
}
.ipl-card__content .ipl-link {
    display: inline-block;
    text-decoration: none;
}
.ipl-card__content .ipl-link:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: ""}
.ipl-card__text {
    flex-grow: 1;
    margin: 0;
}
.ipl-static-card--group {
    margin-bottom: .25rem;
}
.ipl-static-card--group .ipl-card--grid {
    grid-template-columns: auto;
}
@media (min-width: 48em) {
    .ipl-static-card--group .ipl-card--grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}
}.ipl-static-card {
    transition: none;
    cursor: default;
    outline: none;
    box-shadow: none;
    border: 1px solid #C1CFC8;
    border-radius: 0;
    color: #4a4f54;
}
.ipl-static-card:hover {
    transform: translateY(0);
}
.ipl-static-card .ipl-card__image--wrapper {
    background-color: transparent;
    padding: 1rem 0;
}
.ipl-static-card__content {
    position: relative;
    z-index: 200;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}
.ipl-input {
    border: 1px solid #C1CFC8;
    border-radius: .5rem;
    margin-top: .25rem;
    padding: .75rem 1rem;
    width: 100%}
.ipl-input:focus {
    border-color: #8bdcf1;
    outline: none;
}
.ipl-form {
    display: block;
    height: auto;
    margin: 0;
    padding: 0;
    position: relative;
    width: 100%}
@media (min-width: 48em) {
    .ipl-form {
    max-width: 75ch;
}
}.ipl-form-wrapper {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 100;
}
.ipl-input--zoho {
    border-radius: 999px;
    box-shadow: inset 0 0 .2rem #00000073;
}
.zf-tempHeadBdr {
    margin: 0;
}
.ipl-form--label-name {
    font-family: OpenSans, Arial, "sans-serif";
    font-weight: 400;
    font-size: clamp(16px, 3vw + 1rem, 16px);
    color: #303233;
    margin-bottom: .75rem;
}
.zf-subContWrap, .zf-subContWrap .zf-tempFrmWrapper {
    margin-bottom: 1.25rem;
}
.zf-subContWrap ul {
    margin: 0 0 1.25rem;
}
:root {
    --header:  72px;
}
.ipl-header {
    background-color: #fff;
    border-bottom: 1px solid #C1CFC8;
    box-shadow: 0 0 .25rem #0000004d;
    display: flex;
    height: var(--header);
    margin: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 600;
}
.ipl-header>div {
    width: 100%}
@media (min-width: 48em) {
    .ipl-header {
    font-size: 1.35rem;
}
}.ipl-logo__wrapper {
    align-items: center;
    display: flex;
    height: 100%;
    margin: 0;
    padding: 0;
}
.ipl-logo, .cpl-logo {
    align-items: flex-end;
    display: flex;
    margin: 0 0 0 .25rem;
    text-decoration: none;
}
@media (min-width: 64em) {
    .ipl-logo, .cpl-logo {
    border: none;
    margin: 0 0 0 .5rem;
    padding: 0;
}
}.ipl-logo:focus-visible .ipl-logomark, .ipl-logo:focus-visible .ipl-wordmark, .cpl-logo:focus-visible .ipl-logomark, .cpl-logo:focus-visible .ipl-wordmark {
    filter: brightness(0);
}
.ipl-logo .ipl-logomark, .cpl-logo .ipl-logomark {
    height: 2.25rem;
    width: 2.25rem;
    margin-bottom: 2px;
}
.ipl-logo .ipl-wordmark, .cpl-logo .ipl-wordmark {
    color: #4a4f54;
    display: none;
    font-family: Ubuntu, Tahoma, "sans-serif";
    font-weight: 700;
    font-size: 1.45rem;
    margin-left: .5rem;
    transform: translateY(4px);
}
@media (min-width: 30em) {
    .ipl-logo .ipl-wordmark, .cpl-logo .ipl-wordmark {
    display: flex;
}
}.ipl-logo .ipl-wordmark sup, .cpl-logo .ipl-wordmark sup {
    display: inline;
    font-size: .35rem;
    left: .1rem;
    margin: 0;
    top: .65rem;
}
.ipl-footer {
    background-color: #4a4f54;
    margin-top: auto;
    padding: 1.25rem 0;
    position: relative;
    z-index: 200;
}
.ipl-footer p, .ipl-footer .ipl-link {
    color: #fff;
    font-family: Ubuntu, Tahoma, "sans-serif";
    font-size: .865rem;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    text-decoration-color: #fff;
}
.ipl-footer p:focus-visible, .ipl-footer .ipl-link:focus-visible {
    color: #0b0c0c;
}
.ipl-footer p:focus-visible:after, .ipl-footer p:focus-visible:hover, .ipl-footer .ipl-link:focus-visible:after, .ipl-footer .ipl-link:focus-visible:hover {
    background-color: #0b0c0c;
}
.ipl-footer .ipl-copyright {
    display: flex;
    justify-content: flex-start;
    margin: 1rem 0 0;
}
@media (min-width: 48em) {
    .ipl-footer .ipl-copyright {
    justify-content: flex-end;
    margin: 0 0 0 auto;
}
}.ipl-footer-nav__list {
    display: flex;
    margin: 0;
    padding: 0;
}
.ipl-footer-nav__list-item {
    display: flex;
    margin: 0 .75rem 0 0;
    padding: 0;
    -webkit-transition: all .25ms ease 0ms;
    -moz-transition: all .25ms ease 0ms;
    -ms-transition: all .25ms ease 0ms;
    -o-transition: all .25ms ease 0ms;
}
@media (min-width: 64em) {
    .ipl-footer-nav__list-item {
    margin: 0 1rem 0 0;
}
}:root {
    --navigation:  260px;
}
.ipl-nav__mobile-overlay {
    background: #0b0c0c;
    display: none;
    opacity: .9;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 250;
}
.ipl-progress-bar, .ipl-progress-bar.cloudpayroll {
    background: #a4ecf8;
    cursor: pointer;
    height: 6px;
    left: 0;
    position: fixed;
    top: var(--header);
    -webkit-transition: all .25s ease 0ms;
    -moz-transition: all .25s ease 0ms;
    -ms-transition: all .25s ease 0ms;
    -o-transition: all .25s ease 0ms;
    width: 100%;
    z-index: 500;
}
.ipl-progress-bar.cloudpayroll {
    background: #ffd59e;
}
.ipl-progress-bar:hover .ipl-progress-fill {
    background-color: #009dd6;
}
.ipl-progress-bar:hover .ipl-progress-fill.cloudpayroll {
    background: #ff6d0e;
}
.ipl-progress-fill, .ipl-progress-fill.cloudpayroll {
    background-color: #66c4e8;
    height: 100%;
    pointer-events: none;
    transition: width .05s linear;
    width: 0%}
.ipl-progress-fill.cloudpayroll {
    background-color: #ff9015;
}
@keyframes expandFromRight {
    0% {
    width: 0;
    opacity: 0;
}
to {
    width: calc(100% - 2rem);
    opacity: 1;
}
}#skiplinks {
    display: none;
}
@media (min-width: 48em) {
    #skiplinks {
    display: block;
}
}.skip-link {
    background-color: #fff;
    color: #4a4f54;
    font-size: font-size(18px);
    font-family: OpenSans, Arial, "sans-serif";
    font-weight: 400;
    left: .375rem;
    margin: .75rem;
    outline: none;
    position: absolute;
    text-decoration: none;
    top: -60px;
    width: auto;
    padding: .75rem;
    transition: all .2s ease-in-out;
    z-index: 800;
}
.skip-link:active, .skip-link:focus-visible {
    left: .375rem;
    outline-color: transparent;
    position: absolute;
    top: 0;
}
@keyframes fadeIn {
    0% {
    opacity: 0;
    transform: translateY(.375rem);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}.cpl-landing-page {
    padding: 1.5rem 1rem 2rem;
}
.ipl-banner {
    z-index: 400;
}
.cpl-banner--points {
    color: #fff;
    font-size: clamp(16px, 3vw + 1rem, 18px);
    margin: 0;
    padding: 0;
}
.ipl-form-wrapper.landing-page {
    padding-bottom: 1.25rem;
    position: relative;
    transform: translateY(-1.5rem);
    z-index: 100;
}
@media (min-width: 48em) {
    .ipl-form-wrapper.landing-page {
    padding-bottom: 0;
    transform: translateY(2.5rem);
}
}
.ipl-form-wrapper.landing-page .ipl-form {
    background: #eee;
    border-radius: .75rem;
    box-shadow: 0 1rem 1.5rem #00000040;
    padding: 1.5rem;
    width: 90%}
    
@media (min-width: 48em) {
    .ipl-form-wrapper.landing-page .ipl-form {
    position: absolute;
    width: 80%}
}@media (min-width: 48em) {
    .ipl-content__section h2.ipl-h3 {
    max-width: 22ch;
}
}.partner-logos {
    margin: 0;
}
.partner-logos .ipl-card--grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}
.partner-logos .ipl-card--grid .ipl-static-card:last-of-type {
    display: none;
}
@media (min-width: 80em) {
    .partner-logos .ipl-card--grid .ipl-static-card:last-of-type {
    display: inline;
}
}.partner-logos .ipl-card--grid .ipl-static-card .ipl-static-card__content {
    padding: 0 1.5rem;
}
@media (min-width: 48em) {
    .partner-logos .ipl-card--grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}
}.partner-logos .ipl-static-card {
    background: transparent;
    border: none;
}
.partner-logos .ipl-static-card .ipl-card__image--wrapper {
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%}
.cpl-keypoints {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: clamp(15px, 2.5vw, 1.25rem);
}
.cpl-keypoints .ipl-card {
    min-height: 10rem;
}
.cpl-highlights .ipl-card--grid {
    grid-template-columns: 1fr 1fr;
}
@media (min-width: 48em) {
    .cpl-highlights .ipl-card--grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}
}.cpl-highlights .ipl-static-card {
    background: transparent;
    border: none;
}
.cpl-highlights .ipl-static-card .ipl-spot-image {
    height: 4rem;
}
.cpl-highlights .ipl-static-card .ipl-static-card__content {
    padding: 1rem 0 .5rem;
    text-align: center;
}
.cpl-highlights .ipl-static-card .ipl-static-card__content .ipl-h5 {
    font-weight: 700;
    margin-bottom: .5rem;
}
.cpl-dual-cards .ipl-card--grid {
    grid-template-columns: 1fr;
    gap: clamp(15px, 2.5vw, 1.25rem);
}
@media (min-width: 48em) {
    .cpl-dual-cards .ipl-card--grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}
}.cpl-dual-cards .ipl-card {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
}
.cpl-dual-cards .ipl-card.ipl-gradient, .cpl-dual-cards .ipl-card.ipl-gradient .ipl-h3 {
    color: #fff;
}
.cpl-dual-cards .ipl-card.ipl-gradient .ipl-card__text {
    flex-grow: 0;
    margin-bottom: 1.25rem;
}
.cpl-dual-cards .ipl-card .ipl-card__content {
    padding: 1.25rem 1.5rem 1.5rem;
}
.cpl-dual-cards .ipl-card .ipl-card__content .ipl-h3 {
    margin-bottom: .5rem;
}
.cpl-dual-cards .ipl-card .ipl-card__content .ipl-btn {
    align-self: flex-start;
}
.cpl-dual-cards .ipl-card ul {
    margin: 0;
    padding: 0;
}
.cpl-testimonial .ipl-testimonial__wrapper {
    margin: 3rem auto;
    width: 100%}
.cpl-testimonial .ipl-testimonial__wrapper.ipl-callout {
    border: 1px solid #C1CFC8;
    border-left: .5rem solid #009DD6;
    display: flex;
    justify-content: center;
    padding: 3rem 4rem;
    position: relative;
}
@media (min-width: 48em) {
    .cpl-testimonial .ipl-testimonial__wrapper.ipl-callout {
    max-width: 90%}
}@media (min-width: 80em) {
    .cpl-testimonial .ipl-testimonial__wrapper.ipl-callout {
    max-width: 70%;
    padding: 3rem 1.5rem;
}
}.cpl-testimonial .ipl-testimonial__wrapper.ipl-callout .ipl-callout__info {
    background-color: transparent;
    margin: 0;
}
.cpl-testimonial .ipl-testimonial__wrapper.ipl-callout .ipl-callout__info .ipl-quote-mark {
    position: absolute;
    max-width: 19rem;
    transform: translate(-3.5rem, 4rem);
}
.cpl-testimonial .ipl-testimonial__wrapper.ipl-callout .ipl-card {
    background-color: transparent;
    border: none;
    overflow: visible;
}
.cpl-testimonial .ipl-testimonial__wrapper.ipl-callout .ipl-card .ipl-spot-image {
    max-width: 250px;
}
.cpl-testimonial .ipl-testimonial__wrapper.ipl-callout .ipl-card .ipl-card__content {
    padding: 4rem 0 1.25rem;
}
.tools-section .ipl-spot-image {
    max-height: 7.5rem;
}
@media (min-width: 48em) {
    .tools-section .ipl-spot-image {
    max-height: auto;
}
}.cpl-book-demo {
    color: #fff;
    padding: 1.5rem 2rem;
}
.cpl-book-demo .ipl-h3 {
    color: #fff;
}
.cpl-book-demo .cpl-demo--wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    align-items: flex-start;
}
.cpl-book-demo .cpl-demo--wrapper .ipl-btn {
    margin-top: 1.25rem;
    width: auto;
}
.cpl-book-demo .logo-group {
    align-items: center;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    margin: 2rem 0 1.25rem;
    width: 100%}
.cpl-book-demo .ipl-logo--wrapper {
    align-items: center;
    display: flex;
    flex: 0 1 auto;
    justify-content: center;
}
.cpl-book-demo .ipl-spot-image {
    display: block;
    height: 4rem;
    max-width: 100%;
    width: auto;
}
.hidden, [hidden] {
    display: none!important;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    position: absolute!important;
    width: 1px!important;
    height: 1px!important;
    left: 0!important;
    top: -500px!important;
    margin: -1px!important;
    padding: 0!important;
    overflow: hidden!important;
    clip: rect(0 0 0 0)!important;
    clip-path: inset(50%)!important;
    border: 0!important;
    white-space: nowrap!important;
    display: none;
}
@media print {
    *, *:before, *:after {
    background: #fff!important;
    border-bottom-color: #000!important;
    color: #000!important;
    box-shadow: none!important;
    text-shadow: none!important;
}
.skip-link, nav, footer {
    display: none!important;
}
a, a:visited {
    text-decoration: underline;
}
a[href]:after {
    content: " (" attr(href) ")";
    display: block;
    width: 100%}
abbr[title]:after {
    content: " (" attr(title) ")"}
tr, img {
    page-break-inside: avoid;
}
p, h2, h3 {
    orphans: 3;
    widows: 3;
}
h2, h3 {
    page-break-after: avoid;
}
}
