* {
    padding: 0;
    margin: 0;
}

html {
    background-image: url(../images/bg.png);
    height: 100%;
}

body {
    color: #FFF;
    height: 100%;
    position: relative;
}

strong, b {
    font-weight: bold;
}

@font-face {
    font-family: 'PT Sans Bold';
    src: url('../fonts/PTSans-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'PT Sans Bold';
    src: url('../fonts/PTSans-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

input[type="submit"]::-moz-focus-inner { /* Исправляем отображение кнопок в старых версиях FF */
    border: 0;
    padding: 0;
}

.auth-form-container {
    font: 13px/1 Arial, Helvetica, sans-serif;
    color: #2F2F2F;
    text-align: center;
    padding-bottom: 12px;
    margin-left: -167px;  /* ~ -[width]/2 */
    position: absolute;
    top: 0px;
    left: 50%;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.24s ease;
}

.auth-form__blur {
    display: none;
    background: #000000;
    opacity: 0.5;
    filter: alpha(opacity=50);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.auth-form-logo {
    height: 190px;
}

.auth-form-content {
    background-color: #F6F6F6;
    width: 332px;  /* Ширина формы */
    height: 388px;  /* Высота формы */
    padding-top: 0px;
    padding-bottom: 24px;
    border: 1px solid #C8C8C8;
    border-radius: 3px;
    position: relative;
/* Блочная модель border-box !!! */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.auth-form__block-social-buttons {
    background-color: #202020;
    height: 114px;
    border-radius: 3px;
    padding-right: 2px;
}

.auth-form__header-social-buttons {
    font-size: 15px;
    font-weight: normal;
    line-height: 40px;
    color: #E5E5E5;
    height: 45px;
    display: block;
}

.auth-btn {
    background-image: url(../images/auth-form/social-auth-buttons.png);
    width: 46px;
    height: 46px;
    margin-right: 4px;
    margin-left: 3px;
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
}

.auth-btn.vk {
    background-position: 0 0;
}
.auth-btn.vk:hover {
    background-position: 46px 0;
}
.auth-btn.ok {
    background-position: 0 -46px;
}
.auth-btn.ok:hover {
    background-position: 46px -46px;
}
.auth-btn.mm {
    background-position: 0 -92px;
}
.auth-btn.mm:hover {
    background-position: 46px -92px;
}
.auth-btn.fs {
    background-position: 0 -138px;
}
.auth-btn.fs:hover {
    background-position: 46px -138px;
}
.auth-btn.fb {
    background-position: 0 -184px;
}
.auth-btn.fb:hover {
    background-position: 46px -184px;
}
.auth-btn.tw {
    /*background-position: 0 -230px;*/
    background-position: 46px -230px;
    cursor: default;
}
.auth-btn.tw:hover {
    background-position: 46px -230px;
}
.auth-btn.gplus {
    /*background-position: 0 -276px;*/
    background-position: 46px -276px;
    cursor: default;
}
.auth-btn.gplus:hover {
    background-position: 46px -276px;
}
.auth-btn.inv {
    background-position: 0 -322px;
    border: 1px solid #00cdc9;
    border-radius: 15%;
}
.auth-btn.inv:hover {
    background-position: 46px -322px;
    border: 1px solid #34fef8;
}

.auth-form__message-line {
    line-height: 21px;
    color: #FFF;
    background-color: #FF1900;
    width: 283px;
    height: 22px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    position: absolute;
    top: -1px;
    left: 23px;
}

.auth-form__mode-sign-in .auth-form__message-line,
.auth-form__mode-sign-up .auth-form__message-line,
.auth-form__mode-restore-auth .auth-form__message-line {
    top: 114px;
}

.auth-form__flash-message {
    visibility: hidden;
}

.auth-form__show-flash-message .auth-form__flash-message {
    visibility: visible;
}

.auth-form__block-form {
    margin-top: 27px;
}

.auth-form__mode-sign-in .auth-form__block-form,
.auth-form__mode-sign-up .auth-form__block-form {
    display: block;
    margin-top: 5px;
}

.auth-form__input {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    color: #333;
    background-color: #FFF;
    background-repeat: no-repeat;
    width: 285px;
    height: 35px;
    padding-top: 2px;
    padding-left: 39px;
    border: 1px solid #C8C8C8;
    border-radius: 3px;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.16);
    margin-bottom: 10px;
    margin-left: 22px;
    display: block;
/* Блочная модель border-box !!! */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    outline: none;
}
.auth-form__input-email {
    background-image: url(../images/auth-form/input-email.png);
    background-position: 11px 10px;
}
.auth-form__input-password1 {
    background-image: url(../images/auth-form/input-password.png);
    background-position: 11px 13px;
}
.auth-form__input-password2 {
    background-image: url(../images/auth-form/input-password.png);
    background-position: 11px 13px;
}
.auth-form__input:focus {
    border: 1px solid #00CDC9;
}
.auth-form__invalid {
    border: 1px solid #FF0000;
}

.auth-form__input::-webkit-input-placeholder { font-size: 12px; color: #D5D5D6; opacity: 1; }
.auth-form__input::-moz-placeholder { font-size: 12px; color: #D5D5D6; opacity: 1; }
.auth-form__input:-ms-input-placeholder { font-size: 12px; color: #D5D5D6; opacity: 1; }
.auth-form__input:placeholder { font-size: 12px; color: #D5D5D6; opacity: 1; }

.auth-form__input:focus::-webkit-input-placeholder { opacity: 0; }
.auth-form__input:focus::-moz-placeholder { opacity: 0; }
.auth-form__input:focus:-ms-input-placeholder { opacity: 0; }
.auth-form__input:focus:placeholder { opacity: 0; }

.auth-form__input-label { display: none; }

.auth-form__actions-login {
    line-height: 16px;
    text-align: left;
    margin: 12px 24px 27px 22px;
}

.auth-form__eula {
    line-height: 16px;
    text-align: left;
    height: 39px;
    margin: -3px 24px 0 22px;
}

.auth-form__dont-remember-me > input, .auth-form__i-accept > input  {  /* Скрываем стандартный input */
    display: none;
}

.auth-form__dont-remember-me > i, .auth-form__i-accept > i,
.auth-form__dont-remember-me > span, .auth-form__i-accept > span {
    display: inline-block;
    vertical-align: top;
}

.auth-form__dont-remember-me > i, .auth-form__i-accept > i {  /* Создаём замену чекбокса */
    background-color: #FFF;
    width: 13px;
    height: 13px;
    border: 1px solid #C8C8C8;
    border-radius: 3px;
}
.auth-form__dont-remember-me > input:checked + i, .auth-form__i-accept > input:checked + i {  /* Когда отмечено */
    background-image: url(../images/auth-form/checkbox.png);
}

.auth-form__dont-remember-me > span {
    margin-left: 4px;
}

.auth-form__i-accept > span {
    font-size: 11px;
    color: #BDB9B8;
    line-height: 13px;
    margin-left: 10px;
    width: 80%;
}

.auth-form__i-accept > span > a {
    color: inherit;
}
.auth-form__i-accept > span > a:hover {
    color: #606060;
}

.auth-form__forgot-password {
    color: inherit;
    float: right;
}

.auth-form__submit-button {
    font-family: 'PT Sans Bold', Arial, Helvetica, sans-serif;
    color: #FFF;
    cursor: pointer;
    border-radius: 4px;
    height: 40px;
    padding-bottom: 1px;
    border: 0;
    display: block;
/* Блочная модель border-box !!! */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.auth-form__guest-button {
    display: inline-block; /* или inline-flex */
    width: auto;
    min-width: 120px; /* Минимальная ширина для избежания "узких" кнопок */
    max-width: 330px;

    background-color: #CC7722;  /* Основной цвет охры */
    border: 2px solid #000000;  /* Черная граница 2px */
    color: #000000;            /* Черный текст */

    font-size: 14px;           /* Явный размер текста */
    font-weight: 600;          /* Полужирный текст */
    padding: 7px 24px;        /* Большие отступы */
    margin-top: 8px;          /* Отступ сверху */

    border-radius: 6px;        /* Скругление углов */
    cursor: pointer;           /* Курсор-указатель */
    transition: all 0.3s ease; /* Плавные переходы */

    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Состояние при наведении */
.auth-form__guest-button:hover {
    background-color: #D18C3A;  /* Светлее на 10% */
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}

/* Состояние при нажатии */
.auth-form__guest-button:active {
    background-color: #B3691D;  /* Темнее на 10% */
    transform: translateY(1px); /* Эффект нажатия */
}

/* Состояние фокуса (для доступности) */
.auth-form__guest-button:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(204, 119, 34, 0.4);
}

.auth-form__submit-button {
    font-size: 23px;
    background-color: #00CDC9;
    width: 169px;
    margin-left: 80px;
}
.auth-form__submit-button:hover,
.auth-form__submit-button:focus {
    color: #00B5B1;
    background-color: #17FFF9;
}

.auth-form__mode-sign-up .auth-form__submit-button {
    font-size: 20px;
    background-color: #FF5900;
    width: 209px;
    margin-left: 60px;
}
.auth-form__mode-sign-up .auth-form__submit-button:hover,
.auth-form__mode-sign-up .auth-form__submit-button:focus {
    color: #FFC76F;
    background-color: #7E5037;
}

.auth-form__mode-personals .auth-form__submit-button {
    margin-top: 122px;
}

.auth-form__mode-go-to-play .auth-form__submit-button {
    margin-top: 50%;
    margin-bottom: 10%;
}

.auth-form__mode-restore-auth .auth-form__submit-button,
.auth-form__mode-reset-password .auth-form__submit-button {
    width: auto;
    padding: 1px 30px;
    margin: 0 auto;
}

.auth-form__mode-restore-auth .auth-form__submit-button,
.auth-form__mode-reset-password .auth-form__submit-button {
    background-color: #eadd4f;
    color: white;
}

.auth-form__mode-restore-auth .auth-form__submit-button:hover,
.auth-form__mode-reset-password .auth-form__submit-button:hover {
    background-color: #b4a228;
    color: #dbcc99;
}

.auth-form__mode-restore-auth .auth-form__toggle-mode {
    display: block;
    margin-top: 10px;
}

.auth-form__altlink-login {
    padding-left: 2px;
    margin-top: 6px;
}

.auth-form__altlink-login > a {
    font-weight: bold;
    color: #FF5900;
}

.auth-form__altlink-reg {
    padding-left: 2px;
    margin-top: 7px;
}

.auth-form__altlink-reg > a,
.auth-form__back-to-sign-in {
    font-weight: bold;
    color: #00CDC9;
}

.auth-form__header {
    font-size: 15px;
    font-weight: normal;
    margin-bottom: 10px;
}

.auth-form__text {
    line-height: 19px;
    color: #2F2F2F;
/* Блочная модель border-box !!! */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.auth-form__mode-personals .auth-form__text,
.auth-form__mode-show-email .auth-form__text {
    height: 136px;
    padding-top: 39px;
    font-size: 16px;
    font-weight: bold;
}

.auth-form__mode-go-to-play .auth-form__text {
    position: relative;
    top: 100px;
    padding: 0 15px;
}

.auth-form__mode-restore-auth .auth-form__text {
    font-size: 14px;
    margin-bottom: 10px;
    padding: 0px 22px;
    text-align: left;
}

.auth-form__mode-reset-password .auth-form__text {
    font-size: large;
    margin-bottom: 10px;
}

.auth-form__mode-reset-password .token-expired .auth-form__text {
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 50px;
    text-align: left;
}

.auth-form__mode-logout-confirm .auth-form-content {
    height: auto;
    padding-bottom: 30px;
}

.auth-form__mode-logout-confirm .auth-form__text {
    padding: 20px 30px 10px 30px;
    text-align: left;
    font-size: 16px;
    font-weight: bold;
    line-height: 19px;
    color: #2F2F2F;
/* Блочная модель border-box !!! */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.auth-form__mode-logout-confirm .auth-form__text > p:first-child {
    text-align: center;
    color: red;
    font-size: 1.4em;
    margin-bottom: 1em;
}

.auth-form__reset-all-sessions-label {
    display: block;
    padding: 0 30px;
    text-align: left;
    margin: 10px auto 30px auto;
}

.auth-form__mode-logout-confirm .link-action-logout {
    border: none;
    background: transparent;
    text-decoration: underline;
    color: -webkit-link;
    font-size: 1.2em;
    margin-right: 10px;
    cursor: pointer;
}

.auth-form__mode-logout-confirm .link-action-cancel {
    font-size: 1.2em;
    cursor: pointer;
}

.auth-form__esprit-auth-button {
    width: 78%;
    margin-left: 10px;
    background-color: #373737;
    color: #00cdc9;
    font-size: larger;
    text-decoration: underline;
    border: 2px solid #00cdc9;
    border-radius: 10px;
    padding: 25px;
    cursor: pointer;
}

.auth-form__esprit-auth-status {
    padding: 10px;
    color: #cecece;
    height: 20px;
}

.auth-form__esprit-auth-button:hover {
    background-color: #666666;
    color: #34fef8;
    border: 2px solid #34fef8;
}

.auth-form__mode-invader-sign-in .auth-form-content {
    background-color: #212121;
}

.auth-form__mode-invader-sign-in .auth-form__buttons {
    position: relative;
    top: 15px;
    padding: 20px;
    background-color: #5a5a5a;
}

.bind-email-text-block {
    font-family: Arial, sans-serif;
    margin: 60px auto 0;
    max-width: 380px;
}

.bind-email-text-block a {
    color: #fff;
}

.auth-form__mode-bind-email .auth-form-content {
    height: auto;
}

.auth-form__mode-bind-email .auth-form-logo {
    height: 120px;
}
