html, body {
    position: relative;
    padding: 0;
    margin: 0;
    color: #151515;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 13px;
    min-width: 1100px;
}

html {
    min-height: 100%;
    height: 100%;
}

body {
    min-height: 100%;
    height: 100%;
}

a {
    color: #4c4133;
    text-decoration: none;
}

a:hover {
    color: #8f7e69;
}

#page {
    position: relative;
    z-index: 0;
    min-height: 100%;
    background: url(images/footer-repeat.png) center 500px repeat-x, url(images/bg.png) center top;
}

#page::after {
    content: '';
    display: block;
    position: relative;
    height: 284px;
    width: 100%;
}

#header {
    position: relative;
    background: url(images/header-top-repeat.png) center top repeat-x, url(images/header.jpg) center 35px repeat-x;
    height: 591px;
    overflow: hidden;
    margin-bottom: -25px;
    z-index: 2;
}

#header-align-container {
    position: absolute;
    left: 50%;
    top: 0;
    width: 0;
}

#logo {
    position: absolute;
    background: url(images/logo.png);
    width: 285px;
    height: 219px;
    top: 206px;
    left: -141px;
}

#detail-leafs {
    position: absolute;
    background: url(images/detail.png);
    width: 1314px;
    height: 233px;
    top: 294px;
    left: -694px;
    pointer-events: none;
}

#header-button-container {
    position: absolute;
    background: url(images/header-button-container.png);
    height: 100px;
    width: 288px;
    left: -146px;
    top: 0;
}

#header-button {
    position: absolute;
    display: block;
    background: url(images/header-button.png);
    width: 76px;
    height: 76px;
    top: 8px;
    left: 108px;
}

#presentation-button-container {
    position: relative;
    top: 464px;
    left: -325px;
}

#presentation-button-container::before {
    content: '';
    display: block;
    position: absolute;
    background: url(images/presentation-detail.png);
    width: 160px;
    height: 51px;
    left: 244px;
    top: -1px;
}

#presentation-button {
    position: relative;
    background: url(images/presentation-button.png);
    display: block;
    width: 649px;
    height: 127px;
    box-sizing: border-box;
    padding: 43px 130px 0 265px;
    font-family: 'Cinzel', serif;
    font-weight: 700;
    color: #bea98f;
    text-decoration: none;
    font-size: 1.17rem;
    letter-spacing: -0.03rem;
    line-height: 18px;
}

#presentation-button-line-1 {
    white-space: nowrap;
    background: url(images/g1.png) top repeat-x;
    background-clip: text;
    -webkit-background-clip: text;
    text-transform: uppercase;
    color: transparent;
    filter: drop-shadow(0 1px 9px #110E0D);
}

#presentation-button-line-2 {
    white-space: nowrap;
    background: url(images/g2.png) top repeat-x;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    filter: drop-shadow(0 1px 9px #110E0D);
}

#main {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    z-index: 1;
}

#container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 100%;
    overflow: hidden;
    margin: -55px 0 0;
}

#container::before {
    content: '';
    display: block;
    width: 100%;
    height: 55px;
}

#wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}

.panels {
    width: 235px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
}

#left {
    padding: 0 0 0 10px;
}

#right {
    padding: 0 10px 0 0;
}

.panel-wrapper {
    position: relative;
    height: 455px;
}

.panel-wrapper.panel-top {
    margin: 0 0 7px;
    height: 443px;
}

.panel-wrapper::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    background: url(images/panel.png);
    width: 368px;
    height: 455px;
}

.panel-wrapper.panel-top::after {
    content: '';
    display: block;
    position: absolute;
    background: url(images/pane-chains-top.png);
    width: 299px;
    height: 82px;
    top: -55px;
    right: 36px;
}

.panel-wrapper::after {
    content: '';
    display: block;
    position: absolute;
    background: url(images/panel-chains.png);
    width: 244px;
    height: 62px;
    top: -35px;
    right: 64px;
}

.panel-wrapper.panel-top::before {
    margin: 0 0 7px;
    background: url(images/panel-top.png);
    height: 443px;
}

.panel-content {
    position: relative;
    width: 368px;
    height: 443px;
    box-sizing: border-box;
    padding: 0 74px 0;
}

.panel-header {
    display: block;
    font-family: 'Philosopher', sans-serif;
    text-align: center;
    box-sizing: border-box;
    padding: 36px 0 0;
    height: 73px;
    font-size: 1.22rem;
    color: #f5f5f5;
    text-shadow: 0 2px 3px rgb(0 0 0 / 57%);
}

#content-container {
    position: relative;
    width: 700px;
    min-width: 590px;
    min-height: 218px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background: url(images/content-top.png) center top no-repeat;
    z-index: 2;
    margin: 27px 0 0;
}

#content-container::before {
    content: '';
    display: block;
    position: absolute;
    top: 147px;
    left: 0;
    right: 0;
    bottom: 93px;
    background: url(images/content-repeat.png) center top repeat-y;
    z-index: 1;
}

#content-container::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(images/content-bottom.png) center top repeat-y;
    height: 103px;
    z-index: 2;
}

#content {
    position: relative;
    z-index: 3;
    width: 489px;
    padding: 61px 0 55px;
}

#footer {
    position: relative;
    z-index: 1;
    width: 100%;
    margin-top: -176px;
    background: url(images/footer-repeat.png) center top repeat-x;
    height: 176px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#footer-logo {
    display: block;
    background: url(images/logo.png) center no-repeat;
    background-size: contain;
    width: 156px;
    height: 121px;
    margin: 43px 0 0;
}

.panel-buttons {
    margin: 4px 0 0;
}

#login-line-1 {
    color: #898275;
    padding: 21px 0 0;
    line-height: 12px;
    text-align: center;
}

#login-line-2 {
    color: #8f7e69;
    text-align: center;
    padding: 0 0 5px;
}

#login-line-3 {
    color: #5f5f5f;
    text-align: center;
    padding: 12px 0 0;
}

#login-line-3 a {
    color: #8f7e69;
}

#login-line-3 a:hover {
    color: #ccc2b2;
}

#login-line-4 {
    color: #8f7e69;
    text-align: center;
    padding: 4px 0 8px;/*14px 0 18px;*/
    line-height: 16px;
}

#panel-register-link {
    width: 198px;
    height: 31px;
    font-weight: 600;
    background: rgba(60, 60, 60, 0.2);
    text-align: center;
    line-height: 30px;
    margin: 0 auto;
    font-size: 1.09rem;
}

#panel-register-link a {
    color: #853523;
}

#panel-register-link a:hover {
    color: #be6550;
}

.panel-button:hover {
    color: #fdf2e3;
}

.button-effects {
    transition: filter 150ms;
}

.button-effects:hover {
    filter: brightness(1.1) saturate(1.1);
}

.button-effects:active {
    filter: brightness(0.9) saturate(1);
}

input[type=text], input[type=password], input[type=email], select {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    background: #493720;
    border-radius: 6px;
    border: 1px solid #43321d;
    border-top-color: #1b1107;
    border-bottom-color: #7a5c35;
    color: #dcbd8c;
    outline: none;
    height: 34px;
    margin: 1px;
    box-sizing: border-box;
    padding: 0 11px;
    transition: background-color 2147483647s ease-in, color 2147483647s ease-in;
}

select {}

option {
    background: #493720;
}

textarea {
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    box-sizing: border-box;
    outline: none;
    background: #493720;
    padding: 11px;
    border-radius: 6px;
    border: 1px solid #43321d;
    border-top-color: #1b1107;
    border-bottom-color: #7a5c35;
    color: #dcbd8c;
}

#password_input, #login_input, #pin_input {
    border: 1px solid #252525;
    background: #111;
    color: #5f5f5f;
    height: 26px;
    width: 198px;
    border-radius: 0;
    display: block;
    margin: 7px auto 0;
    padding: 0 8px;
    font-size: 0.97rem;
    letter-spacing: -0.011rem;
    transition: background-color 2147483647s ease-in, color 2147483647s ease-in;
}

.ranking-wrapper {
    color: #575757;
    padding: 0 5px 0 4px;
    height: 289px;
}

.ranking-row.ranking-header {
    color: #837360;
    height: 28px;
    line-height: 30px;
    background: transparent !important;
}

.ranking-row {
    position: relative;
    display: flex;
    height: 25px;
    border-bottom: 1px solid #2a2a2a;
    background: #121212;
    line-height: 24px;
}

.ranking-row:nth-child(2n) {
    background: #0c0c0c;
}

.ranking-row:nth-child(2) .ranking-place {
    color: #d4bd20;
}

.ranking-row:nth-child(3) .ranking-place {
    color: #b5b5b5;
}

.ranking-row:nth-child(4) .ranking-place {
    color: #906c5d;
}

.ranking-place {
    width: 26px;
    flex: 0 0 auto;
    text-align: center;
}

.ranking-kingdom {
    width: 40px;
    display: flex;
    justify-content: center;
    border-left: 1px solid #2a2a2a;
    border-right: 1px solid #2a2a2a;
}

.ranking-kingdom-1::after {
    content: '';
    display: inline-block;
    background: url(images/flags.png) 0 0;
    width: 24px;
    height: 15px;
    margin: 5px 0 0;
}

.ranking-kingdom-2::after {
    content: '';
    display: inline-block;
    background: url(images/flags.png) 0 -16px;
    width: 24px;
    height: 15px;
    margin: 5px 0 0;
}

.ranking-kingdom-3::after {
    content: '';
    display: inline-block;
    background: url(images/flags.png) 0 -32px;
    width: 24px;
    height: 15px;
    margin: 5px 0 0;
}

.ranking-value {
    position: relative;
    text-align: right;
    padding: 0 5px 0 0;
}

.ranking-wrapper .ranking-row:first-child .ranking-kingdom {
    border: none;
}

.ranking-wrapper.ranking-players .ranking-value {
    width: 28px;
}

.ranking-wrapper.ranking-guilds .ranking-value {
    width: 42px;
}

.ranking-name a {
    color: inherit;
}

.ranking-name a:hover {
    color: #8d8d8d;
}

.ranking-name {
    flex: 1 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0 8px 0 8px;
}

.ranking-name a {
    text-decoration: none;
}

.ranking-full-link {
    width: 196px;
    height: 26px;
    line-height: 26px;
    background: rgba(87, 87, 87, 0.14);
    margin: 14px auto 0;
    text-align: center;
}

.ranking-full-link a {
    color: #837460;
}

.ranking-full-link a:hover {
    color: #c0b6a7;
}

.button, a.button, button, .download-button {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    border: none;
    font-family: 'Open Sans', sans-serif;
    background: url(images/button-stretch-terminators.png) left 0 no-repeat, url(images/button-stretch-terminators.png) right -47px no-repeat;
    height: 46px;
    text-decoration: none;
    font-size: 1.08rem;
    font-weight: 400;
    margin: -3px -2px;
    cursor: pointer;
    color: #fff1db;
    text-shadow: 0 1px 1px #000;
    text-align: center;
    min-width: 63px;
    vertical-align: middle;
    padding: 13px 22px 16px;
    white-space: nowrap;
    line-height: 17px;
    transition: filter 150ms;
}

.button span, button span, .download-button::after {
    position: relative;
    z-index: 2;
}

.button::before, button::before, .download-button::before {
    content: '';
    position: absolute;
    display: block;
    left: 16px;
    right: 16px;
    top: 0;
    bottom: 0;
    background: url(images/button-stretch.png);
    background-size: 100% 100%;
    image-rendering: -webkit-optimize-contrast;
    z-index: 1;
}

.button:hover, button:hover, .download-button:hover {
    filter: brightness(1.1) saturate(1.1);
}

.button:active, button:active, .download-button:active, .button.active, button.active {
    filter: brightness(0.8) saturate(0.8) contrast(1.2);
}

.panel-button {
    background: url(images/panel-button.png);
    display: block;
    width: 219px;
    height: 43px;
    text-decoration: none;
    color: #fdf2e3;
    text-shadow: 0 1px 0 #000;
    text-align: center;
    line-height: 42px;
    white-space: nowrap;
    margin: 0 0 -3px;
    font-size: 1.08rem;
    border: 0;
    cursor: pointer;
}

.session-button {
    padding: 0;
}

.session-button::before, .session-button::after {
    display: none;
}

#session-button {
    background: url(images/panel-button.png);
    background-size: 100% 100%;
    width: 207px;
    margin: 14px auto 0;
}

.logout-form {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 268px;
}