﻿*
{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html
{
    background: var(--layoutBg);
    width: 100%;
    height: 100%;
}
body
{
    background: var(--layoutBg);
    font-family: Open Sans,Helvetica Neue,Arial,sans-serif;
    font-size: 16px;
    line-height: 1;
    height: 100%;
    min-height: 100%;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100dvh;
    height: 100vh;
    box-sizing: border-box;
    padding: 16px;
}
.logo
{
    margin: 0 auto;
    width: 100%;
    max-width: 200px;
    max-height: 80px;
}
.logo img
{
    width: 100%;
    height: auto;
}
.main p
{
    font: var(--t4);
    color: var(--ttPrimary);
    text-align: center;
    margin: 24px 0;
}
.main p span
{
    margin-top: 16px;
    font: var(--body1);
    display: block;
}
.access-denied
{
    font: var(--body1);
    margin: 24px auto 0;
    max-width: 600px;
    text-align: center;
}
.loader
{
    display: block;
    position: relative;
    width: 64px;
    height: 64px;
    margin: 24px auto 0;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--spinnerOuter);
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}
.loader::before
{
    content: '';
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--spinnerInner1);
    -webkit-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite;
}
.loader::after
{
    content: '';
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--spinnerInner2);
    -webkit-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin
{
    0%
    {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100%
    {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes spin
{
    0%
    {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100%
    {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@media screen and (min-width: 768px)
{
    .logo
    {
        max-width: 300px;
        max-height: 120px;
    }
    .main p
    {
        font: var(--t3);
    }
}
@media screen and (min-width: 1280px)
{
    .main p
    {
        font: var(--t2);
    }
}