.h1,
.h2 {
    font-weight: 500
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    color: #313131;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh
}

a {
    transition: color .15s;
    background-color: transparent;
    text-decoration: none;
    color: #0051c3
}

a:hover {
    text-decoration: underline;
    color: #ee730a
}

.main-content {
    margin: 8rem auto;
    width: 100%;
    max-width: 60rem
}

.footer,
.main-content {
    padding-right: 1.5rem;
    padding-left: 1.5rem
}

.main-wrapper {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center
}

.spacer {
    margin: 2rem 0
}

.h1 {
    line-height: 3.75rem;
    font-size: 2.5rem
}

.core-msg,
.h2 {
    line-height: 2.25rem;
    font-size: 1.5rem
}

.core-msg {
    font-weight: 400
}

.body-text {
    line-height: 1.25rem;
    font-size: 1rem;
    font-weight: 400
}

.icon-wrapper {
    display: inline-block;
    position: relative;
    top: .25rem;
    margin-right: .2rem
}

.heading-icon {
    width: 1.625rem;
    height: 1.625rem
}

.warning-icon {
    display: inline-block
}

.text-center {
    text-align: center
}

.footer {
    margin: 0 auto;
    width: 100%;
    max-width: 60rem;
    line-height: 1.125rem;
    font-size: .75rem
}

.footer-inner {
    border-top: 1px solid #d9d9d9;
    padding-top: 1rem;
    padding-bottom: 1rem
}

.core-msg,
.zone-name-title {
    overflow-wrap: break-word
}

@media (max-width:720px) {
    .main-content {
        margin-top: 4rem
    }

    .h1 {
        line-height: 1.75rem;
        font-size: 1.5rem
    }

    .core-msg,
    .h2 {
        line-height: 1.5rem
    }

    .h2 {
        font-size: 1.25rem
    }

    .core-msg {
        font-size: 1rem
    }

    .heading-icon {
        width: 1.25rem;
        height: 1.25rem
    }

    .zone-name-title {
        margin-bottom: 1rem
    }
}

@keyframes lds-ring {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

@media screen and (-ms-high-contrast:active),
screen and (-ms-high-contrast:none) {

    .main-wrapper,
    body {
        display: block
    }
}

@media (prefers-color-scheme:dark) {
    body {
        background-color: #222;
        color: #d9d9d9
    }

    a {
        color: #fff
    }

    a:hover {
        text-decoration: underline;
        color: #ee730a
    }
}