/* ── Lazy Load Fade-In (replaces ShortPixel AI) ───────────────────────────── */
.lazy--img {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    will-change: opacity, transform;
}

.lazy--img.lazy--visible {
    opacity: 1;
    transform: translateY(0);
}

[data-bg] {
    background-color: rgba(21, 25, 211, 0.15); /* subtle placeholder tint */
    transition: background-image 0.3s ease;
}
/* ─────────────────────────────────────────────────────────────────────────── */

/* PayPal and Modal Fixes */
.loading-modal {
    align-items: flex-start !important;
    overflow-y: auto !important;
    display: none;
    padding-top: 5vh;
}

.loader-is-open .loading-modal {
    display: flex;
    opacity: 1;
    pointer-events: all;
}

.loading-modal__inner {
    margin: auto;
    transform: none !important;
    position: relative;
    top: 0;
}

/* Premium PayPal Pricing Card */
#paypal-container-B6W2C25YZWHP6 {
    all: initial;
    /* Reset generic styles */
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 420px;
    margin: 30px auto;
    background: rgba(255, 255, 255, 0.05);
    /* Glassmorphism background */
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    font-family: interui, "system-ui", sans-serif;
    /* Enforce site font */
    color: #f5faf9;
}

#paypal-container-B6W2C25YZWHP6 * {
    all: revert;
    box-sizing: border-box;
    font-family: inherit;
}

#paypal-container-B6W2C25YZWHP6 form {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

/* Targeted styling for Hosted Button Text Nodes */
/* Using high specificity and !important to override internal PayPal/User-Agent styles */
/* DOM-Structure-Agnostic Text Replacement Strategy */

/* 1. Hide EVERYTHING in the container first */
#paypal-container-B6W2C25YZWHP6 {
    font-size: 0 !important;
    color: transparent !important;
}

/* 2. Reinject Title via Container Pseudo-element */
#paypal-container-B6W2C25YZWHP6::before {
    content: "Full Domain Database Access";
    display: block;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: #f5faf9 !important;
    text-align: center;
    margin-bottom: 5px !important;
    visibility: visible !important;
}

/* 3. Reinject Price via Form Pseudo-element */
#paypal-container-B6W2C25YZWHP6 form::before {
    content: "$6.00 / month";
    display: block;
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    color: #00ffbc !important;
    text-shadow: 0 0 10px rgba(0, 255, 188, 0.3);
    text-align: center;
    margin-bottom: 20px !important;
    visibility: visible !important;
}

/* 4. Restore visibility for the Buttons Container (The specific div) */
#paypal-container-B6W2C25YZWHP6 form>div {
    visibility: visible !important;
    font-size: 1rem !important;
    /* Restore normal text size for buttons */
    color: initial !important;
    width: 100%;
}

/* 5. Ensure form takes up space */
#paypal-container-B6W2C25YZWHP6 form {
    visibility: visible !important;
    /* The form block itself needs to be visible for layout */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px !important;
    /* Add space between button and payment icons */
}

/* Specific spacing for payment marks if they render as images */
#paypal-container-B6W2C25YZWHP6 form img {
    margin-top: 5px !important;
}

/* Hide direct text children if any remain visible */
#paypal-container-B6W2C25YZWHP6 form>*:not(div) {
    font-size: 0 !important;
}

#paypal-container-B6W2C25YZWHP6 p {
    /* Description */
    color: #e0f0ff !important;
    font-size: 1rem !important;
    opacity: 0.9;
    text-align: center;
    margin-bottom: 25px !important;
    line-height: 1.5;
}

/* The Checkout Button */
#paypal-container-B6W2C25YZWHP6 button,
#paypal-container-B6W2C25YZWHP6 input[type="submit"] {
    background-color: #00ffbc !important;
    color: #0a0c7a !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 16px 32px !important;
    font-size: 1.125rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    cursor: pointer;
    width: 100%;
    margin-top: 10px;
    transition: all 0.2s ease;
    box-shadow: 0 4px 15px rgba(0, 255, 188, 0.3);
    -webkit-appearance: none;
    appearance: none;
}

#paypal-container-B6W2C25YZWHP6 button:hover,
#paypal-container-B6W2C25YZWHP6 input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 255, 188, 0.5);
    background-color: #fff !important;
    /* Flash to white on hover */
}

/* Card Icons (if present) */
#paypal-container-B6W2C25YZWHP6 img.card-icon {
    margin-top: 15px;
    height: 25px;
    opacity: 0.7;
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button;
    appearance: button;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

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;
    appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden],
template {
    display: none
}

html {
    box-sizing: border-box
}

*,
:after,
:before {
    box-sizing: inherit
}

details>* {
    box-sizing: border-box
}

@font-face {
    font-family: system-ui;
    font-style: normal;
    font-weight: 300;
    src: local(".SFNSText-Light"), local(".HelveticaNeueDeskInterface-Light"), local(".LucidaGrandeUI"), local("Segoe UI Light"), local("Ubuntu Light"), local("Roboto-Light"), local("DroidSans"), local("Tahoma")
}

@font-face {
    font-family: system-ui;
    font-style: italic;
    font-weight: 300;
    src: local(".SFNSText-LightItalic"), local(".HelveticaNeueDeskInterface-Italic"), local(".LucidaGrandeUI"), local("Segoe UI Light Italic"), local("Ubuntu Light Italic"), local("Roboto-LightItalic"), local("DroidSans"), local("Tahoma")
}

@font-face {
    font-family: system-ui;
    font-style: normal;
    font-weight: 400;
    src: local(".SFNSText-Regular"), local(".HelveticaNeueDeskInterface-Regular"), local(".LucidaGrandeUI"), local("Segoe UI"), local("Ubuntu"), local("Roboto-Regular"), local("DroidSans"), local("Tahoma")
}

@font-face {
    font-family: system-ui;
    font-style: italic;
    font-weight: 400;
    src: local(".SFNSText-Italic"), local(".HelveticaNeueDeskInterface-Italic"), local(".LucidaGrandeUI"), local("Segoe UI Italic"), local("Ubuntu Italic"), local("Roboto-Italic"), local("DroidSans"), local("Tahoma")
}

@font-face {
    font-family: system-ui;
    font-style: normal;
    font-weight: 500;
    src: local(".SFNSText-Medium"), local(".HelveticaNeueDeskInterface-MediumP4"), local(".LucidaGrandeUI"), local("Segoe UI Semibold"), local("Ubuntu Medium"), local("Roboto-Medium"), local("DroidSans-Bold"), local("Tahoma Bold")
}

@font-face {
    font-family: system-ui;
    font-style: italic;
    font-weight: 500;
    src: local(".SFNSText-MediumItalic"), local(".HelveticaNeueDeskInterface-MediumItalicP4"), local(".LucidaGrandeUI"), local("Segoe UI Semibold Italic"), local("Ubuntu Medium Italic"), local("Roboto-MediumItalic"), local("DroidSans-Bold"), local("Tahoma Bold")
}

@font-face {
    font-family: system-ui;
    font-style: normal;
    font-weight: 700;
    src: local(".SFNSText-Bold"), local(".HelveticaNeueDeskInterface-Bold"), local(".LucidaGrandeUI"), local("Segoe UI Bold"), local("Ubuntu Bold"), local("Roboto-Bold"), local("DroidSans-Bold"), local("Tahoma Bold")
}

@font-face {
    font-family: system-ui;
    font-style: italic;
    font-weight: 700;
    src: local(".SFNSText-BoldItalic"), local(".HelveticaNeueDeskInterface-BoldItalic"), local(".LucidaGrandeUI"), local("Segoe UI Bold Italic"), local("Ubuntu Bold Italic"), local("Roboto-BoldItalic"), local("DroidSans-Bold"), local("Tahoma Bold")
}

@font-face {
    font-display: fallback;
    font-family: interui;
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/Inter-UI-Bold-subset.woff2) format("woff2"), url(../fonts/Inter-UI-Bold-subset.woff) format("woff")
}

@font-face {
    font-display: fallback;
    font-family: interui;
    font-style: italic;
    font-weight: 700;
    src: url(../fonts/Inter-UI-BoldItalic-subset.woff2) format("woff2"), url(../fonts/Inter-UI-BoldItalic-subset.woff) format("woff")
}

@font-face {
    font-display: fallback;
    font-family: interui;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/Inter-UI-Regular-subset.woff2) format("woff2"), url(../fonts/Inter-UI-Regular-subset.woff) format("woff")
}

@font-face {
    font-display: fallback;
    font-family: interui;
    font-style: italic;
    font-weight: 400;
    src: url(../fonts/Inter-UI-Italic-subset.woff2) format("woff2"), url(../fonts/Inter-UI-Italic-subset.woff) format("woff")
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    background-color: #0a0c7a;
    color: #f5faf9;
    font-family: interui, "system-ui", sans-serif;
    font-weight: 400;
    height: 100%;
    line-height: 1.35;
    scroll-behavior: smooth
}

[id] {
    scroll-margin-top: 80px
}

body {
    display: flex;
    flex-flow: column nowrap;
    font-size: 1rem;
    height: 100%;
    height: -webkit-fill-available
}

body.loader-is-open {
    overflow: hidden
}

.animate--unload body {
    -webkit-animation: htmlout ease-in 1;
    animation: htmlout ease-in 1;
    -webkit-animation-delay: 0ms;
    animation-delay: 0ms;
    animation-direction: reverse;
    -webkit-animation-duration: .2s;
    animation-duration: .2s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    opacity: 0
}

@-webkit-keyframes htmlout {
    0% {
        opacity: 0;
        transform: translateY(15px)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

@keyframes htmlout {
    0% {
        opacity: 0;
        transform: translateY(15px)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

address,
blockquote,
dl,
embed,
fieldset,
figure,
hr,
iframe,
ol,
p,
pre,
table,
ul {
    margin-bottom: 1.875rem;
    margin-top: 1.875rem
}

dd,
ol,
ul {
    padding-left: 1.875rem
}

dd {
    margin-left: 0
}

li ol,
li ul {
    margin-bottom: 0;
    margin-top: 0
}

small {
    font-size: type-style("body-text-small")
}

dd+dt {
    margin-top: .9375rem
}

b,
dt,
strong {
    font-weight: 700
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle
}

pre {
    white-space: pre-wrap
}

.h1,
h1 {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.75rem + 5.71429vw);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
    margin-top: 3em
}

.h1:first-child,
h1:first-child {
    margin-top: 0
}

.h1 a,
h1 a {
    color: inherit;
    text-decoration: none
}

.h1+ol,
.h1+p,
.h1+ul,
h1+ol,
h1+p,
h1+ul {
    margin-top: 20px
}

@media (min-width:1260px) {

    .h1,
    h1 {
        font-size: 6.25rem
    }
}

.h2,
h2 {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.5rem + 2.85714vw);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
    margin-top: 3em
}

.h2:first-child,
h2:first-child {
    margin-top: 0
}

.h2 a,
h2 a {
    color: inherit;
    text-decoration: none
}

.h2+ol,
.h2+p,
.h2+ul,
h2+ol,
h2+p,
h2+ul {
    margin-top: 20px
}

@media (min-width:1260px) {

    .h2,
    h2 {
        font-size: 3.75rem
    }
}

.h3,
h3 {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.4375rem + 2.14286vw);
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 10px;
    margin-top: 3em
}

.h3:first-child,
h3:first-child {
    margin-top: 0
}

.h3 a,
h3 a {
    color: inherit;
    text-decoration: none
}

.h3+ol,
.h3+p,
.h3+ul,
h3+ol,
h3+p,
h3+ul {
    margin-top: 20px
}

@media (min-width:1260px) {

    .h3,
    h3 {
        font-size: 3.125rem
    }
}

.h4,
h4 {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    margin-top: 3em
}

.h4:first-child,
h4:first-child {
    margin-top: 0
}

.h4 a,
h4 a {
    color: inherit;
    text-decoration: none
}

.h4+ol,
.h4+p,
.h4+ul,
h4+ol,
h4+p,
h4+ul {
    margin-top: 20px
}

@media (min-width:1260px) {

    .h4,
    h4 {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {

    .h4,
    h4 {
        font-size: 1.875em
    }
}

.h5,
h5 {
    color: inherit;
    font-family: inherit;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 10px;
    margin-top: 3em
}

.h5:first-child,
h5:first-child {
    margin-top: 0
}

.h5 a,
h5 a {
    color: inherit;
    text-decoration: none
}

.h5+ol,
.h5+p,
.h5+ul,
h5+ol,
h5+p,
h5+ul {
    margin-top: 20px
}

.h6,
h6 {
    color: inherit;
    font-family: inherit;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 10px;
    margin-top: 3em
}

.h6:first-child,
h6:first-child {
    margin-top: 0
}

.h6 a,
h6 a {
    color: inherit;
    text-decoration: none
}

.h6+ol,
.h6+p,
.h6+ul,
h6+ol,
h6+p,
h6+ul {
    margin-top: 20px
}

table {
    border-collapse: collapse;
    width: 100%
}

table caption {
    margin-bottom: .9375rem;
    text-align: center
}

thead,
tr {
    border-bottom: 1px solid
}

tr:last-child {
    border-bottom: 0
}

td,
th {
    border-right: 1px solid;
    padding: .25rem .5rem
}

td:last-child,
th:last-child {
    border-right: 0
}

th {
    font-weight: inherit;
    text-align: inherit
}

tfoot tr {
    border-top: 1px solid
}

figure {
    font-size: 14px;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    text-align: center
}

figcaption {
    padding: .9375rem
}

blockquote {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin: 1.875rem 0
}

blockquote>:first-child {
    margin-top: 0 !important
}

blockquote>:last-child {
    margin-bottom: 0 !important
}

blockquote:first-child {
    margin-top: 0
}

blockquote a {
    color: inherit;
    text-decoration: none
}

blockquote+ol,
blockquote+p,
blockquote+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    blockquote {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    blockquote {
        font-size: 1.875em
    }
}

::-moz-selection {
    background: #f5faf9;
    color: #0a0c7a;
    text-shadow: none
}

::selection {
    background: #f5faf9;
    color: #0a0c7a;
    text-shadow: none
}

::-moz-placeholder {
    color: #0a0c7a;
    opacity: .7
}

::placeholder {
    color: #0a0c7a;
    opacity: .7
}

form>:first-child {
    margin-top: 0 !important
}

form>:last-child {
    margin-bottom: 0 !important
}

form [type=submit] {
    padding: calc(1em - 1px) calc(1.25em - 1px)
}

@media (min-width:48em) {
    form [type=submit] {
        padding: calc(1em - 1px) 1.1em
    }
}

fieldset {
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    width: 100%
}

label {
    display: inline-block;
    margin-bottom: .46875rem
}

[type=color],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
textarea {
    background-color: #f5faf9;
    border: 1px solid transparent;
    border-radius: 7px;
    box-shadow: none;
    color: #0a0c7a;
    display: block;
    font-family: inherit;
    font-size: 1em;
    line-height: 1.25;
    line-height: inherit;
    padding: calc(1em - 1px) calc(1.25em - 1px);
    transition: color .3s ease-in-out 0s, background-color .3s ease-in-out 0s, border-color .3s ease-in-out 0s, box-shadow .3s ease-in-out 0s, transform .3s ease-in-out 0s;
    width: 100%
}

[type=color]:active,
[type=color]:focus,
[type=date]:active,
[type=date]:focus,
[type=datetime-local]:active,
[type=datetime-local]:focus,
[type=datetime]:active,
[type=datetime]:focus,
[type=email]:active,
[type=email]:focus,
[type=month]:active,
[type=month]:focus,
[type=number]:active,
[type=number]:focus,
[type=password]:active,
[type=password]:focus,
[type=search]:active,
[type=search]:focus,
[type=tel]:active,
[type=tel]:focus,
[type=text]:active,
[type=text]:focus,
[type=time]:active,
[type=time]:focus,
[type=url]:active,
[type=url]:focus,
[type=week]:active,
[type=week]:focus,
textarea:active,
textarea:focus {
    outline: none
}

@media (min-width:62em) {

    [type=color],
    [type=date],
    [type=datetime-local],
    [type=datetime],
    [type=email],
    [type=month],
    [type=number],
    [type=password],
    [type=search],
    [type=tel],
    [type=text],
    [type=time],
    [type=url],
    [type=week],
    textarea {
        font-size: 1.25em;
        line-height: 1.25
    }
}

@media (min-width:48em) {

    [type=color],
    [type=date],
    [type=datetime-local],
    [type=datetime],
    [type=email],
    [type=month],
    [type=number],
    [type=password],
    [type=search],
    [type=tel],
    [type=text],
    [type=time],
    [type=url],
    [type=week],
    textarea {
        padding: calc(1em - 1px) 1.1em
    }
}

[type=color]::-moz-selection,
[type=date]::-moz-selection,
[type=datetime-local]::-moz-selection,
[type=datetime]::-moz-selection,
[type=email]::-moz-selection,
[type=month]::-moz-selection,
[type=number]::-moz-selection,
[type=password]::-moz-selection,
[type=search]::-moz-selection,
[type=tel]::-moz-selection,
[type=text]::-moz-selection,
[type=time]::-moz-selection,
[type=url]::-moz-selection,
[type=week]::-moz-selection,
textarea::-moz-selection {
    background: #0a0c7a;
    color: #f5faf9
}

[type=color]::selection,
[type=date]::selection,
[type=datetime-local]::selection,
[type=datetime]::selection,
[type=email]::selection,
[type=month]::selection,
[type=number]::selection,
[type=password]::selection,
[type=search]::selection,
[type=tel]::selection,
[type=text]::selection,
[type=time]::selection,
[type=url]::selection,
[type=week]::selection,
textarea::selection {
    background: #0a0c7a;
    color: #f5faf9
}

[type=color]:focus,
[type=color]:hover,
[type=date]:focus,
[type=date]:hover,
[type=datetime-local]:focus,
[type=datetime-local]:hover,
[type=datetime]:focus,
[type=datetime]:hover,
[type=email]:focus,
[type=email]:hover,
[type=month]:focus,
[type=month]:hover,
[type=number]:focus,
[type=number]:hover,
[type=password]:focus,
[type=password]:hover,
[type=search]:focus,
[type=search]:hover,
[type=tel]:focus,
[type=tel]:hover,
[type=text]:focus,
[type=text]:hover,
[type=time]:focus,
[type=time]:hover,
[type=url]:focus,
[type=url]:hover,
[type=week]:focus,
[type=week]:hover,
textarea:focus,
textarea:hover {
    box-shadow: 0 0 0 4px rgba(0, 255, 188, .5)
}

[type=color]:first-child,
[type=date]:first-child,
[type=datetime-local]:first-child,
[type=datetime]:first-child,
[type=email]:first-child,
[type=month]:first-child,
[type=number]:first-child,
[type=password]:first-child,
[type=search]:first-child,
[type=tel]:first-child,
[type=text]:first-child,
[type=time]:first-child,
[type=url]:first-child,
[type=week]:first-child,
textarea:first-child {
    margin-top: 0
}

[type=color]:last-child,
[type=date]:last-child,
[type=datetime-local]:last-child,
[type=datetime]:last-child,
[type=email]:last-child,
[type=month]:last-child,
[type=number]:last-child,
[type=password]:last-child,
[type=search]:last-child,
[type=tel]:last-child,
[type=text]:last-child,
[type=time]:last-child,
[type=url]:last-child,
[type=week]:last-child,
textarea:last-child {
    margin-bottom: 0
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #f5faf9;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23666%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(180deg, #f5faf9 0, #f5faf9);
    background-position: right .7em top 50%, 0 0;
    background-repeat: no-repeat, repeat;
    background-size: .65em auto, 100%;
    border: 1px solid transparent;
    border-radius: 7px;
    box-shadow: none;
    color: #0a0c7a;
    cursor: pointer;
    display: block;
    font-family: inherit;
    font-size: 1em;
    line-height: 1.25;
    line-height: inherit;
    max-width: 100%;
    padding: calc(1em - 1px) calc(1.25em - 1px);
    position: relative;
    transition: color .3s ease-in-out 0s, background-color .3s ease-in-out 0s, border-color .3s ease-in-out 0s, box-shadow .3s ease-in-out 0s, transform .3s ease-in-out 0s;
    width: 100%
}

select::-ms-expand {
    display: none
}

select:active,
select:focus {
    background-color: transparent;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(180deg, #f5faf9 0, #f5faf9)
}

select option {
    font-weight: 400
}

:root:lang(ar) select,
:root:lang(iw) select,
[dir=rtl] select {
    background-position: left .7em top 50%, 0 0;
    padding-left: 1.4em;
    padding-right: calc(1em - 1px) calc(1.25em - 1px)
}

select:active,
select:focus {
    outline: none
}

@media (min-width:62em) {
    select {
        font-size: 1.25em;
        line-height: 1.25
    }
}

@media (min-width:48em) {
    select {
        padding: calc(1em - 1px) 1.1em
    }
}

select::-moz-selection {
    background: #0a0c7a;
    color: #f5faf9
}

select::selection {
    background: #0a0c7a;
    color: #f5faf9
}

select:focus,
select:hover {
    box-shadow: 0 0 0 4px rgba(0, 255, 188, .5)
}

select:first-child {
    margin-top: 0
}

select:last-child {
    margin-bottom: 0
}

[multiple],
textarea {
    height: 100px;
    resize: vertical
}

img {
    display: inline-block;
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    width: auto
}

a {
    color: inherit;
    text-decoration: underline
}

a:active,
a:focus,
a:hover {
    color: inherit;
    text-decoration: none
}

svg {
    max-height: 100%;
    width: 100%
}

.svg-inheritcolor path,
.svg-inheritcolor polygon,
.svg-inheritcolor svg {
    fill: currentColor
}

.button,
[type=button],
[type=reset],
[type=submit],
button {
    align-items: center;
    background: transparent;
    background-color: #00ffbc;
    border: 0 solid #00ffbc;
    border-radius: 0;
    border-radius: 7px;
    color: #0a0c7a;
    cursor: pointer;
    display: inline-flex;
    font-size: 20px;
    font-weight: inherit;
    font-weight: 700;
    justify-content: center;
    letter-spacing: inherit;
    line-height: inherit;
    line-height: 1.2;
    margin-bottom: 0;
    margin-top: 0;
    padding: 15px 50px;
    text-align: center;
    text-decoration: none;
    text-transform: inherit;
    transition: color .3s ease-in-out 0s, background-color .3s ease-in-out 0s, border-color .3s ease-in-out 0s, box-shadow .3s ease-in-out 0s, transform .3s ease-in-out 0s
}

.button:hover,
[type=button]:hover,
[type=reset]:hover,
[type=submit]:hover,
button:hover {
    box-shadow: none
}

@media (min-width:48em) {

    .button,
    [type=button],
    [type=reset],
    [type=submit],
    button {
        padding-bottom: 20px;
        padding-top: 20px
    }
}

.button .svg-asset,
[type=button] .svg-asset,
[type=reset] .svg-asset,
[type=submit] .svg-asset,
button .svg-asset {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    margin: 0 .4em;
    vertical-align: middle
}

.button .svg-asset svg,
[type=button] .svg-asset svg,
[type=reset] .svg-asset svg,
[type=submit] .svg-asset svg,
button .svg-asset svg {
    align-items: center;
    display: inline-flex;
    height: 22px;
    width: 22px
}

.button:focus,
.button:hover,
[type=button]:focus,
[type=button]:hover,
[type=reset]:focus,
[type=reset]:hover,
[type=submit]:focus,
[type=submit]:hover,
button:focus,
button:hover {
    box-shadow: 0 0 0 4px rgba(0, 255, 188, .5)
}

.button:focus:active,
.button:focus:focus,
.button:hover:active,
.button:hover:focus,
[type=button]:focus:active,
[type=button]:focus:focus,
[type=button]:hover:active,
[type=button]:hover:focus,
[type=reset]:focus:active,
[type=reset]:focus:focus,
[type=reset]:hover:active,
[type=reset]:hover:focus,
[type=submit]:focus:active,
[type=submit]:focus:focus,
[type=submit]:hover:active,
[type=submit]:hover:focus,
button:focus:active,
button:focus:focus,
button:hover:active,
button:hover:focus {
    outline: none
}

.button:active,
[type=button]:active,
[type=reset]:active,
[type=submit]:active,
button:active {
    box-shadow: none
}

.button:hover,
[type=button]:hover,
[type=reset]:hover,
[type=submit]:hover,
button:hover {
    background-color: #00ffbc;
    border-color: #00ffbc;
    color: #0a0c7a
}

.button--sm {
    padding: 16px 28px
}

.container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1260px;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%
}

@media (min-width:48em) {
    .container {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media (min-width:62em) {
    .container {
        padding-left: 40px;
        padding-right: 40px
    }
}

.img-fit {
    display: block;
    position: relative
}

.img-fit iframe,
.img-fit img,
.img-fit picture {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    position: absolute;
    top: 0;
    width: 100%
}

.img-fit--fallback {
    background-position: 50%;
    background-size: cover
}

.img-fit--fallback img {
    opacity: 0
}

.img-fit--contain {
    background-size: contain
}

.img-fit--contain img {
    -o-object-fit: contain;
    object-fit: contain
}

.img-fit--square {
    height: 0;
    padding-top: 100%
}

.img-fit--landscape {
    height: 0;
    padding-top: 66.66667%
}

.img-fit--portrait {
    height: 0;
    padding-top: 150%
}

.site {
    display: flex;
    flex: 1;
    flex-flow: column nowrap;
    height: 100%;
    scroll-behavior: smooth;
    width: 100%
}

.enter-animation--enable {
    opacity: 0;
    transform: translateY(20px);
    transition: .3s linear .2s;
    transition-property: opacity, transform;
    will-change: transform
}

.enter-animation--in {
    opacity: 1;
    transform: translateY(0)
}

@-webkit-keyframes fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes fade-up {
    0% {
        opacity: 0;
        transform: translateY(15px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.media {
    align-items: flex-start;
    display: flex;
    flex-flow: column wrap
}

@media (min-width:48em) {
    .media {
        flex-direction: row
    }
}

.media__asset>:first-child {
    margin-top: 0 !important
}

.media__asset>:last-child {
    margin-bottom: 0 !important
}

.media__content {
    flex: 1
}

.media__content>:first-child {
    margin-top: 0 !important
}

.media__content>:last-child {
    margin-bottom: 0 !important
}

.svg-asset {
    display: block
}

.svg-asset--sumo {
    width: 270px
}

.svg-asset--can {
    width: 160px
}

.svg-asset--balloons {
    width: 270px
}

.svg-asset--car,
.svg-asset--plane {
    width: 370px
}

.svg-asset--circles-going-right {
    width: 320px
}

.svg-asset--circles-going-left {
    width: 260px
}

.js-countup[data-count] {
    font-feature-settings: "tnum";
    display: inline-grid;
    font-variant-numeric: tabular-nums;
    grid-template-areas: "content";
    grid-template-columns: auto;
    grid-template-rows: auto;
    place-items: center
}

.js-countup[data-count]:before {
    content: attr(data-count);
    display: inline;
    opacity: 0;
    padding-right: .1em;
    pointer-events: none
}

.js-countup[data-count] .js-countup-content,
.js-countup[data-count]:before {
    grid-area: content
}

.stat__number {
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums
}

.highlight {
    color: #1519d3;
    display: inline-block;
    padding-left: .3em;
    padding-right: .3em;
    position: relative;
    z-index: 0
}

.highlight::-moz-selection {
    background: #0a0c7a;
    color: #f5faf9
}

.highlight::selection {
    background: #0a0c7a;
    color: #f5faf9
}

.highlight>svg {
    fill: #f5faf9;
    bottom: -.1em;
    height: calc(100% + .2em);
    left: 0;
    max-height: none;
    position: absolute;
    right: 0;
    top: -.1em;
    width: 100%;
    z-index: -1
}

.highlight--grade {
    color: #0a0c7a;
    font-size: 100px;
    font-weight: 700;
    padding-left: .5em;
    padding-right: .5em
}

.highlight--grade--A+ {
    padding-left: 0;
    padding-right: 0
}

.highlight--grade--A svg path {
    fill: #57ff6e
}

.highlight--grade--B svg path {
    fill: #8eff43
}

.highlight--grade--C svg path {
    fill: #cbff1d
}

.highlight--grade--D svg path {
    fill: #faf60a
}

.highlight--grade--E svg path {
    fill: #fbb709
}

.highlight--grade--F svg path {
    fill: #fb0007
}

.highlight sup {
    font-size: 65%;
    top: -.4em
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px
}

.screen-reader-text:focus {
    clip: auto;
    display: block;
    height: auto;
    left: 7.5px;
    top: 7.5px;
    width: auto;
    z-index: 100000
}

main {
    display: flex;
    flex: 1;
    flex-flow: column nowrap;
    margin-bottom: 80px
}

main>:last-child {
    margin-bottom: 0 !important
}

@media (min-width:48em) {
    main {
        margin-bottom: 80px
    }
}

@media (min-width:62em) {
    main {
        margin-bottom: 130px
    }
}

body:not(.home) main {
    -webkit-animation: htmlin ease-in 1;
    animation: htmlin ease-in 1;
    -webkit-animation-delay: 0ms;
    animation-delay: 0ms;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    opacity: 0
}

@-webkit-keyframes htmlin {
    0% {
        opacity: 0;
        transform: translateY(15px)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

@keyframes htmlin {
    0% {
        opacity: 0;
        transform: translateY(15px)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

.announcement-banner {
    -webkit-animation: banner-in ease-in 1;
    animation: banner-in ease-in 1;
    -webkit-animation-delay: 0ms;
    animation-delay: 0ms;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    background: #ffec29;
    color: #0a0c7a;
    opacity: 0;
    padding-bottom: 11px;
    padding-top: 11px;
    text-align: center;
    width: 100%
}

@-webkit-keyframes banner-in {
    0% {
        opacity: 0;
        transform: translate(0)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

@keyframes banner-in {
    0% {
        opacity: 0;
        transform: translate(0)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

@media (min-width:48em) {
    .announcement-banner {
        padding-bottom: 17px;
        padding-top: 17px
    }
}

.announcement-banner__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1260px;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%
}

@media (min-width:48em) {
    .announcement-banner__inner {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media (min-width:62em) {
    .announcement-banner__inner {
        padding-left: 40px;
        padding-right: 40px
    }
}

.announcement-banner__icon {
    background-image: url(../images/rocket.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    display: none;
    flex-shrink: 0;
    height: 24px;
    margin-right: 10px;
    width: 33px
}

@media (min-width:48em) {
    .announcement-banner__icon {
        display: inline-block
    }
}

.announcement-banner__message {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    font-size: .875rem;
    justify-content: center
}

.announcement-banner__message>:first-child {
    margin-top: 0 !important
}

.announcement-banner__message>:last-child {
    margin-bottom: 0 !important
}

@media (min-width:48em) {
    .announcement-banner__message {
        font-size: 16px
    }
}

.announcement-banner__message a {
    word-break: none
}

.announcement-banner__message>p {
    display: inline-block;
    margin-top: 0
}

.header {
    background-color: #0a0c7a;
    color: #f5faf9
}

.header__logo {
    display: block;
    font-weight: 700;
    line-height: 1.16;
    max-width: 6em;
    width: auto
}

@media (min-width:48em) {
    .header__logo {
        font-size: 1.2em;
        max-width: none
    }
}

.header__container {
    -webkit-animation: header-container-in ease-in 1;
    animation: header-container-in ease-in 1;
    -webkit-animation-delay: 0ms;
    animation-delay: 0ms;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    margin-left: auto;
    margin-right: auto;
    max-width: 1260px;
    opacity: 0;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%
}

@media (min-width:48em) {
    .header__container {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media (min-width:62em) {
    .header__container {
        padding-left: 40px;
        padding-right: 40px
    }
}

@-webkit-keyframes header-container-in {
    0% {
        opacity: 0;
        transform: translate(0)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

@keyframes header-container-in {
    0% {
        opacity: 0;
        transform: translate(0)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

.header__container:after {
    border-bottom: 3px solid #1519d3;
    content: "";
    display: block
}

.header__inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-bottom: 1rem;
    padding-top: 1rem
}

@media (min-width:36em) {
    .header__inner {
        align-items: flex-end
    }
}

@media (min-width:48em) {
    .header__inner {
        align-items: baseline;
        padding-bottom: 30px;
        padding-top: 60px
    }
}

.header__menu-wrapper ul {
    list-style: none;
    margin-bottom: 0;
    margin-top: 0;
    padding-left: 0
}

.header a {
    text-decoration: none
}

.header a:hover {
    text-decoration: underline
}

.header__navigation ul {
    list-style: none;
    margin-bottom: 0;
    margin-top: 0;
    padding-left: 0
}

.header__navigation li {
    position: relative
}

.header__navigation a {
    display: block;
    font-size: 1em;
    line-height: 1.25
}

@media (min-width:62em) {
    .header__navigation a {
        font-size: 1.25em;
        line-height: 1.25
    }
}

.header__navigation>ul {
    display: flex
}

.header__navigation>ul>li {
    margin-right: 1rem
}

.header__navigation>ul>li:last-child {
    margin-right: 0
}

.header__navigation .main-menu {
    display: grid
}

@media (min-width:27.5em) {
    .header__navigation .main-menu {
        grid-template-columns: auto auto
    }
}

@media (max-width:35.99em) {
    .header__navigation .main-menu {
        grid-column-gap: .5rem
    }
}

@media (min-width:36em) {
    .header__navigation .main-menu {
        display: flex
    }
}

.header__navigation .main-menu li {
    margin: .3rem 0 .3rem 1rem
}

.header__navigation .sub-menu {
    display: none;
    position: absolute;
    top: 100%
}

.header__navigation .menu-item-has-children:active .sub-menu,
.header__navigation .menu-item-has-children:focus .sub-menu,
.header__navigation .menu-item-has-children:hover .sub-menu {
    display: block
}

.footer {
    padding-bottom: 30px
}

@media (min-width:48em) {
    .footer {
        padding-bottom: 30px
    }
}

@media (min-width:62em) {
    .footer {
        padding-bottom: 70px
    }
}

.footer__container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1260px;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%
}

@media (min-width:48em) {
    .footer__container {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media (min-width:62em) {
    .footer__container {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media (min-width:48em) {
    .footer__container {
        align-items: flex-end;
        display: flex;
        flex-flow: row-reverse nowrap;
        justify-content: space-between
    }
}

.footer__address {
    font-size: .875rem
}

.footer__menu {
    margin-bottom: 20px
}

@media (min-width:48em) {
    .footer__menu {
        margin-bottom: 0
    }
}

.footer__menu a {
    font-size: 1em;
    line-height: 1.25;
    text-decoration: none
}

@media (min-width:62em) {
    .footer__menu a {
        font-size: 1.25em;
        line-height: 1.25
    }
}

.footer__menu a:hover {
    text-decoration: underline
}

.footer__menu>* {
    margin-right: 1em
}

.footer__menu>:last-child {
    margin-right: 0
}

.section {
    margin-bottom: 50px;
    margin-top: 50px;
    position: relative
}

@media (min-width:48em) {
    .section {
        margin-top: 50px
    }
}

@media (min-width:62em) {
    .section {
        margin-top: 100px
    }
}

@media (min-width:48em) {
    .section {
        margin-bottom: 50px
    }
}

@media (min-width:62em) {
    .section {
        margin-bottom: 100px
    }
}

@media (min-width:48em) {
    .section {
        margin-top: 60px
    }
}

.section--outline {
    padding: 55px 32px
}

@media (min-width:48em) {
    .section--outline {
        padding-top: 55px
    }
}

@media (min-width:62em) {
    .section--outline {
        padding-top: 75px
    }
}

@media (min-width:48em) {
    .section--outline {
        padding-bottom: 55px
    }
}

@media (min-width:62em) {
    .section--outline {
        padding-bottom: 75px
    }
}

@media (min-width:36em) {
    .section--outline {
        padding-left: 60px;
        padding-right: 60px
    }
}

.section--outline>.svg-asset {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -2
}

.section--outline>.svg-asset svg {
    height: 100%
}

.section--outline>.svg-asset--desktop {
    display: none
}

@media (min-width:48em) {
    .section--outline>.svg-asset--desktop {
        display: inline
    }

    .section--outline>.svg-asset--mobile {
        display: none
    }
}

.section--background {
    padding-bottom: 50px;
    padding-top: 50px
}

@media (min-width:48em) {
    .section--background {
        padding-top: 50px
    }
}

@media (min-width:62em) {
    .section--background {
        padding-top: 70px
    }
}

@media (min-width:48em) {
    .section--background {
        padding-bottom: 50px
    }
}

@media (min-width:62em) {
    .section--background {
        padding-bottom: 70px
    }
}

@media (min-width:48em) {
    .section--background {
        padding-left: 60px;
        padding-right: 60px
    }
}

.section--background.section--large {
    padding-bottom: 70px;
    padding-top: 70px
}

@media (min-width:48em) {
    .section--background.section--large {
        padding-top: 70px
    }
}

@media (min-width:62em) {
    .section--background.section--large {
        padding-top: 100px
    }
}

@media (min-width:48em) {
    .section--background.section--large {
        padding-bottom: 70px
    }
}

@media (min-width:62em) {
    .section--background.section--large {
        padding-bottom: 100px
    }
}

@media (min-width:48em) {
    .section--background.section--large {
        padding-left: 80px;
        padding-right: 80px
    }
}

@media (min-width:75em) {
    .section--background.section--large {
        padding-left: 140px;
        padding-right: 140px
    }
}

.section--background>.svg-asset {
    bottom: 0;
    color: #1519d3;
    position: absolute;
    top: 0;
    z-index: -1
}

@media (max-width:47.99em) {
    .section--background>.svg-asset {
        display: flex;
        height: 100%;
        overflow: hidden;
        right: -20px;
        top: 0;
        width: calc(100% + 40px)
    }
}

@media (min-width:48em) {
    .section--background>.svg-asset {
        left: 0;
        right: 0
    }
}

.section--background>.svg-asset svg {
    height: 100%
}

@media (max-width:47.99em) {
    .section--background>.svg-asset svg {
        flex: 1 0 120%;
        margin-left: -10%;
        width: 120%
    }
}

.section--background>.svg-asset--desktop {
    display: none
}

@media (min-width:48em) {
    .section--background>.svg-asset--desktop {
        display: inline
    }

    .section--background>.svg-asset--mobile {
        display: none
    }
}

.section__header {
    margin-bottom: 20px
}

.section__header>:first-child {
    margin-top: 0 !important
}

.section__header>:last-child {
    margin-bottom: 0 !important
}

.section__heading {
    color: inherit;
    display: block;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 20px;
    margin-top: 3em;
    position: relative
}

.section__heading:first-child {
    margin-top: 0
}

.section__heading a {
    color: inherit;
    text-decoration: none
}

.section__heading+ol,
.section__heading+p,
.section__heading+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .section__heading {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .section__heading {
        font-size: 1.875em
    }
}

@media (min-width:48em) {
    .section__heading {
        margin-bottom: 40px
    }
}

@media (min-width:62em) {
    .section__heading {
        margin-bottom: 40px
    }
}

.section__content {
    display: block;
    text-align: left;
    width: 100%
}

.section__content>:first-child {
    margin-top: 0 !important
}

.section__content>:last-child {
    margin-bottom: 0 !important
}

.loading-modal {
    align-items: center;
    bottom: 0;
    display: none;
    flex-flow: column nowrap;
    justify-content: center;
    left: 0;
    opacity: 0;
    overflow: auto;
    pointer-events: none;
    position: fixed;
    right: 0;
    text-align: center;
    top: 0
}

.loading-modal__inner {
    color: #f5faf9;
    margin-bottom: 0;
    margin-top: 0;
    max-width: 1040px;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
    z-index: 1
}

.loading-modal__inner>.svg-asset {
    left: 0;
    right: 0
}

.loading-modal__background {
    background: #0a0c7a;
    bottom: 0;
    left: 0;
    opacity: .8;
    position: fixed;
    right: 0;
    top: 0
}

.loading-modal__fact {
    animation: factfade .3s ease-in 1 forwards, factfade .3s ease-in 9.7s 1 reverse forwards;
    margin: 0 auto 50px;
    max-width: 634px
}

@-webkit-keyframes factfade {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes factfade {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@media (min-width:48em) {
    .loading-modal__fact {
        margin-bottom: 80px
    }
}

.loading-modal__fact-text {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    margin-top: 3em
}

.loading-modal__fact-text:first-child {
    margin-top: 0
}

.loading-modal__fact-text a {
    color: inherit;
    text-decoration: none
}

.loading-modal__fact-text+ol,
.loading-modal__fact-text+p,
.loading-modal__fact-text+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .loading-modal__fact-text {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .loading-modal__fact-text {
        font-size: 1.875em
    }
}

.loading-modal__fact-attribution {
    font-size: 1.2em
}

.loading-modal__animation {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto;
    max-width: 300px
}

@media (min-width:48em) {
    .loading-modal__animation {
        margin-bottom: 60px;
        max-width: 710px
    }
}

.loading-modal__animation .animation-svg {
    display: inline-block
}

.loading-modal__animation .animation-svg--laptop {
    width: 35.2%
}

@media (min-width:48em) {
    .loading-modal__animation .animation-svg--laptop {
        width: 13.8%
    }
}

.loading-modal__animation .animation-svg--line {
    position: relative
}

.loading-modal__animation .animation-svg--line path {
    stroke: #00ffbc;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    -webkit-animation: linePulse 1.1s ease-in-out .25s 1 forwards, lineFade 1.1s ease-in-out .9s 1 forwards;
    animation: linePulse 1.1s ease-in-out .25s 1 forwards, lineFade 1.1s ease-in-out .9s 1 forwards;
    transition: stroke .4s ease-in-out;
    will-change: stroke-dashoffset
}

@-webkit-keyframes linePulse {
    to {
        stroke-dashoffset: 0
    }
}

@keyframes linePulse {
    to {
        stroke-dashoffset: 0
    }
}

@-webkit-keyframes lineFade {
    0% {
        stroke-dashoffset: 2000
    }

    to {
        stroke-dashoffset: 1000
    }
}

@keyframes lineFade {
    0% {
        stroke-dashoffset: 2000
    }

    to {
        stroke-dashoffset: 1000
    }
}

.loading-modal__animation .animation-svg--line--desktop {
    display: none;
    margin-left: -3%;
    width: 73.8%
}

@media (min-width:48em) {
    .loading-modal__animation .animation-svg--line--desktop {
        display: inline-block
    }
}

.loading-modal__animation .animation-svg--line--mobile {
    transform: scale(1.25) translateX(-8%);
    width: 44.6%
}

@media (min-width:48em) {
    .loading-modal__animation .animation-svg--line--mobile {
        display: none
    }
}

.loading-modal__animation .animation-svg--server {
    width: 29.8%;
    z-index: 1
}

@media (min-width:48em) {
    .loading-modal__animation .animation-svg--server {
        width: 11.7%
    }
}

.loader-is-open .loading-modal {
    display: flex;
    opacity: 1;
    pointer-events: all
}

.loading-modal__status {
    display: inline-block;
    position: relative
}

.loading-modal__status-message {
    -webkit-animation: messageup ease-in 1;
    animation: messageup ease-in 1;
    -webkit-animation-delay: 0ms;
    animation-delay: 0ms;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-duration: .2s;
    animation-duration: .2s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    opacity: 0
}

@-webkit-keyframes messageup {
    0% {
        opacity: 0;
        transform: translate(0)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

@keyframes messageup {
    0% {
        opacity: 0;
        transform: translate(0)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

.loading-modal__status-loading:after {
    -webkit-animation: ellipsis 2s steps(4) infinite;
    animation: ellipsis 2s steps(4) infinite;
    content: "\2026";
    display: inline-block;
    left: 100%;
    overflow: hidden;
    position: absolute;
    vertical-align: bottom;
    width: 0
}

@-webkit-keyframes ellipsis {
    to {
        width: 1.25em
    }
}

@keyframes ellipsis {
    to {
        width: 1.25em
    }
}

.loading-modal__new-test {
    -webkit-animation: testbuttonin ease-in 1;
    animation: testbuttonin ease-in 1;
    -webkit-animation-delay: 0ms;
    animation-delay: 0ms;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-duration: .2s;
    animation-duration: .2s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    display: none;
    opacity: 0
}

@-webkit-keyframes testbuttonin {
    0% {
        opacity: 0;
        transform: translate(0)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

@keyframes testbuttonin {
    0% {
        opacity: 0;
        transform: translate(0)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

.loading-modal__new-test .svg-asset {
    transform: rotate(-90deg)
}

.loading-modal--is-error .animation-svg--line path {
    stroke: #ff005b;
    stroke-dasharray: 0
}

.loading-modal--is-error .loading-modal__new-test {
    display: inline-block
}

.table-heading {
    margin-bottom: 50px;
    margin-top: 50px
}

.table-heading table {
    margin-top: 0
}

.table-heading .svg-asset--asterix {
    display: none;
    margin-right: 1em;
    width: 50px
}

@media (min-width:62em) {
    .table-heading .svg-asset--asterix {
        display: inline-block
    }
}

@media (max-width:47.99em) {
    .section--showcase {
        margin-left: -20px;
        margin-right: -20px;
        overflow: hidden;
        padding-left: 20px;
        padding-right: 20px
    }
}

.section--showcase .grid {
    text-align: center
}

@media (max-width:47.99em) {
    .section--showcase .grid {
        display: flex;
        margin-left: -20px;
        margin-right: -20px;
        overflow-x: auto;
        padding-bottom: 20px;
        padding-left: 20px;
        padding-right: 20px;
        scroll-snap-type: x mandatory
    }
}

@media (min-width:48em) {
    .section--showcase .grid {
        grid-gap: 35px;
        grid-row-gap: 70px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-rows: auto auto
    }
}

.section--showcase .card {
    position: relative
}

@media (max-width:47.99em) {
    .section--showcase .card {
        flex-shrink: 0;
        margin-right: 20px;
        opacity: 1;
        scroll-snap-align: center;
        transform: none;
        width: 276px
    }

    .section--showcase .card:last-child {
        margin-right: 0
    }
}

@media (min-width:48em) {
    .section--showcase .card {
        margin-bottom: 25px
    }

    @supports (display:grid) {
        .section--showcase .card {
            margin-bottom: 0
        }
    }

    .section--showcase .card.card:nth-child(3n) {
        transition-delay: .2s
    }

    .section--showcase .card.card:nth-child(3n-1) {
        transition-delay: .15s
    }

    .section--showcase .card.card:nth-child(3n-2) {
        transition-delay: .1s
    }
}

.section--showcase .card:hover .card__media {
    box-shadow: 0 3px 5px #0a0c7a
}

.section--showcase .card__heading {
    font-size: 1.5em;
    margin-top: 0;
    position: relative;
    z-index: 1
}

.section--showcase .card__link {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.section--showcase .card__media {
    box-shadow: 0 9px 11px #0a0c7a;
    margin-bottom: 15px;
    transition: box-shadow .2s ease-in
}

.section--showcase .card__media-inner {
    border-radius: 7px;
    overflow: hidden
}

.section--showcase .section__header {
    margin-bottom: 50px
}

@media (min-width:48em) {
    .section--showcase .section__header {
        margin-bottom: 50px
    }
}

@media (min-width:62em) {
    .section--showcase .section__header {
        margin-bottom: 50px
    }
}

.section--showcase .section__heading {
    font-size: 16px;
    margin-bottom: 20px
}

.section--showcase .section__heading>:last-child {
    margin-bottom: 0 !important
}

.section--showcase .section__heading__line1 {
    color: inherit;
    display: block;
    font-family: inherit;
    font-size: calc(1.4375rem + 2.14286vw);
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 10px;
    margin-top: 3em
}

.section--showcase .section__heading__line1:first-child {
    margin-top: 0
}

.section--showcase .section__heading__line1 a {
    color: inherit;
    text-decoration: none
}

.section--showcase .section__heading__line1+ol,
.section--showcase .section__heading__line1+p,
.section--showcase .section__heading__line1+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .section--showcase .section__heading__line1 {
        font-size: 3.125rem
    }
}

@media (min-width:48em) {
    .section--showcase .section__heading__line1 {
        font-size: 2.5em
    }
}

.section--showcase .section__heading__line2 {
    color: inherit;
    display: block;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    margin-top: 0
}

.section--showcase .section__heading__line2:first-child {
    margin-top: 0
}

.section--showcase .section__heading__line2 a {
    color: inherit;
    text-decoration: none
}

.section--showcase .section__heading__line2+ol,
.section--showcase .section__heading__line2+p,
.section--showcase .section__heading__line2+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .section--showcase .section__heading__line2 {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .section--showcase .section__heading__line2 {
        font-size: 1.875em
    }
}

.section--showcase .section__subheading {
    font-size: 1.2em;
    max-width: 40em
}

.section--showcase .section__footer {
    margin-top: 115px
}

@media (min-width:62em) {
    .section--showcase .section__footer {
        display: flex;
        flex-flow: row nowrap
    }
}

.section--showcase .section__footer-content {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 1.875rem;
    margin-top: 0
}

.section--showcase .section__footer-content:first-child {
    margin-top: 0
}

.section--showcase .section__footer-content a {
    color: inherit;
    text-decoration: none
}

.section--showcase .section__footer-content+ol,
.section--showcase .section__footer-content+p,
.section--showcase .section__footer-content+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .section--showcase .section__footer-content {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .section--showcase .section__footer-content {
        font-size: 1.875em;
        margin-bottom: 0;
        margin-right: 60px
    }
}

.section--showcase .section__footer-content .highlight {
    color: #0a0c7a
}

.section--showcase .section__footer-content .highlight:nth-child(2) svg {
    transform: rotate(2deg)
}

.section--showcase .section__footer-actions {
    justify-self: end;
    text-align: center
}

@media (min-width:62em) {
    .section--showcase .section__footer-actions .button {
        margin-top: 10px;
        white-space: nowrap
    }
}

.section--showcase .carbon__amount {
    font-weight: 700
}

.new-test,
.new-test__inner {
    position: relative
}

.new-test__inner {
    background: #f5faf9;
    color: #0a0c7a;
    max-width: 730px;
    padding: 7.5px;
    z-index: 2
}

.new-test__inner>:first-child {
    margin-top: 0 !important
}

.new-test__inner>:last-child {
    margin-bottom: 0 !important
}

@media (min-width:48em) {
    .new-test__inner {
        padding: 15px
    }

    .new-test__address {
        align-items: center;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between
    }
}

.new-test__address label {
    font-size: 1.5em;
    margin-bottom: 0;
    width: 100%
}

.new-test__address input {
    margin-bottom: 20px;
    margin-top: 20px;
    width: 100%
}

@media (min-width:48em) {
    .new-test__address input {
        margin-top: 25px
    }
}

@media (min-width:62em) {
    .new-test__address input {
        margin-top: 25px
    }
}

@media (min-width:48em) {
    .new-test__address input {
        margin-bottom: 25px
    }
}

@media (min-width:62em) {
    .new-test__address input {
        margin-bottom: 25px
    }
}

@media (min-width:48em) {
    .new-test__address input {
        width: calc(70% - 35px)
    }
}

.new-test__address button {
    border-width: 1px;
    margin-bottom: 20px;
    width: 100%
}

@media (max-width:47.99em) {
    .new-test__address button {
        padding: .725em 20px
    }
}

@media (min-width:48em) {
    .new-test__address button {
        margin-bottom: 0;
        width: 30%
    }
}

.new-test__pageviews {
    display: none
}

.new-test__consent {
    font-size: .875rem;
    max-width: 32em
}

.new-test-button svg {
    fill: none;
    color: transparent;
    display: block;
    height: 1.5em;
    margin-right: 1em;
    width: 1.5em
}

.new-test-button__message {
    display: none
}

.new-test-button__message--default {
    display: block
}

.new-test-button.is-processing .new-test-button__message--default {
    display: none
}

.hosting-image,
.new-test-button.is-processing .new-test-button__message--loading {
    align-items: center;
    display: flex;
    justify-content: center
}

.hosting-image {
    flex-direction: column-reverse;
    text-align: center
}

@media (min-width:48em) {
    .hosting-image {
        flex-direction: row;
        text-align: left
    }
}

.hosting-image__image {
    margin-top: 7.5px;
    max-width: 110px
}

@media (min-width:48em) {
    .hosting-image__image {
        margin-top: 0
    }
}

.website-actions {
    margin-bottom: 80px;
    margin-top: 80px
}

@media (min-width:48em) {
    .website-actions {
        margin-top: 80px
    }
}

@media (min-width:62em) {
    .website-actions {
        margin-top: 130px
    }
}

@media (min-width:48em) {
    .website-actions {
        margin-bottom: 80px
    }
}

@media (min-width:62em) {
    .website-actions {
        margin-bottom: 130px
    }
}

.website-actions__actions {
    margin: 0 auto;
    max-width: 400px
}

@media (min-width:78.6875em) {
    .website-actions__actions {
        grid-gap: 30px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        max-width: 100%
    }
}

.website-actions .section__header {
    margin-bottom: 30px
}

@media (min-width:62em) {
    .website-actions .section__header {
        margin-bottom: 60px
    }
}

.website-actions .section__heading {
    font-size: calc(1.36875rem + 1.35714vw);
    margin-bottom: 0
}

@media (min-width:1260px) {
    .website-actions .section__heading {
        font-size: 2.4375rem
    }
}

.website-actions .section__subheading {
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    margin-top: 0
}

@media (min-width:1260px) {
    .website-actions .section__subheading {
        font-size: 1.875rem
    }
}

.website-action {
    align-items: center;
    color: #1519d3;
    display: flex;
    flex-flow: column nowrap;
    height: auto;
    justify-content: center;
    margin-bottom: 30px;
    min-height: 90vw;
    padding: 30px;
    position: relative;
    text-align: center;
    width: 100%
}

@media (min-width:26.25em) {
    .website-action {
        min-height: 387px
    }
}

@media (min-width:78.6875em) {
    .website-action {
        min-height: 29.3vw
    }
}

@media (min-width:78.75em) {
    .website-action {
        min-height: 344px
    }
}

.website-action:last-child {
    margin-bottom: 0
}

.website-action--transparent {
    color: #f5faf9
}

.website-action--transparent h3 {
    margin-top: 0
}

.website-action--transparent span svg {
    max-width: 85px
}

.website-action--transparent a svg {
    margin-right: 10px;
    max-width: 25px
}

.website-action--transparent .button:active {
    color: #0a0c7a
}

.website-action__heading {
    font-size: 35px;
    margin-bottom: 25px
}

@media (min-width:48em) {
    .website-action__heading {
        font-size: calc(1.36875rem + 1.35714vw)
    }
}

@media (min-width:48em) and (min-width:1260px) {
    .website-action__heading {
        font-size: 2.4375rem
    }
}

.website-action__link {
    border-radius: 0;
    color: #00ffbc;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.25;
    padding: 0;
    position: relative
}

.website-action__link,
.website-action__link:hover {
    background-color: transparent;
    border-color: transparent;
    color: #0a0c7a
}

@media (min-width:62em) {
    .website-action__link {
        font-size: 1.25em;
        line-height: 1.25
    }
}

.website-action__link:focus,
.website-action__link:hover {
    box-shadow: none;
    text-decoration: underline
}

.website-action .svg-asset--up-arrow {
    transform: translateY(1px)
}

.website-action .svg-asset--up-arrow svg {
    fill: #0a0c7a;
    height: .7em;
    transform: rotate(90deg);
    width: .7em
}

.website-action .action__background {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1
}

.website-action .action__background svg {
    height: 100%
}

.website-template-default .media__header {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between
}

@media (min-width:62em) {
    .website-template-default .media__header {
        align-items: center
    }
}

.website-template-default .table {
    grid-gap: 40px;
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: -webkit-max-content -webkit-max-content;
    grid-template-columns: max-content max-content
}

.website-template-default .media__header__title {
    font-family: interui, "system-ui", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
    margin-bottom: 0;
    margin-right: 40px
}

.website-template-default .media__header__title span {
    display: block;
    font-size: 1.125em;
    margin-bottom: 10px;
    text-decoration: none
}

.website-template-default .media__header__title a {
    text-decoration: underline !important;
    word-break: break-all
}

.website-template-default .media__header__title a:hover {
    text-decoration: none
}

.report-summary {
    padding-bottom: 70px;
    padding-top: 70px
}

@media (min-width:48em) {
    .report-summary {
        padding-top: 70px
    }
}

@media (min-width:62em) {
    .report-summary {
        padding-top: 70px
    }
}

@media (min-width:48em) {
    .report-summary {
        padding-bottom: 70px
    }
}

@media (min-width:62em) {
    .report-summary {
        padding-bottom: 70px
    }
}

@media (min-width:48em) {
    .report-summary {
        padding-right: 70px
    }
}

.report-summary>.svg-asset {
    transform: rotate(180deg)
}

.report-summary .media__asset {
    margin: 0 auto 30px;
    max-width: 208px
}

@media (min-width:48em) {
    .report-summary .media__asset {
        margin-right: 30px;
        margin-top: 44px
    }
}

.report-summary__heading {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.5rem + 2.85714vw);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
    margin-top: 44px
}

.report-summary__heading:first-child {
    margin-top: 0
}

.report-summary__heading a {
    color: inherit;
    text-decoration: none
}

.report-summary__heading+ol,
.report-summary__heading+p,
.report-summary__heading+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .report-summary__heading {
        font-size: 3.75rem
    }
}

.report-summary__subheading {
    color: inherit;
    font-family: inherit;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 10px;
    margin-top: 3em
}

.report-summary__subheading:first-child {
    margin-top: 0
}

.report-summary__subheading a {
    color: inherit;
    text-decoration: none
}

.report-summary__subheading+ol,
.report-summary__subheading+p,
.report-summary__subheading+ul {
    margin-top: 20px
}

.report-summary .media__content {
    margin-bottom: 0;
    margin-top: 0
}

@media (min-width:75em) {
    .report-summary__grading-bar {
        position: relative
    }

    .report-summary__grading-bar:before {
        align-items: center;
        background-color: #fff;
        border-radius: 50%;
        color: #0a0067;
        content: "A+";
        display: flex;
        font-size: 16px;
        font-weight: 700;
        height: 44px;
        justify-content: center;
        left: 2%;
        position: absolute;
        top: 28%;
        width: 44px
    }

    .report-summary__grading-bar--A:before {
        content: "A";
        left: 10%
    }

    .report-summary__grading-bar--B:before {
        content: "B";
        left: 18%
    }

    .report-summary__grading-bar--C:before {
        content: "C";
        left: 27%
    }

    .report-summary__grading-bar--D:before {
        content: "D";
        left: 34%
    }

    .report-summary__grading-bar--E:before {
        content: "E";
        left: 43%
    }

    .report-summary__grading-bar--F:before {
        content: "F";
        left: 73%
    }
}

.report-summary.section--good {
    color: #f5faf9
}

.report-summary.section--good .svg-asset {
    color: #1519d3
}

.report-summary.section--good .counter__arrow {
    -webkit-animation-name: arrow-turn-good;
    animation-name: arrow-turn-good
}

.report-summary.section--bad .media svg {
    fill: #f5faf9
}

.report-summary.section--bad .counter__arrow {
    -webkit-animation-name: arrow-turn-bad;
    animation-name: arrow-turn-bad
}

.report-summary.section--bad .highlight {
    color: #0a0c7a
}

.report-summary svg .counter__arrow {
    -webkit-animation: 2s cubic-bezier(.5, -.01, .4, 1) 1s;
    animation: 2s cubic-bezier(.5, -.01, .4, 1) 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    transform-origin: center
}

@-webkit-keyframes arrow-turn-good {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(320deg)
    }
}

@keyframes arrow-turn-good {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(320deg)
    }
}

@-webkit-keyframes arrow-turn-bad {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(10deg)
    }
}

@keyframes arrow-turn-bad {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(10deg)
    }
}

.report-carbon .media__asset,
.report-hosting .media__asset {
    display: none;
    max-width: 118px;
    width: 15%
}

@media (min-width:48em) {

    .report-carbon .media__asset,
    .report-hosting .media__asset {
        display: block;
        margin-right: 50px
    }
}

.report-carbon .media__content p,
.report-hosting .media__content p {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.4375rem + 2.14286vw);
    font-weight: 700;
    margin-bottom: 10px;
    margin-top: 3em
}

@media (min-width:1260px) {

    .report-carbon .media__content p,
    .report-hosting .media__content p {
        font-size: 3.125rem
    }
}

@media (min-width:48em) and (max-width:78.75em) {

    .report-carbon .media__content p,
    .report-hosting .media__content p {
        font-size: 4.2vw
    }
}

.report-carbon--good .highlight,
.report-hosting--good .highlight {
    color: #0a0c7a
}

.report-carbon--good .highlight svg,
.report-hosting--good .highlight svg {
    fill: #00ffbc
}

.report-carbon--bad .highlight,
.report-hosting--bad .highlight {
    color: #0a0c7a
}

.report-carbon__grade--A .highlight svg path,
.report-hosting__grade--A .highlight svg path {
    fill: #57ff6e
}

.report-carbon__grade--B .highlight svg path,
.report-hosting__grade--B .highlight svg path {
    fill: #8eff43
}

.report-carbon__grade--C .highlight svg path,
.report-hosting__grade--C .highlight svg path {
    fill: #cbff1d
}

.report-carbon__grade--D .highlight svg path,
.report-hosting__grade--D .highlight svg path {
    fill: #faf60a
}

.report-carbon__grade--E .highlight svg path,
.report-hosting__grade--E .highlight svg path {
    fill: #fbb709
}

.report-carbon__grade--F .highlight svg path,
.report-hosting__grade--F .highlight svg path {
    fill: #fb0007
}

.stat__number {
    transition: opacity .15s ease-out
}

.stat__number--fade-in {
    opacity: 1;
    transition: opacity .15s ease-in
}

.report-hosting p {
    position: relative
}

.report-hosting .media__asset {
    padding: 0 12px
}

.report-hosting--good .highlight svg {
    fill: #00ffbc
}

.report-hosting--bad .highlight svg {
    fill: #fb0007
}

.report-hosting .ifgreen {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    font-family: interui, "system-ui", sans-serif;
    font-size: 16px;
    font-weight: 400;
    left: 10%;
    line-height: 1.35;
    margin-top: 15px;
    position: relative
}

@media (min-width:23.125em) {
    .report-hosting .ifgreen {
        left: 17%;
        max-width: 78%
    }
}

@media (min-width:35.1875em) and (max-width:44.5em) {
    .report-hosting .ifgreen {
        left: 25%
    }
}

@media (min-width:56.25em) {
    .report-hosting .ifgreen {
        left: 540px;
        margin-left: 0;
        margin-top: 0;
        max-width: 325px;
        position: absolute;
        top: 85px
    }
}

@media (min-width:56.25em) and (max-width:78.75em) {
    .report-hosting .ifgreen {
        left: 45vw;
        max-width: 28vw;
        top: 7vw
    }
}

.report-hosting .ifgreen svg {
    margin-right: 10px;
    transform: rotate(20deg) scaleY(-1);
    width: 60px
}

@media (min-width:56.25em) {
    .report-hosting .ifgreen svg {
        transform: rotate(0) translateY(10px)
    }
}

.report-stats {
    display: flex;
    flex-flow: column nowrap
}

.report-stats>:last-child {
    margin-bottom: 0 !important
}

.report-stats>.section__heading {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.5rem + 2.85714vw);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
    margin-top: 3em
}

.report-stats>.section__heading:first-child {
    margin-top: 0
}

.report-stats>.section__heading a {
    color: inherit;
    text-decoration: none
}

.report-stats>.section__heading+ol,
.report-stats>.section__heading+p,
.report-stats>.section__heading+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .report-stats>.section__heading {
        font-size: 3.75rem
    }
}

.report-context {
    max-width: 34rem
}

@media (min-width:48em) {
    .report-context {
        margin-left: auto;
        margin-right: auto;
        text-align: center
    }
}

.report-context h2 {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    margin-top: 3em
}

.report-context h2:first-child {
    margin-top: 0
}

.report-context h2 a {
    color: inherit;
    text-decoration: none
}

.report-context h2+ol,
.report-context h2+p,
.report-context h2+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .report-context h2 {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .report-context h2 {
        font-size: 1.875em
    }
}

.pageviews-control .highlight {
    color: #1519d3;
    display: block;
    margin: .2em 10px
}

@media (min-width:48em) {
    .pageviews-control .highlight {
        display: inline-flex
    }
}

.pageviews-control__container {
    align-items: center;
    display: flex
}

@media (min-width:56.875em) {
    .pageviews-control__container {
        display: inline-block
    }
}

.pageviews-control__buttons {
    display: inline-block
}

.pageviews-control__buttons button {
    background: transparent;
    border: 0;
    border-radius: 0;
    display: block;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    padding: 0;
    text-transform: inherit
}

.pageviews-control__buttons button:hover {
    box-shadow: none
}

.pageviews-control__buttons button:focus:active,
.pageviews-control__buttons button:focus:focus,
.pageviews-control__buttons button:hover:active,
.pageviews-control__buttons button:hover:focus {
    outline: none
}

.pageviews-control__buttons button:focus svg,
.pageviews-control__buttons button:hover svg {
    fill: #000
}

.pageviews-control__buttons svg {
    height: 18px;
    width: 18px
}

@media (min-width:48em) {
    .pageviews-control__buttons svg {
        height: 36px;
        width: 36px
    }
}

.pageviews-control a {
    word-break: break-all
}

.pageviews-control__amount {
    padding: 0
}

.pageviews-control .hide-mobile a {
    text-decoration: underline
}

.pageviews-control .hide-mobile a:focus,
.pageviews-control .hide-mobile a:hover {
    text-decoration: none
}

@media (min-width:56.875em) {
    .pageviews-control .js-pageviews-minus {
        position: relative;
        top: 8px
    }
}

.stat {
    display: inline-flex;
    flex-flow: row nowrap;
    margin-bottom: 50px;
    margin-top: 50px;
    max-width: 600px
}

@media (min-width:48em) {
    .stat {
        margin-top: 50px
    }
}

@media (min-width:62em) {
    .stat {
        margin-top: 100px
    }
}

@media (min-width:48em) {
    .stat {
        margin-bottom: 50px
    }
}

@media (min-width:62em) {
    .stat {
        margin-bottom: 100px
    }
}

@media (min-width:48em) {
    .stat {
        max-width: 800px
    }
}

.stat.stat--disabled {
    display: none
}

.stat .stat__heading {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.4375rem + 2.14286vw);
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 15px;
    margin-top: 3em
}

.stat .stat__heading:first-child {
    margin-top: 0
}

.stat .stat__heading a {
    color: inherit;
    text-decoration: none
}

.stat .stat__heading+ol,
.stat .stat__heading+p,
.stat .stat__heading+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .stat .stat__heading {
        font-size: 3.125rem
    }
}

@media (max-width:47.99em) {
    .stat .stat__heading {
        font-size: 2.375em
    }
}

.stat+.stat {
    margin-top: 0
}

.stat .media__content {
    align-items: flex-start;
    display: flex;
    flex-flow: column wrap;
    margin-left: 30px;
    width: auto
}

.stat p {
    color: inherit;
    display: inline-block;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    max-width: 14em;
    width: auto
}

.stat p,
.stat p:first-child {
    margin-top: 0
}

.stat p a {
    color: inherit;
    text-decoration: none
}

.stat p+ol,
.stat p+p,
.stat p+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .stat p {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .stat p {
        font-size: 1.875em
    }
}

.stat .media__asset {
    display: none;
    flex: 0 0 15%;
    margin-right: 50px;
    max-width: 108px
}

@media (min-width:48em) {
    .stat .media__asset {
        display: block
    }
}

@media (min-width:62.5em) {
    .stat:nth-child(odd) {
        align-self: flex-end
    }
}

.stat--c02 .media__asset svg {
    -webkit-animation: croissant 7s 1s infinite;
    animation: croissant 7s 1s infinite
}

@-webkit-keyframes croissant {
    0% {
        -webkit-animation-timing-function: cubic-bezier(.08, -.29, .58, .99);
        animation-timing-function: cubic-bezier(.08, -.29, .58, .99);
        transform: translateY(0)
    }

    13% {
        -webkit-animation-timing-function: cubic-bezier(.46, .04, .88, 1.26);
        animation-timing-function: cubic-bezier(.46, .04, .88, 1.26);
        transform: translateY(-25px)
    }

    20%,
    to {
        transform: translateY(0)
    }
}

@keyframes croissant {
    0% {
        -webkit-animation-timing-function: cubic-bezier(.08, -.29, .58, .99);
        animation-timing-function: cubic-bezier(.08, -.29, .58, .99);
        transform: translateY(0)
    }

    13% {
        -webkit-animation-timing-function: cubic-bezier(.46, .04, .88, 1.26);
        animation-timing-function: cubic-bezier(.46, .04, .88, 1.26);
        transform: translateY(-25px)
    }

    20%,
    to {
        transform: translateY(0)
    }
}

.stat--bubbles .media__asset {
    flex: 0 0 19%;
    max-width: 130px;
    overflow: visible
}

.stat--bubbles .media__asset svg {
    fill: #f5faf9;
    overflow: visible
}

.stat--bubbles .media__asset svg .hand {
    stroke-width: 0;
    -webkit-animation: bubble 4s 1s infinite;
    animation: bubble 4s 1s infinite;
    -webkit-animation-timing-function: cubic-bezier(.28, .62, .7, 1.12);
    animation-timing-function: cubic-bezier(.28, .62, .7, 1.12)
}

@-webkit-keyframes bubble {

    0%,
    to {
        transform: translate(12px, 12px)
    }

    25% {
        transform: translate(3px, 3px)
    }

    50% {
        transform: translate(12px, 12px)
    }
}

@keyframes bubble {

    0%,
    to {
        transform: translate(12px, 12px)
    }

    25% {
        transform: translate(3px, 3px)
    }

    50% {
        transform: translate(12px, 12px)
    }
}

.stat--trees .media__asset {
    flex: 0 0 16%;
    max-width: 113px
}

.stat--car .media__asset {
    flex: 0 0 14%;
    max-width: 100px;
    position: relative
}

.stat--car .media__asset .car>svg {
    -webkit-animation: car .25s linear infinite;
    animation: car .25s linear infinite
}

@-webkit-keyframes car {

    0%,
    to {
        transform: translate(0) rotate(-2deg)
    }

    25% {
        transform: translateY(3px)
    }

    50% {
        transform: translate(0) rotate(1deg)
    }

    75% {
        transform: translateY(2px) rotate(0deg)
    }
}

@keyframes car {

    0%,
    to {
        transform: translate(0) rotate(-2deg)
    }

    25% {
        transform: translateY(3px)
    }

    50% {
        transform: translate(0) rotate(1deg)
    }

    75% {
        transform: translateY(2px) rotate(0deg)
    }
}

.stat--car .media__asset .charger {
    left: -62%;
    position: absolute;
    top: 41%;
    width: 70%
}

.test-another {
    text-align: center
}

.test-another .section__heading {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.4375rem + 2.14286vw);
    font-weight: 700;
    line-height: 1.35;
    margin: 0 auto 30px;
    max-width: 950px
}

.test-another .section__heading:first-child {
    margin-top: 0
}

.test-another .section__heading a {
    color: inherit;
    text-decoration: none
}

.test-another .section__heading+ol,
.test-another .section__heading+p,
.test-another .section__heading+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .test-another .section__heading {
        font-size: 3.125rem
    }
}

@media (min-width:48em) {
    .test-another .section__heading {
        color: inherit;
        font-family: inherit;
        font-size: calc(1.5rem + 2.85714vw);
        font-weight: 700;
        line-height: 1.3;
        margin-bottom: 40px;
        margin-top: 3em
    }

    .test-another .section__heading:first-child {
        margin-top: 0
    }

    .test-another .section__heading a {
        color: inherit;
        text-decoration: none
    }

    .test-another .section__heading+ol,
    .test-another .section__heading+p,
    .test-another .section__heading+ul {
        margin-top: 20px
    }
}

@media (min-width:48em) and (min-width:1260px) {
    .test-another .section__heading {
        font-size: 3.75rem
    }
}

.test-another .svg-asset {
    transform: rotate(-90deg)
}

.share__heading {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #f5faf9;
    display: inline-block;
    font-size: 1em;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    line-height: 1.25;
    padding: 0;
    text-transform: inherit
}

.share__heading:hover {
    box-shadow: none
}

@media (min-width:62em) {
    .share__heading {
        cursor: default;
        font-size: 1.25em;
        line-height: 1.25;
        margin-right: 20px;
        pointer-events: none
    }
}

.share__heading:hover {
    background: transparent;
    color: #f5faf9
}

.share .share__inner {
    align-items: center;
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-end;
    pointer-events: all;
    position: relative;
    z-index: 1
}

@media (min-width:62em) {
    .share .share__inner {
        flex-flow: row nowrap
    }
}

.share .share__inner .button:active {
    color: #0a0c7a
}

.share .share__buttons {
    display: flex;
    flex-flow: column nowrap;
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    transition: all .2s ease
}

@media (min-width:62em) {
    .share .share__buttons {
        flex-flow: row nowrap;
        position: static
    }
}

.share .share__button {
    align-items: center;
    background-color: #f5faf9;
    border-color: #f5faf9;
    color: #0a0c7a;
    display: flex;
    justify-content: center;
    margin: 0 auto 10px;
    opacity: 0;
    padding: 3px;
    text-decoration: none;
    transform: translateY(-10px);
    transition: all .2s ease
}

.share .share__button:first-child {
    transition-delay: .2s
}

.share .share__button:nth-child(2) {
    transition-delay: .16s
}

.share .share__button:nth-child(3) {
    transition-delay: 80ms
}

.share .share__button:nth-child(4) {
    transition-delay: -40ms
}

.share .share__button:nth-child(5) {
    transition-delay: -.2s
}

.share .share__button:hover {
    background-color: #f5faf9;
    border-color: #f5faf9;
    color: #0a0c7a
}

@media (min-width:62em) {
    .share .share__button {
        display: flex;
        margin-bottom: 0;
        margin-right: 20px;
        opacity: 1;
        transform: translateY(0)
    }

    .share .share__button,
    .share .share__button:hover {
        background-color: transparent;
        border-color: transparent;
        color: #f5faf9
    }

    .share .share__button:focus,
    .share .share__button:hover {
        box-shadow: none
    }

    .share .share__button:focus path,
    .share .share__button:focus svg,
    .share .share__button:hover path,
    .share .share__button:hover svg {
        fill: #00ffbc
    }

    .share .share__button:last-child {
        margin-right: 0
    }
}

.share svg {
    height: 29px;
    margin-left: 10px;
    width: 29px
}

.share svg rect {
    fill: #00ffbc
}

@media (max-width:61.99em) {
    .share--active .share__buttons {
        pointer-events: all
    }

    .share--active .share__button,
    .share--active .share__buttons {
        opacity: 1;
        transform: translateY(0)
    }

    .share--active .share__button:first-child {
        transition-delay: 40ms
    }

    .share--active .share__button:nth-child(2) {
        transition-delay: 80ms
    }

    .share--active .share__button:nth-child(3) {
        transition-delay: .12s
    }

    .share--active .share__button:nth-child(4) {
        transition-delay: .16s
    }

    .share--active .share__button:nth-child(5) {
        transition-delay: .2s
    }
}

.share--active .share__heading:focus {
    box-shadow: none
}

.prefooter__heading {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.4375rem + 2.14286vw);
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 32px;
    margin-top: 3em
}

.prefooter__heading:first-child {
    margin-top: 0
}

.prefooter__heading a {
    color: inherit;
    text-decoration: none
}

.prefooter__heading+ol,
.prefooter__heading+p,
.prefooter__heading+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .prefooter__heading {
        font-size: 3.125rem
    }
}

.prefooter__subheading {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    line-height: 42px;
    margin-bottom: 80px;
    margin-top: 3em;
    width: 100%
}

.prefooter__subheading:first-child {
    margin-top: 0
}

.prefooter__subheading a {
    color: inherit;
    text-decoration: none
}

.prefooter__subheading+ol,
.prefooter__subheading+p,
.prefooter__subheading+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .prefooter__subheading {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .prefooter__subheading {
        font-size: 1.875em
    }
}

@media (min-width:48em) {
    .prefooter__subheading {
        width: 75%
    }
}

.prefooter__grid {
    grid-gap: 30px;
    display: grid
}

@media (min-width:62em) {
    .prefooter__grid {
        grid-gap: 80px;
        grid-template-columns: 1fr 1fr
    }
}

.prefooter__grid>* {
    margin-bottom: 0;
    margin-top: 0
}

.prefooter__logo {
    max-height: 70px
}

.prefooter__companies {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 70px
}

@media (min-width:78.6875em) {
    .prefooter__companies {
        justify-content: space-between
    }
}

.prefooter__company {
    align-items: center;
    background-image: url(../images/company.svg);
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    height: 110px;
    justify-content: center;
    margin-right: 0;
    padding: 32px;
    width: 200px
}

@media (min-width:78.6875em) {
    .prefooter__company {
        margin-right: 0
    }
}

.prefooter__company:last-child {
    margin-right: 0
}

.prefooter__company img {
    display: block;
    margin: 0 auto
}

.prefooter p:nth-of-type(2) {
    color: inherit;
    font-family: inherit;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 32px;
    margin-top: 0
}

.prefooter p:nth-of-type(2):first-child {
    margin-top: 0
}

.prefooter p:nth-of-type(2) a {
    color: inherit;
    text-decoration: none
}

.prefooter p:nth-of-type(2)+ol,
.prefooter p:nth-of-type(2)+p,
.prefooter p:nth-of-type(2)+ul {
    margin-top: 20px
}

.prefooter p:nth-of-type(3) {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 19px;
    margin-top: 0
}

.prefooter p:nth-of-type(3):first-child {
    margin-top: 0
}

.prefooter p:nth-of-type(3) a {
    color: inherit;
    text-decoration: none
}

.prefooter p:nth-of-type(3)+ol,
.prefooter p:nth-of-type(3)+p,
.prefooter p:nth-of-type(3)+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .prefooter p:nth-of-type(3) {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .prefooter p:nth-of-type(3) {
        font-size: 1.875em
    }
}

.retest {
    margin-bottom: 20px;
    margin-top: 20px
}

.retest .retest-button {
    display: inline;
    font: inherit;
    padding: 0;
    text-decoration: underline
}

.retest .retest-button,
.retest .retest-button:hover {
    background: none;
    border: 0;
    box-shadow: none;
    color: inherit
}

.retest .retest-button:hover {
    text-decoration: none
}

.aba {
    padding-bottom: 40px;
    padding-top: 40px
}

@media (min-width:48em) {
    .aba {
        padding-top: 40px
    }
}

@media (min-width:62em) {
    .aba {
        padding-top: 60px
    }
}

@media (min-width:48em) {
    .aba {
        padding-bottom: 40px
    }
}

@media (min-width:62em) {
    .aba {
        padding-bottom: 60px
    }
}

.aba__heading {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    margin-top: 3em
}

.aba__heading:first-child {
    margin-top: 0
}

.aba__heading a {
    color: inherit;
    text-decoration: none
}

.aba__heading+ol,
.aba__heading+p,
.aba__heading+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .aba__heading {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .aba__heading {
        font-size: 1.875em
    }
}

.aba__subheading {
    font-size: .875rem;
    margin-bottom: 25px;
    margin-top: 25px;
    position: relative
}

@media (min-width:48em) {
    .aba__subheading {
        align-items: flex-start;
        display: flex;
        justify-content: space-between;
        max-width: none
    }
}

.aba__content>:first-child {
    margin-top: 0 !important
}

.aba__content>:last-child {
    margin-bottom: 0 !important
}

.aba__image {
    margin-top: 25px
}

@media (min-width:48em) {
    .aba__image {
        flex-shrink: 0;
        margin-left: 30px;
        margin-top: 0;
        width: 40%
    }
}

.aba .svg-asset path {
    fill: transparent;
    stroke: #1519d3;
    stroke-width: 5px;
    transform: scale(.99);
    transform-origin: 50% 50%
}

.newsletter-signup {
    padding-bottom: 40px;
    padding-top: 40px
}

@media (min-width:48em) {
    .newsletter-signup {
        padding-top: 40px
    }
}

@media (min-width:62em) {
    .newsletter-signup {
        padding-top: 60px
    }
}

@media (min-width:48em) {
    .newsletter-signup {
        padding-bottom: 40px
    }
}

@media (min-width:62em) {
    .newsletter-signup {
        padding-bottom: 60px
    }
}

.newsletter-signup__heading {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    margin-top: 3em
}

.newsletter-signup__heading:first-child {
    margin-top: 0
}

.newsletter-signup__heading a {
    color: inherit;
    text-decoration: none
}

.newsletter-signup__heading+ol,
.newsletter-signup__heading+p,
.newsletter-signup__heading+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .newsletter-signup__heading {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .newsletter-signup__heading {
        font-size: 1.875em
    }
}

.newsletter-signup__subheading {
    font-size: .875rem;
    margin-bottom: 25px
}

.newsletter-signup__form label {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    margin: 0;
    overflow: hidden;
    position: absolute !important;
    width: 1px
}

.newsletter-signup__form label:focus {
    clip: auto;
    display: block;
    height: auto;
    left: 7.5px;
    top: 7.5px;
    width: auto;
    z-index: 100000
}

.newsletter-signup__form .newsletter-signup__textinput {
    margin-bottom: 20px;
    width: 100%
}

.newsletter-signup__form .newsletter-signup__submit {
    margin-bottom: 0;
    width: 100%
}

@media (min-width:48em) {
    .newsletter-signup__form .newsletter-signup__submit {
        width: 40%
    }
}

.newsletter-signup__form .newsletter-signup__submit input {
    border-width: 1px;
    width: 100%
}

.newsletter-signup .leaf {
    bottom: 4px;
    max-width: 93%;
    overflow: hidden;
    position: absolute;
    right: 5%;
    top: 18%;
    width: 280px;
    z-index: -2
}

@media (min-width:36em) {
    .newsletter-signup .leaf {
        right: 10%;
        top: 0
    }
}

@media (min-width:48em) {
    .newsletter-signup .leaf {
        bottom: 0;
        left: unset;
        right: 10%;
        top: 35%
    }
}

.newsletter-signup .leaf svg {
    bottom: -50%;
    max-height: none;
    position: absolute;
    right: 0;
    width: 280px
}

@media (min-width:48em) {
    .newsletter-signup .leaf svg {
        bottom: -60%;
        top: 0;
        width: 100%
    }
}

.newsletter-signup .leaf path {
    fill: #0a0c7a
}

.newsletter-signup .svg-asset path {
    fill: #1519d3;
    stroke: #1519d3;
    stroke-width: 5px;
    transform: scale(.99);
    transform-origin: 50% 50%
}

@media (min-width:36em) {
    .badge-cta {
        padding-left: 80px;
        padding-right: 80px
    }
}

.badge-cta__background svg {
    height: 735px
}

.badge-cta__content {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 0;
    margin-top: 48px
}

@media (min-width:73.3125em) {
    .badge-cta__content {
        flex-flow: nowrap;
        flex-wrap: nowrap
    }
}

.badge-cta__heading {
    margin-top: 0
}

.badge-cta__text {
    width: 100%
}

@media (min-width:73.3125em) {
    .badge-cta__text {
        width: 440px
    }
}

.badge-cta__text p {
    font-size: 20px;
    line-height: 27.2px;
    margin-bottom: 33px;
    margin-top: 0 !important
}

.badge-cta__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 0
}

@media (min-width:62.0625em) {
    .badge-cta__badges {
        flex-wrap: nowrap
    }
}

@media (min-width:73.3125em) {
    .badge-cta__badges {
        display: block;
        margin-left: 36px;
        margin-right: auto
    }
}

.badge-cta__badges p {
    margin-bottom: 0
}

.badge-cta__badge {
    margin-bottom: 40px;
    text-align: center
}

.badge-cta__badge img {
    height: auto;
    margin-bottom: 4px;
    width: 100%
}

@media (min-width:36em) {
    .badge-cta__badge img {
        max-width: 380px;
        width: 380px
    }
}

.badge-cta__badge p {
    margin-top: 0
}

.badge-cta__btn {
    display: block;
    margin: 0 auto
}

@media (min-width:73.3125em) {
    .badge-cta__btn {
        display: none
    }
}

.badge-cta__btn--lg {
    display: none
}

@media (min-width:73.3125em) {
    .badge-cta__btn--lg {
        display: inline-block
    }
}

.badge-cta .arrow-svg {
    bottom: 10px;
    display: none;
    height: 105px;
    position: relative;
    right: 25px;
    width: 120px
}

@media (min-width:73.3125em) {
    .badge-cta .arrow-svg {
        display: block
    }
}

.badge-cta h3 {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    margin-top: 14px
}

.badge-cta h3:first-child {
    margin-top: 0
}

.badge-cta h3 a {
    color: inherit;
    text-decoration: none
}

.badge-cta h3+ol,
.badge-cta h3+p,
.badge-cta h3+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .badge-cta h3 {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .badge-cta h3 {
        font-size: 1.875em
    }
}

.badge-cta h4 {
    color: inherit;
    font-family: inherit;
    font-size: 1.125rem;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 12px;
    margin-top: 0
}

.badge-cta h4:first-child {
    margin-top: 0
}

.badge-cta h4 a {
    color: inherit;
    text-decoration: none
}

.badge-cta h4+ol,
.badge-cta h4+p,
.badge-cta h4+ul {
    margin-top: 20px
}

.intro {
    color: #f5faf9;
    margin-bottom: 50px;
    padding-top: 50px;
    position: relative
}

@media (min-width:48em) {
    .intro {
        margin-bottom: 50px;
        padding-top: 80px
    }
}

.intro__inner>:first-child {
    margin-top: 0 !important
}

.intro__inner>:last-child {
    margin-bottom: 0 !important
}

.intro__title {
    -webkit-animation: fade-up ease-in 1;
    animation: fade-up ease-in 1;
    -webkit-animation-delay: .4s;
    animation-delay: .4s;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    color: inherit;
    font-family: inherit;
    font-size: calc(1.75rem + 5.71429vw);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 50px;
    margin-top: 3em;
    max-width: 13em;
    opacity: 0;
    width: 100%
}

.intro__title:first-child {
    margin-top: 0
}

.intro__title a {
    color: inherit;
    text-decoration: none
}

.intro__title+ol,
.intro__title+p,
.intro__title+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .intro__title {
        font-size: 6.25rem
    }
}

@media (min-width:48em) {
    .intro__title {
        margin-bottom: 60px
    }
}

.intro__content>:first-child {
    margin-top: 0 !important
}

.intro__content>:last-child {
    margin-bottom: 0 !important
}

.intro__footer {
    margin-bottom: -25px;
    margin-top: 25px
}

@media (min-width:48em) {
    .intro__footer {
        margin-bottom: -75px;
        margin-top: 50px
    }
}

.section--home-search {
    -webkit-animation: fade-up ease-in 1;
    animation: fade-up ease-in 1;
    -webkit-animation-delay: .6s;
    animation-delay: .6s;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    opacity: 0
}

@keyframes fade-up {
    0% {
        opacity: 0;
        transform: translateY(15px)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

@media (max-width:47.99em) {
    .section--home-search {
        margin-left: -20px;
        margin-right: -20px;
        overflow: hidden;
        padding-left: 20px;
        padding-right: 20px
    }
}

.home-attribution .media__asset {
    margin-bottom: 30px;
    width: 200px
}

@media (min-width:48em) {
    .home-attribution .media__asset {
        margin-bottom: 0;
        margin-top: 12px;
        width: 160px
    }
}

@media (min-width:62em) {
    .home-attribution .media__asset {
        width: 200px
    }
}

@media (min-width:75em) {
    .home-attribution .media__asset {
        width: 260px
    }
}

.home-attribution__content p {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    margin-top: 3em
}

.home-attribution__content p:first-child {
    margin-top: 0
}

.home-attribution__content p a {
    color: inherit;
    text-decoration: none
}

.home-attribution__content p+ol,
.home-attribution__content p+p,
.home-attribution__content p+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .home-attribution__content p {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .home-attribution__content p {
        font-size: 1.875em
    }
}

.home-attribution__content p>:first-child {
    margin-top: 0 !important
}

.home-attribution__content p>:last-child {
    margin-bottom: 0 !important
}

@media (min-width:48em) {
    .home-attribution__content p {
        margin-left: 100px
    }
}

.home-attribution__content p a {
    text-decoration: underline
}

.home-attribution__content p a:hover {
    text-decoration: none
}

.section--climate-change p {
    color: inherit;
    font-family: inherit;
    font-size: calc(1.3125rem + .71429vw);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    margin-top: 3em;
    max-width: 30em
}

.section--climate-change p:first-child {
    margin-top: 0
}

.section--climate-change p a {
    color: inherit;
    text-decoration: none
}

.section--climate-change p+ol,
.section--climate-change p+p,
.section--climate-change p+ul {
    margin-top: 20px
}

@media (min-width:1260px) {
    .section--climate-change p {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .section--climate-change p {
        font-size: 1.875em
    }
}

.page-template-default h1 {
    font-size: calc(1.4375rem + 2.14286vw);
    line-height: 1.35
}

@media (min-width:1260px) {
    .page-template-default h1 {
        font-size: 3.125rem
    }
}

.page-template-default h2 {
    font-size: calc(1.3125rem + .71429vw);
    line-height: 1.4
}

@media (min-width:1260px) {
    .page-template-default h2 {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .page-template-default h2 {
        font-size: 1.875em
    }
}

.page-template-default h3 {
    font-size: calc(1.3125rem + .71429vw);
    line-height: 1.4
}

@media (min-width:1260px) {
    .page-template-default h3 {
        font-size: 1.875rem
    }
}

@media (min-width:62em) {
    .page-template-default h3 {
        font-size: 1.875em
    }
}

.page-template-default .entry-content ol,
.page-template-default .entry-content p,
.page-template-default .entry-content ul {
    font-size: 1.2em
}

.page-template-default .entry-content ol li:not(first-child),
.page-template-default .entry-content ul li:not(first-child) {
    margin-top: .625rem
}

.page-template-default .entry-content p a {
    font-weight: 700;
    text-decoration: underline
}

.page-template-default .entry-content p a:hover {
    text-decoration: none
}

.page-template-default .entry-content p:first-child {
    margin-top: 20px
}

.hide-mobile {
    display: none
}

@media (min-width:48em) {
    .hide-mobile {
        display: block
    }

    .hide-desktop {
        display: none
    }
}

.safariBugFix {
    -webkit-animation: safariBugFix 20ms 1;
    animation: safariBugFix 20ms 1
}

@-webkit-keyframes safariBugFix {
    0% {
        zoom: 100%
    }

    to {
        zoom: 99.99999%
    }
}

@keyframes safariBugFix {
    0% {
        zoom: 100%
    }

    to {
        zoom: 99.99999%
    }
}

/* PayPal and Modal Fixes */
.loading-modal {
    align-items: flex-start !important;
    overflow-y: auto !important;
    display: none;
    padding-top: 5vh;
}

.loader-is-open .loading-modal {
    display: flex;
    opacity: 1;
    pointer-events: all;
}

.loading-modal__inner {
    margin: auto;
    transform: none !important;
    position: relative;
    top: 0;
}

#paypal-container-B6W2C25YZWHP6 {
    min-height: 200px;
    display: flex;
    justify-content: center;
    all: initial;
    display: block;
    width: 100%;
    max-width: 500px;
    margin: 20px auto;
}

#paypal-container-B6W2C25YZWHP6 * {
    all: revert;
    box-sizing: border-box;
}