/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ /* Document
   ========================================================================== */ /**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
} /* Sections
   ========================================================================== */ /**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
} /**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
} /**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
} /* Grouping content
   ========================================================================== */ /**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
} /**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
} /* Text-level semantics
   ========================================================================== */ /**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
} /**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
} /**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
} /**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
} /**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
} /**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
} /* Embedded content
   ========================================================================== */ /**
 * Remove the border on images inside links in IE 10.
 */
img {
    border-style: none;
} /* Forms
   ========================================================================== */ /**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
} /**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    /* 1 */
    overflow: visible;
} /**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    /* 1 */
    text-transform: none;
} /**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
} /**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
} /**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
} /**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
} /**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
} /**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
} /**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
} /**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
} /**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
} /**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
} /**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
} /**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
} /* Interactive
   ========================================================================== */ /*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
} /*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
} /* Misc
   ========================================================================== */ /**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
} /**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}
@font-face {
    font-family: "GT America";
    src: url("../../font/gt-america/GT-America-Standard-Regulard41d.eot?#iefix");
    src: url("../../font/gt-america/GT-America-Standard-Regulard41d.eot?#iefix") format("eot"), url("../../font/gt-america/GT-America-Standard-Regular.woff2") format("woff2"),
        url("../../font/gt-america/GT-America-Standard-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "GT America";
    src: url("../../font/gt-america/GT-America-Standard-Mediumd41d.eot?#iefix");
    src: url("../../font/gt-america/GT-America-Standard-Mediumd41d.eot?#iefix") format("eot"), url("../../font/gt-america/GT-America-Standard-Medium.woff2") format("woff2"),
        url("../../font/gt-america/GT-America-Standard-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "GT America";
    src: url("../../font/gt-america/GT-America-Standard-Boldd41d.eot?#iefix");
    src: url("../../font/gt-america/GT-America-Standard-Boldd41d.eot?#iefix") format("eot"), url("../../font/gt-america/GT-America-Standard-Bold.woff2") format("woff2"),
        url("../../font/gt-america/GT-America-Standard-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: "GT America";
    src: url("../../font/gt-america/GT-America-Standard-Blackd41d.eot?#iefix");
    src: url("../../font/gt-america/GT-America-Standard-Blackd41d.eot?#iefix") format("eot"), url("../../font/gt-america/GT-America-Standard-Black.woff2") format("woff2"),
        url("../../font/gt-america/GT-America-Standard-Black.woff") format("woff");
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: "GT America Mono";
    src: url("../../font/gt-america/GT-America-Mono-Regulard41d.eot?#iefix");
    src: url("../../font/gt-america/GT-America-Mono-Regulard41d.eot?#iefix") format("eot"), url("../../font/gt-america/GT-America-Mono-Regular.woff2") format("woff2"), url("../../font/gt-america/GT-America-Mono-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "GT America Mono";
    src: url("../../font/gt-america/GT-America-Mono-Boldd41d.eot?#iefix");
    src: url("../../font/gt-america/GT-America-Mono-Boldd41d.eot?#iefix") format("eot"), url("../../font/gt-america/GT-America-Mono-Bold.woff2") format("woff2"), url("../../font/gt-america/GT-America-Mono-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}
.type-gt-bold-48 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 48px;
    line-height: 52px;
}
.type-gt-bold-42 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 42px;
    line-height: 48px;
}
.type-gt-bold-32 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 32px;
    line-height: 36px;
}
.type-gt-bold-28 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 28px;
    line-height: 32px;
}
.type-gt-bold-20 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 20px;
    line-height: 28px;
}
.type-gt-medium-20 {
    
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
}
.type-gt-regular-20 {
    
    font-style: normal;
    font-weight: normal;
    font-size: 20px;
    line-height: 28px;
}
.type-gt-mono-20 {
    font-family: GT America Mono, monospace;
    font-style: normal;
    font-weight: normal;
    font-size: 20px;
    line-height: 28px;
}
.type-gt-bold-18 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 18px;
    line-height: 24px;
}
.type-gt-regular-18 {
    
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    line-height: 24px;
}
.type-gt-regular-16 {
    
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
}
.type-gt-regular-14 {
    
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 24px;
}
.type-gt-regular-12 {
    
    font-style: normal;
    font-weight: normal;
    font-size: 12px;
    line-height: 20px;
}
.type-gt-mono-bold-14 {
    font-family: GT America Mono, monospace;
    font-style: normal;
    font-weight: bold;
    font-size: 14px;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: 2.25px;
}
.type-gt-mono-bold-12 {
    font-family: GT America Mono, monospace;
    font-style: normal;
    font-weight: bold;
    font-size: 12px;
    line-height: 12px;
    text-transform: uppercase;
    letter-spacing: 2.25px;
}
body {
    
    font-style: normal;
    font-weight: normal;
    font-size: 20px;
    line-height: 28px;
}
h1 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 48px;
    line-height: 52px;
    margin: 0 0 20px;
}
h2 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 42px;
    line-height: 48px;
    margin: 0 0 20px;
}
h3 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 32px;
    line-height: 36px;
    margin: 0 0 20px;
}
h4 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 28px;
    line-height: 32px;
    margin: 0 0 20px;
}
p {
    margin: 0 0 12px;
}
code {
    font-family: GT America Mono, monospace;
    font-style: normal;
    font-weight: normal;
    font-size: 20px;
    line-height: 28px;
}
.type-small {
    font-size: 16px;
    line-height: 24px;
} /* stylelint-disable color-no-hex */
* {
    box-sizing: border-box;
}
body {
    background: #28004d;
    color: #fff;
}
a {
    color: #ed485f;
    text-decoration: none;
}
.module-nav {
    padding: 0 48px;
}
.module-nav .module-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 160px;
    max-width: 1120px;
    margin: 0 auto;
}
.nav-block {
    margin-left: 30px;
}
.nav-block-cta {
    margin-left: auto;
}
.nav-menu {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin: 0;
    padding: 0;
}
.nav-menu-item {
    
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    padding: 0;
    margin-right: 16px;
    text-decoration: none;
    color: #87849a;
}
.nav-menu-item:hover {
    color: #ffffff;
}
.nav-menu-item:last-child {
    margin-right: 0;
}
.nav-menu-item-spacing-lg {
    margin-right: 24px;
}
@media only screen and (max-width: 1023px) {
    .module-nav {
        padding: 0 48px;
    }
}
@media only screen and (max-width: 719px) {
    .module-nav {
        padding: 0 24px;
    }
    .module-nav .module-container {
        height: 80px;
    }
}
.module-content,
.module-content-and-form,
.module-form {
    padding: 72px 48px 88px 48px;
}
.module-content .module-container,
.module-content-and-form .module-container,
.module-form .module-container {
    display: flex;
    flex-direction: row;
    max-width: 1120px;
    margin: 0 auto;
}
.module-content .layout-main,
.module-content-and-form .layout-main,
.module-form .layout-main {
    display: flex;
    flex-direction: row;
    flex: 1;
}
.module-content .layout-content,
.module-content-and-form .layout-content,
.module-form .layout-content {
    margin-right: 46px;
    max-width: 184px;
}
.module-content .layout-content h1,
.module-content-and-form .layout-content h1,
.module-form .layout-content h1 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 42px;
    line-height: 48px;
}
.module-content .layout-eyebrow,
.module-content-and-form .layout-eyebrow,
.module-form .layout-eyebrow {
    margin-right: 52px;
}
.module-content .layout-form,
.module-content-and-form .layout-form,
.module-form .layout-form {
    flex-grow: 1;
    max-width: 736px;
}
.module-content-and-form .layout-form {
    margin-right: calc(-1 * (100vw - 1120px) / 2);
}
@media only screen and (max-width: 1216px) {
    .module-content-and-form .layout-form {
        margin-right: -48px;
    }
}
@media only screen and (max-width: 1023px) {
    .module-content-and-form,
    .module-form {
        padding: 72px 48px 88px 48px;
    }
    .module-content-and-form .layout-main,
    .module-form .layout-main {
        flex-direction: column;
    }
    .module-content-and-form .layout-content,
    .module-form .layout-content {
        margin-bottom: 46px;
        margin-right: 0;
    }
    .module-content-and-form .layout-form,
    .module-form .layout-form {
        margin-right: -48px;
    }
}
@media only screen and (max-width: 719px) {
    .module-content-and-form,
    .module-form {
        padding: 72px 24px 88px 24px;
    }
    .module-content-and-form .layout-eyebrow,
    .module-form .layout-eyebrow {
        margin-right: 32px;
    }
    .module-content-and-form .layout-form,
    .module-form .layout-form {
        margin-right: -24px;
    }
}
.module-testimonial {
    padding: 144px 48px 152px 48px;
}
.module-testimonial .module-container {
    display: flex;
    flex-direction: row;
    max-width: 1120px;
    margin: 0 auto;
}
.module-testimonial .layout-main {
    display: flex;
    flex-direction: row;
    flex: 1;
}
.module-testimonial .layout-brand {
    max-width: 256px;
    margin-right: 32px;
    flex: 1;
}
.module-testimonial .layout-content {
    max-width: 640px;
    padding-left: 25px;
}
.module-testimonial .layout-eyebrow {
    margin-right: 84px;
}
.module-testimonial .layout-testimonial-body {
    max-width: 519px;
}
.module-testimonial q.big-quote {
    
    font-style: normal;
    font-weight: bold;
    font-size: 42px;
    line-height: 48px;
    display: block;
    quotes: "“" "”" "‘" "’";
    position: relative;
    margin-bottom: 56px;
}
.module-testimonial q.big-quote:before {
    content: open-quote;
    position: absolute;
    left: -26px;
}
.module-testimonial q.big-quote:after {
    content: close-quote;
    margin-left: 4px;
}
@media only screen and (max-width: 1023px) {
    .module-testimonial {
        padding: 72px 48px 88px 48px;
    }
    .module-testimonial .layout-main {
        flex-direction: column;
    }
    .module-testimonial .layout-brand {
        margin-bottom: 25px;
    }
    .module-testimonial .layout-content {
        padding-left: 20px;
        margin-bottom: 46px;
    }
    .module-testimonial q.big-quote {
        
        font-style: normal;
        font-weight: bold;
        font-size: 32px;
        line-height: 36px;
    }
    .module-testimonial q.big-quote:before {
        left: -21px;
    }
}
@media only screen and (max-width: 719px) {
    .module-testimonial {
        padding: 72px 24px 88px 24px;
    }
    .module-testimonial .module-container {
        padding-left: 25px;
    }
    .module-testimonial .layout-main {
        margin-bottom: 0;
    }
    .module-testimonial .layout-content {
        margin-bottom: 0;
        padding-left: 0;
    }
    .module-testimonial .testimonial-summary {
        
        font-style: normal;
        font-weight: normal;
        font-size: 18px;
        line-height: 24px;
    }
}
.testimonial-headshot {
    max-width: 48px;
    height: auto;
    border-radius: 48px;
    margin-bottom: 8px;
}
.testimonial-title {
    
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    color: #87849a;
    margin-bottom: 48px;
}
.testimonial-summary {
    margin-bottom: 40px;
}
.eyebrow {
    display: flex;
    flex-direction: row;
    align-items: center;
    font-family: GT America Mono, monospace;
    font-style: normal;
    font-weight: bold;
    font-size: 12px;
    line-height: 12px;
    text-transform: uppercase;
    letter-spacing: 2.25px;
}
.eyebrow:after {
    content: "";
    display: block;
    width: 120px;
    height: 1px;
    background: #ed485f;
}
.eyebrow-content {
    margin-right: 16px;
}
.eyebrow-index {
    color: #ffffff;
}
.eyebrow-label {
    color: #87849a;
}
.eyebrow-vertical {
    width: 12px;
    flex-direction: column;
}
.eyebrow-vertical .eyebrow-content {
    writing-mode: vertical-lr;
    margin-right: 0;
    margin-bottom: 16px;
}
.eyebrow-vertical:after {
    width: 1px;
    height: 120px;
}
.technical-list {
    width: 100%;
    padding: 0;
    counter-reset: items;
    
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    display: table;
}
.technical-list-item {
    display: table-row;
    counter-increment: items;
}
.technical-list-item:before {
    content: "0" counter(items);
    font-family: GT America Mono, monospace;
    font-style: normal;
    font-weight: bold;
    font-size: 14px;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: 2.25px;
    padding-right: 16px;
    display: table-cell;
    color: #87849a;
}
.technical-list-item:nth-child(n + 10):before {
    content: counter(items);
}
.technical-list-item:after {
    content: "";
    display: block;
    height: 24px;
}
.module-footer {
    color: #28004d;
    background: #fff;
    border: 32px solid #28004d;
}
.module-footer .module-container {
    padding: 112px 48px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: calc(100vh - 32px * 2);
    max-width: 1216px;
    margin: 0 auto;
}
.module-footer .layout-main {
    display: grid;
    grid-template-areas: "logo logo logo . product product solutions solutions resources resources company company";
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto;
    grid-gap: 32px;
}
.module-footer .layout-logo {
    grid-area: logo;
}
.module-footer .footer-menu-product {
    grid-area: product;
}
.module-footer .footer-menu-solutions {
    grid-area: solutions;
}
.module-footer .footer-menu-resources {
    grid-area: resources;
}
.module-footer .footer-menu-company {
    grid-area: company;
}
.module-footer .logo {
    display: block;
}
.module-footer .tagline {
    
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    color: #87849a;
}
.module-footer .copyright {
    margin-top: 52px;
    
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 24px;
    color: #87849a;
}
@media only screen and (max-width: 1023px) {
    .module-footer .module-container {
        padding: 52px 48px;
    }
    .module-footer .layout-main {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: auto auto; /* stylelint-disable */
        grid-template-areas: "logo logo logo logo" "product solutions resources company"; /* stylelint-enable */
        grid-gap: 40px 32px;
    }
    .module-footer .layout-logo {
        text-align: center;
        border-bottom: 1px solid #c4c4c4;
    }
    .module-footer .logo {
        margin-bottom: 25px;
    }
    .module-footer .tagline {
        margin-bottom: 40px;
    }
}
@media only screen and (max-width: 719px) {
    .module-footer {
        border-width: 24px;
    }
    .module-footer .module-container {
        min-height: initial;
        padding: 32px 24px 38px 24px;
    }
    .module-footer .layout-main {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto); /* stylelint-disable */
        grid-template-areas: "logo logo" "product solutions" "resources company"; /* stylelint-enable */
        grid-gap: 40px 16px;
    }
    .module-footer .logo {
        margin-bottom: 24px;
    }
    .module-footer .tagline {
        max-width: 200px;
        margin: 0 auto 24px;
    }
}
.footer-menu-heading {
    
    font-style: normal;
    font-weight: bold;
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 20px;
}
.footer-menu-item {
    
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    display: block;
    margin-bottom: 20px;
    color: #87849a;
}
.footer-menu-item:hover {
    color: #1e0646;
}
fieldset {
    border: none;
    margin: 0;
    padding: 0;
}
.form-fields {
    margin-bottom: 50px;
}
.form-error-message {
    
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 24px;
    color: #ed485f;
    margin-bottom: 24px;
}
.form-input-group {
    color: #28004d;
    margin-bottom: 40px;
}
.form-input-group:last-of-type {
    margin-bottom: 0;
}
.form-input-group.has-error {
    color: #ed485f;
}
.form-input-group.has-error .form-control {
    padding: 8px 14px;
    border-width: 2px;
    border-color: #ed485f;
    color: #ed485f;
    background-color: rgba(237, 72, 95, 0.05);
}
.form-input-group.has-error .select-disclosure-indicator {
    background: url("data:image/svg+xml,%3Csvg%20width%3D%2211%22%20height%3D%227%22%20viewBox%3D%220%200%2011%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M0.743164%201.53039L1.85686%200.469727L5.50001%203.9394L9.14316%200.469727L10.2569%201.53039L5.50001%206.06072L0.743164%201.53039Z%22%20fill%3D%22%23ED485F%22/%3E%3C/svg%3E")
        center transparent no-repeat;
}
.control-label {
    
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
    display: block;
    margin-bottom: 24px;
}
.control-helper-text {
    
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 24px;
    padding: 5px 16px;
}
.form-control {
    
    font-style: normal;
    font-weight: normal;
    font-size: 20px;
    line-height: 28px;
    display: block;
    width: 100%;
    background: #fff;
    color: #28004d;
    border-radius: 0;
    border: 1px solid #87849a;
    padding: 9px 15px;
    outline: none;
}
.form-control.has-focus,
.form-control:focus {
    padding: 8px 14px;
    border-width: 2px;
    border-color: #ed485f;
    background-color: rgba(40, 0, 77, 0.05);
}
.form-control.is-technical {
    font-family: GT America Mono, monospace;
    font-style: normal;
    font-weight: normal;
    font-size: 20px;
    line-height: 28px;
}
.select-menu-controls {
    position: relative;
}
select.form-control {
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}
.select-disclosure-indicator {
    background: url("data:image/svg+xml,%3Csvg%20width%3D%2211%22%20height%3D%227%22%20viewBox%3D%220%200%2011%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M0.743164%201.53039L1.85686%200.469727L5.50001%203.9394L9.14316%200.469727L10.2569%201.53039L5.50001%206.06072L0.743164%201.53039Z%22%20fill%3D%22%2387849A%22/%3E%3C/svg%3E")
        center transparent no-repeat;
    position: absolute;
    display: inline-block;
    width: 11px;
    height: 7px;
    right: 22px;
    top: 20.5px;
    pointer-events: none;
}
select.form-control:focus + .select-disclosure-indicator {
    background: url("data:image/svg+xml,%3Csvg%20width%3D%2211%22%20height%3D%227%22%20viewBox%3D%220%200%2011%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M0.743164%201.53039L1.85686%200.469727L5.50001%203.9394L9.14316%200.469727L10.2569%201.53039L5.50001%206.06072L0.743164%201.53039Z%22%20fill%3D%22%23ED485F%22/%3E%3C/svg%3E")
        center transparent no-repeat;
}
.form-addendum {
    margin-top: 32px;
}
.checkbox-controls {
    /*
    TRICKY: This custom cross-browser compatible checkbox is homespun. It works in three parts:
      1. Hide the generic checkbox by absolutely positioning it off the screen
      2. Use the sibling selector ("+") to base rules off the interaction state of the checkbox
      3. Use the :before pseudoelement off the label to render a custom checkbox
  */
}
.checkbox-controls label {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.checkbox-controls .checkbox-label-content {
    
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 24px;
    margin: 0 0 0 16px;
    flex: 1;
}
.checkbox-controls input[type="checkbox"] {
    position: absolute;
    z-index: -1000;
    left: -1000px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}
.checkbox-controls input[type="checkbox"] + label:before {
    box-sizing: border-box;
    content: "";
    cursor: pointer;
    display: block;
    height: 32px;
    width: 32px;
    border: 1px solid #87849a;
}
.checkbox-controls input[type="checkbox"]:focus + label:before,
.checkbox-controls input[type="checkbox"]:active + label:before {
    border-width: 2px;
    border-color: #ed485f;
}
.checkbox-controls input[type="checkbox"]:checked + label:before {
    background: url("data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2213%22%20viewBox%3D%220%200%2018%2013%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M1%206.07317L6.46341%2011.5366L17%201%22%20stroke%3D%22%2328004D%22%20stroke-width%3D%222%22/%3E%3C/svg%3E")
        center transparent no-repeat;
}
.module-nascar {
    color: #28004d;
    background: #fff;
    border: 32px solid #28004d;
}
.module-nascar .module-container {
    padding: 67px 48px 88px;
    max-width: 1216px;
    margin: 0 auto;
}
.module-nascar .layout-title {
    max-width: 544px;
    margin-bottom: 52px;
}
.module-nascar .layout-title h1 {
    margin: 0;
}
.module-nascar .layout-logos {
    display: grid;
    grid-template-columns: repeat(6, auto);
    grid-gap: 20px;
    justify-content: space-between;
}
.module-nascar .layout-logos img {
    max-width: 100%;
    align-self: center;
    justify-self: center;
}
@media only screen and (max-width: 1120px) {
    .module-nascar .layout-logos {
        grid-template-columns: repeat(3, auto);
    }
}
@media only screen and (max-width: 719px) {
    .module-nascar .module-container {
        padding: 42px 16px 50px;
    }
    .module-nascar .layout-logos {
        justify-content: space-around;
        grid-template-columns: repeat(2, auto);
    }
}
.module-cta {
    padding: 72px 48px 88px 48px;
}
.module-cta .module-container {
    display: flex;
    flex-direction: column;
    text-align: center;
    max-width: 1120px;
    margin: 0 auto;
}
.module-cta .layout-title {
    margin-bottom: 16px;
}
.module-cta .layout-title h1 {
    margin: 0;
}
.module-cta .layout-oneliner {
    margin-bottom: 48px;
}
@media only screen and (max-width: 719px) {
    .module-cta {
        padding: 48px 32px 56px;
    }
    .module-cta .layout-title {
        margin-bottom: 50px;
    }
    .module-cta .layout-title h1 {
        
        font-style: normal;
        font-weight: bold;
        font-size: 32px;
        line-height: 36px;
    }
    .module-cta .layout-oneliner {
        
        font-style: normal;
        font-weight: normal;
        font-size: 18px;
        line-height: 24px;
        margin: 0 auto 40px;
        max-width: 200px;
    }
}
.card {
    color: #28004d;
    padding: 52px 56px 64px 52px;
    background: #fff;
}
.layout-card-heading {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 48px;
}
.card-title {
    
    font-style: normal;
    font-weight: bold;
    font-size: 42px;
    line-height: 48px;
    margin: 0;
}
.divider-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.divider-list-item {
    display: inline-block;
    
    font-style: normal;
    font-weight: normal;
    font-size: 12px;
    line-height: 20px;
}
.divider-list-item:not(:last-child):after {
    content: "";
    display: inline-block;
    height: 16px;
    width: 1px;
    background: #ed485f;
    vertical-align: middle;
    margin-left: 11px;
    margin-right: 8px;
}
.cta-button-fill,
.cta-button-outline {
    display: inline-block;
    font-size: 16px;
    line-height: 20px;
    padding: 10px 25px;
    min-width: 175px;
    text-align: center;
    border: none;
    position: relative;
    z-index: 0;
    cursor: pointer;
    text-decoration: none;
    outline: none;
}
.cta-button-fill:after,
.cta-button-outline:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -1;
    display: block;
    background: #ed485f;
}
.cta-button-fill {
    background: transparent;
    color: #fff;
}
.cta-button-fill:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -2;
    background-size: 150% 150%;
    transition: filter 0.4s ease-in-out;
    background-image: linear-gradient(167deg, #af4bbf 0%, #df3b82 7%, #ef2f36 13%, #cf3ed1 21%, #a653ea 33%, #995ddb 49%, #7990d6 66%, #5799c3 87%, #8c99d0 100%);
    border-top-left-radius: 25px;
    border-bottom-right-radius: 25px;
    filter: blur(12px) opacity(0);
}
.cta-button-fill:after {
    -webkit-clip-path: polygon(0 20px, 7px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 7px) 100%, 0 100%, 0 20px);
    clip-path: polygon(0 20px, 7px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 7px) 100%, 0 100%, 0 20px);
}
.cta-button-fill:focus:before,
.cta-button-fill:hover:before,
.cta-button-fill.is-active:before {
    filter: blur(12px) opacity(1);
}
.cta-button-fill.cta-button-large {
    padding: 18px 25px;
}
.cta-button-fill.cta-button-large:after {
    -webkit-clip-path: polygon(0 28px, 10px 0, 100% 0, 100% calc(100% - 28px), calc(100% - 10px) 100%, 0 100%, 0 28px);
    clip-path: polygon(0 28px, 10px 0, 100% 0, 100% calc(100% - 28px), calc(100% - 10px) 100%, 0 100%, 0 28px);
}
.cta-button-outline {
    background-color: transparent;
    color: #ed485f;
    border-color: #ed485f;
}
.cta-button-outline:after {
    -webkit-clip-path: polygon(
        0 20px,
        7px 0,
        100% 0,
        100% calc(100% - 20px),
        calc(100% - 7px) 100%,
        0 100%,
        0 20px,
        2px 20px,
        2px calc(100% - 2px),
        calc(100% - 8.41896201004171px) calc(100% - 2px),
        calc(100% - 2px) calc(100% - 20.339891457262027px),
        calc(100% - 2px) 2px,
        8.41896201px 2px,
        2px 20.33989146px
    );
    clip-path: polygon(
        0 20px,
        7px 0,
        100% 0,
        100% calc(100% - 20px),
        calc(100% - 7px) 100%,
        0 100%,
        0 20px,
        2px 20px,
        2px calc(100% - 2px),
        calc(100% - 8.41896201004171px) calc(100% - 2px),
        calc(100% - 2px) calc(100% - 20.339891457262027px),
        calc(100% - 2px) 2px,
        8.41896201px 2px,
        2px 20.33989146px
    );
}
.cta-button-outline:focus,
.cta-button-outline:hover,
.cta-button-outline.is-active {
    background: transparent;
    color: #fff;
}
.cta-button-outline:focus:before,
.cta-button-outline:hover:before,
.cta-button-outline.is-active:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -2;
    background-size: 150% 150%;
    transition: filter 0.4s ease-in-out;
    background-image: linear-gradient(167deg, #af4bbf 0%, #df3b82 7%, #ef2f36 13%, #cf3ed1 21%, #a653ea 33%, #995ddb 49%, #7990d6 66%, #5799c3 87%, #8c99d0 100%);
    border-top-left-radius: 25px;
    border-bottom-right-radius: 25px;
    filter: blur(12px) opacity(0);
}
.cta-button-outline:focus:after,
.cta-button-outline:hover:after,
.cta-button-outline.is-active:after {
    -webkit-clip-path: polygon(0 20px, 7px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 7px) 100%, 0 100%, 0 20px);
    clip-path: polygon(0 20px, 7px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 7px) 100%, 0 100%, 0 20px);
}
.cta-link {
    
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    margin-right: 20px;
}
.cta-link:after {
    content: "→";
    position: relative;
    transition: 0.4s;
    right: -3px;
}
.cta-link:hover:after {
    right: -8px;
}
hr {
    border: none;
    border-bottom: 1px solid #87849a;
    margin: 32px 0;
}
.mini-cta {
    margin: 40px 0;
}
.mini-cta h4 {
    
    font-style: normal;
    font-weight: bold;
    font-size: 20px;
    line-height: 28px;
    margin: 0;
}
.inverted-text {
    color: #28004d;
}
.centered-text {
    text-align: center;
}
@media only screen and (min-width: 1024px) {
    .hidden-desktop {
        display: none;
    }
}
@media only screen and (max-width: 1023px) {
    .hidden-tablet {
        display: none;
    }
}
@media only screen and (max-width: 719px) {
    .hidden-mobile {
        display: none;
    }
}
.login-page .forgot-password {
    
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 24px;
}
.login-page .signup-info {
    
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 24px;
}
.payment-wrapper {
    max-width: 1040px;
    margin: 0 auto;
    padding: 16px 0;
}
.credit-card-box {
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    margin: 40px auto;
    max-width: 800px;
    padding: 20px;
}
.credit-card-box form {
    margin: 0;
}
.credit-card-box p {
    display: inline-block;
    margin: 0;
    margin-bottom: 10px;
    font-weight: 300;
} /* stylelint-disable color-no-hex */
.mandatory-2fa .recovery-explanation {
    margin-bottom: 32px;
}
.mandatory-2fa .recovery-code {
    margin-bottom: 32px;
    text-align: center;
}
.mandatory-2fa .recovery-code code {
    padding: 8px 12px;
    border: 1px solid #87849a;
}
.mandatory-2fa .recovery-warning {
    padding: 8px 12px;
    margin-bottom: 32px;
    background: rgba(237, 72, 95, 0.1);
} /* stylelint-enable color-no-hex */ /* stylelint-disable color-no-hex */
