@font-face
{
    font-family: helv-light;
    font-style: normal;
    font-weight: 200;
    src: url("../fonts/helveticaneuelight-webfont.ttf");
}

@font-face
{
    font-family: helv;
    font-style: normal;
    font-weight: normal;
    src: url("../fonts/helveticaneue-webfont.ttf");
}

@font-face
{
    font-family: helv-medium;
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/helveticaneuemedium-webfont.ttf");
}

@font-face
{
    font-family: helv-bold;
    font-style: normal;
    font-weight: bold;
    src: url("../fonts/helveticaneuebold-webfont.ttf");
}

@media screen
and (max-width: 1000px)
{
    html
    {
        font-size: 10px;
    }
}

@media screen
and (max-width: 800px)
{
    html
    {
        font-size: 8px;
    }
}

body
{
    position: relative;

    min-height: 100vh;

    font-family: helv, helvetica, verdana, arial, sans-serif;

    scrollbar-arrow-color: rgb(100, 100, 100);
    scrollbar-face-color: rgb(235, 235, 235);
    scrollbar-highlight-color: rgb(255, 255, 255);
    scrollbar-3d-light-color: rgb(255, 255, 255);
    scrollbar-base-color: rgb(245, 245, 245);
    scrollbar-dark-shadow-color: rgb(50, 50, 50);
    scrollbar-shadow-color: rgb(150, 150, 150);

    padding: 0;
    margin: 0;
    background: #eee;


    /*border: 1px solid #00f;*/

    color: #555;
}

div#body-background
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    z-index: -1;
    box-sizing: border-box;
}


div#body-background:before
{
    content: "";
    position: absolute;
    top: -200vh;
    bottom: -200vh;
    left: -200vw;
    right: -200vw;
    background-color: #aaa;
    background-image: url("../img/bg/black-line.png");
    background-repeat: repeat;
    background-size: 20px 20px;
    transform: rotate(-45deg);
    opacity: .05;
}


/*****************************************
div#body-background:after
{
    content: "";
    position: absolute;
    top: -100%;
    bottom: -100%;
    left: -100%;
    right: -100%;
    background-image: url("img/bg/black-line-3.png");
    background-repeat: repeat;
    background-size: 20px 20px;
    transform: rotate(45deg);
    opacity: .05;
}
*/


*
{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-touch-callout: none;
    -webkit-text-size-adjust: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-drag: none;
    -moz-user-drag: none;
    -ms-user-drag: none;
    user-drag: none;
    outline: none;
}

a
{
    color: #034;
    text-decoration: none;
}


*::-webkit-scrollbar
{
    display: none;
}

@supports (-webkit-overflow-scrolling: touch)
{
    body, html
    {
        overflow-y: auto;
    }

    div#bottom
    {
        width: 1px;
        height: 1px;
        position: absolute;
        top: 105vh;
    }
}

div#body-cover
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;

    box-sizing: border-box;
    background: #fff;
    z-index: 999;
    opacity: 0;
    transition: all 1s ease-in-out;
}

div#body-cover.body-cover-shown
{
    opacity: 1;
    transition: all 1s ease-in-out;
}

div#body-cover > div
{
    position: relative;
    width: 120px;
    height: 120px;
    margin: 30% auto;
    padding: 0;
    box-sizing: border-box;
    overflow: visible;

    background: #fff;
    /*border: 1px solid #0001;*/
}

div#body-cover > div > img
{
    width: 120px;
    height: auto;

    animation-name: logo-rotation;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    z-index: 1000;
}

@keyframes logo-rotation
{
    0%
    {
        transform: rotateX(0) rotateY(0) rotateZ(0);

        transform-origin: 50% 50%;
    }
    25%
    {
        transform: rotateX(10deg) rotateY(-90deg) rotateZ(-90deg);
        transform-origin: 50% 50%;
    }
    50%
    {
        transform: rotateX(20deg) rotateY(-180deg) rotateZ(-180deg);
        transform-origin: 50% 50%;
    }
    75%
    {
        transform: rotateX(10deg) rotateY(-270deg) rotateZ(-270deg);
        transform-origin: 50% 50%;
    }
    100%
    {
        transform: rotateX(0deg) rotateY(-360deg) rotateZ(-360deg);
        transform-origin: 50% 50%;
    }
}


a
{
    text-decoration: none;
    color: inherit;
    font-weight: bold;
    display: inline-block;
    transform: scale(1);
    transition: all .3s ease-in-out;
}

a:hover
{
    transform: scale(1.1);
    transition: all .3s ease-in-out;
}

a:active
{
    transform: scale(0.9);
    transition: all .3s ease-in-out;
}


.grecaptcha-badge
{
    visibility: hidden;
}