/*******************************************************************************
 * Base
 */

*
{
    box-sizing: border-box;
}

html,
body
{
    height: 100%;
}

body
{
    font-family: YuGothic, sans-serif;
    font-size: 12px;
    font-weight: 500;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #292929;
}

:link,
:visited,
:hover,
:active,
:focus
{
    color: inherit;
}

/*******************************************************************************
 * Components
 */

/* Background Gradient */
.background-gradient
{
    background: linear-gradient(180deg, #fff 0%, #fff 50%, #eaeaea 100%);
}

/* Background Picture */
.background-picture
{
    background-image: url('images/background-picture.jpg');
    background-size: cover;
}

/* Notification Message */
.notification-message
{
    position: absolute;
    top: 40px;
    left: 50%;

    padding: 12px;

    transform: translate(-50%, -50%);
    vertical-align: middle;

    border: 1px solid #d6d6d6;
    border-radius: 3px;
    background-color: #fff;
    box-shadow: 0 0 16px #00019;
}

.notification-message:empty
{
    visibility: hidden;
}

.notification-message.-info
{
    padding-left: 32px;
}

.notification-message.-info::before
{
    position: absolute;
    top: 8px;
    left: 8px;

    margin-right: 50px;

    content: url('images/info.svg');
}

.notification-message.-warning
{
    padding-left: 32px;

    color: #c23934;
}

.notification-message.-warning::before
{
    position: absolute;
    top: 8px;
    left: 8px;

    margin-right: 50px;

    content: url('images/warning.svg');

    color: #c23934;
}

/* Primary Button */
.primary-button
{
    font-size: 16px;
    font-weight: bold;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;

    color: #fff;
    background-color: #31acc6;
}

/* Secondary Button */
.secondary-button
{
    font-weight: bold;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;

    border: 1px solid #d6d6d6;
    background-color: #fff;
}

.secondary-button > .icon
{
    margin-right: 8px;

    vertical-align: middle;
}

/* Iizeirishi Logo */
.iizeirishi-logo
{
    visibility: hidden;
}

.iizeirishi-logo > .caption
{
    margin-bottom: 12px;

    text-indent: .5em;
}

.iizeirishi-logo > .logo
{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 280px;
    height: 72px;

    border: solid 1px #d6d6d6;
}

/* Login Form */
.login-form
{
    padding: 40px 48px;

    background-color: rgba(255, 255, 255, .8);

    backdrop-filter: blur(30px);
}

.login-form > .label > .field
{
    display: block;

    width: 100%;
    height: 48px;
    margin-top: 8px;
    margin-bottom: 24px;
    padding: 8px;

    border: 1px solid #707070;
}

.login-form > .submit
{
    font-size: 16px;
    font-weight: bold;

    display: block;

    width: 100%;
    height: 48px;
    margin-top: 32px;

    color: #fff;
    border: none;
    background-color: #31acc6;
}

.login-form > .help
{
    display: block;

    margin-top: 28px;

    text-align: center;
    text-decoration: none;

    color: #292929;
}

/*******************************************************************************
 * Layouts
 */

/* Index */
.layout-index
{
    width: 480px;
    margin: auto;
}

.layout-index > .logo
{
    margin-top: 64px;
    margin-bottom: 60px;

    text-align: center;
}

.layout-index > .primary-button
{
    width: 480px;
    height: 96px;
    margin-bottom: 16px;
}

.layout-index > .secondary-button
{
    width: 232px;
    height: 48px;
    margin-left: 120px;
    margin-bottom: 16px;
    border-radius: 10px;
}

.layout-index > .download
{
    margin-bottom: 88px;

    text-align: center;
}

.layout-index > .iizeirishi-logo
{
    margin-bottom: 28px;

    text-align: center;
}

/* Login */
.layout-login
{
    width: 400px;
    margin: auto;
}

.layout-login > .logo
{
    margin-top: 64px;
    margin-bottom: 46px;

    text-align: center;
}

.layout-login > .form
{
    width: 400px;
    height: 360px;
    margin-bottom: 84px;
}

/*******************************************************************************
 * Helpers
 */

._center
{
    text-align: center !important;
}
