html {
    height: 100%;
    font-size: 8px;
    --nimiq-size: 1rem;
    font-family: Muli, system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    --nimiq-gray: #F4F4F5;
    --nimiq-gray-bg: radial-gradient(circle at bottom right, #F4F4F4, var(--nimiq-gray));
}

.loading-screen {
    display: none;
}

.loading-screen > .loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    padding-bottom: 9.5rem /* height of header */
}

body.preparing > .loading-screen {
    display: flex;
    visibility: visible !important;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 1rem;
}

#app > .logo, .loading-screen > .logo {
    box-sizing: content-box;
    width: calc(100% - 2 * 2rem); /* minus padding */
    padding: 3rem 2rem;
    flex-shrink: 0;
    color: var(--nimiq-blue);
}

.nq-icon {
    width: 1em;
    height: 1em;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    background-size: 100%;
    background-size: contain;
}

.nq-icon.nimiq-logo {
    background-image: url('data:image/svg+xml,<svg width="27" height="24" viewBox="0 0 27 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M26.6991 10.875L21.0741 1.125C20.6691 0.4275 19.9266 0 19.1241 0H7.87414C7.07164 0 6.32914 0.4275 5.92789 1.125L0.302891 10.875C-0.0983594 11.5725 -0.0983594 12.4275 0.302891 13.125L5.92789 22.875C6.32914 23.5725 7.07164 24 7.87414 24H19.1241C19.9266 24 20.6691 23.5725 21.0704 22.875L26.6954 13.125C27.1004 12.4275 27.1004 11.5725 26.6991 10.875Z" fill="url(%23paint0_radial)"/><defs><radialGradient id="paint0_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26.9996 24) rotate(-180) scale(26.9977 24)"><stop stop-color="%23EC991C"/><stop offset="1" stop-color="%23E9B213"/></radialGradient></defs></svg>');
}

.logo {
    --signet-width: 3.5rem;
    height: var(--signet-width);
    box-sizing: border-box;
    font-size: calc(.75 * var(--signet-width));
    display: flex;
    align-items: center;
    color: var(--nimiq-blue);
}

.logo .nimiq-logo {
    height: var(--signet-width);
    width: var(--signet-width);
    margin-right: calc(.382 * var(--signet-width)); /* 0.382 times the signet width following the style guide */
}

.logo .logo-wordmark {
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-left: -.1em; /* subtract small margin before letter N present in font */
}

#loading-spinner .big-hex {
    stroke-dashoffset: -40.5;
    animation: loading-big-hex 4s cubic-bezier(0.76, 0.29, 0.29, 0.76) infinite;
}

#loading-spinner .small-hex {
    stroke-dashoffset: 13;
    animation: loading-small-hex 4s cubic-bezier(0.76, 0.29, 0.29, 0.76) infinite;
}

@keyframes loading-big-hex {
    0%   { stroke-dashoffset: -40.5 }
    17%  { stroke-dashoffset: -15.08 }
    33%  { stroke-dashoffset: 10.33 }
    50%  { stroke-dashoffset: 35.75 }
    67%  { stroke-dashoffset: 61.17 }
    83%  { stroke-dashoffset: 86.58 }
    100% { stroke-dashoffset: 112 }
}

@keyframes loading-small-hex {
    0%   { stroke-dashoffset: 13 }
    17%  { stroke-dashoffset: 38.42 }
    33%  { stroke-dashoffset: 63.84 }
    50%  { stroke-dashoffset: 89.25 }
    67%  { stroke-dashoffset: 114.66 }
    83%  { stroke-dashoffset: 140.08 }
    100% { stroke-dashoffset: 165.5 }
}

@media (max-width: 450px) {
    html {
        font-size: 7px;
    }
}
