/*
 * Homepage A-E component reskin.
 * The ASP page owns every label, route, form field, data row and carousel item.
 * These rules assemble fixed-size decorative PNG components behind the live DOM.
 */

body.jh-homepage {
    min-width: 1180px;
    margin: 0;
    background-attachment: scroll;
    background-position: center top, left top;
    background-repeat: no-repeat, repeat;
    font-family: "Microsoft YaHei", "SimSun", serif;
}

.jh-homepage .top,
.jh-homepage .middle,
.jh-homepage .content,
.jh-homepage .foot {
    width: 1180px;
    margin-right: auto;
    margin-left: auto;
}

/* Top rail and the seven real navigation anchors. */
.jh-homepage .top {
    position: relative;
    height: 86px;
    overflow: hidden;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 1180px 86px;
}

.jh-homepage .logo {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 8px;
    width: 226px;
    height: 86px;
}

.jh-homepage .jh-theme-brand {
    display: block;
    width: 220px;
    height: 84px;
    border: 0;
    object-fit: contain;
}

.jh-homepage .links {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 250px;
    width: 910px;
    height: 86px;
    line-height: normal;
}

.jh-homepage .links h4 {
    width: 910px;
    height: 86px;
    margin: 0;
    padding: 22px 0;
    line-height: 42px;
    white-space: nowrap;
}

.jh-homepage .links h4 a {
    display: inline-block;
    width: 120px;
    height: 42px;
    margin: 0 7px 0 0;
    padding: 0;
    overflow: hidden;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 120px 168px;
    font-size: 15px;
    font-weight: 700;
    line-height: 42px;
    text-align: center;
    text-decoration: none;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
    vertical-align: top;
}

.jh-homepage .links h4 a:last-child,
.jh-homepage .links h4 a.last-link {
    margin-right: 0;
}

.jh-homepage .links h4 a:hover { background-position: 0 -42px; }
.jh-homepage .links h4 a:active { background-position: 0 -84px; }

/* Hero, login and the three dynamic information cards. */
.jh-homepage .middle {
    position: relative;
    height: 620px;
    overflow: hidden;
    background-position: 20px 20px;
    background-repeat: no-repeat;
    background-size: 800px 360px;
}

.jh-homepage .jhdl {
    position: absolute;
    top: 20px;
    left: 820px;
    width: 340px;
    height: 360px;
    padding: 0;
    overflow: hidden;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 340px 360px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    line-height: normal;
    text-align: center;
}

.jh-homepage .jhdl form,
.jh-homepage .jhdl table,
.jh-homepage .jhdl tbody {
    display: block;
    position: relative;
    width: 340px;
    height: 360px;
    margin: 0;
}

.jh-homepage .jhdl tr {
    display: block;
    position: absolute;
    left: 0;
    width: 340px;
}

.jh-homepage .jhdl td {
    display: block;
    width: 340px;
    padding: 0;
    border: 0;
}

.jh-homepage .jh-login-title-row { top: 7px; height: 67px; }
.jh-homepage .jh-login-name-row { top: 88px; height: 36px; }
.jh-homepage .jh-login-pass-row { top: 134px; height: 36px; }
.jh-homepage .jh-login-action-row { top: 190px; height: 34px; }
.jh-homepage .jh-login-helper-row { top: 245px; height: 66px; }

.jh-homepage .txt_jhdl {
    height: 67px;
    line-height: 67px;
}

.jh-homepage .jh-theme-login-plaque {
    display: block;
    width: 236px;
    height: 62px;
    margin: 0 auto;
    border: 0;
    object-fit: contain;
}

.jh-homepage .txt_dl {
    height: 36px;
    font-size: 14px;
    line-height: 32px;
    white-space: nowrap;
}

.jh-homepage .txt_dl input {
    width: 190px;
    height: 32px;
    margin-left: 6px;
    padding: 0 8px 0 28px;
    background-color: transparent;
    background-position: 8px center, center center;
    background-repeat: no-repeat, no-repeat;
    background-size: auto, 190px 32px;
    border: 0;
    border-radius: 0;
    outline: none;
    font-size: 13px;
    line-height: 32px;
    vertical-align: top;
}

.jh-homepage .txt_dl input:focus {
    outline: 1px solid currentColor;
    outline-offset: -2px;
}

.jh-homepage .txt_dlcz {
    height: 34px;
    font-size: 0;
    line-height: 34px;
}

.jh-homepage .jh-login-action {
    display: inline-block;
    width: 96px;
    height: 32px;
    margin: 0 8px;
    overflow: hidden;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 96px 128px;
    font-size: 15px;
    font-weight: 700;
    line-height: 32px;
    text-align: center;
    text-decoration: none;
    vertical-align: top;
}

.jh-homepage .jh-login-action:hover { background-position: 0 -32px; }
.jh-homepage .jh-login-action:active { background-position: 0 -64px; }
.jh-homepage .jh-login-action img { display: none; }
.jh-homepage .jh-login-action span { color: inherit; }

.jh-homepage .jh-login-helper-row .txt_dl {
    height: 66px;
    font-size: 13px;
    line-height: 28px;
}

.jh-homepage .jh-login-helper-row img {
    width: 19px;
    height: 19px;
    margin-right: 5px;
    object-fit: contain;
    vertical-align: -5px;
}

.jh-homepage .jhqd,
.jh-homepage .jhrz,
.jh-homepage .jhgn {
    position: absolute;
    top: 390px;
    width: 375px;
    height: 205px;
    padding: 46px 22px 14px 24px;
    overflow: hidden;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 375px 205px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 13px;
    line-height: 20px;
    text-align: left;
}

.jh-homepage .jhqd { left: 20px; }
.jh-homepage .jhrz { left: 402px; }
.jh-homepage .jhgn { left: 785px; }

.jh-homepage .jhqd ul,
.jh-homepage .jhrz ul,
.jh-homepage .jhgn ul {
    height: 140px;
    overflow: hidden;
}

.jh-homepage .jhqd li,
.jh-homepage .jhrz li,
.jh-homepage .jhgn li {
    height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Lower modules preserve the existing tables and feeds over individual frames. */
.jh-homepage .content {
    height: 680px;
    overflow: hidden;
    background: transparent;
    box-shadow: none;
    font-size: 13px;
    line-height: 22px;
}

.jh-homepage .content > div {
    position: relative;
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    border: 0;
    box-shadow: none;
}

.jh-homepage .gongneng {
    float: none;
    width: 1180px;
    height: 190px;
    clear: both;
}

.jh-homepage .jhimages,
.jh-homepage .paihang {
    float: left;
    width: 420px !important;
    height: 245px;
}

.jh-homepage .huodong,
.jh-homepage .wenzhai {
    float: left !important;
    width: 760px !important;
    height: 245px;
}

.jh-homepage .content table {
    position: relative;
    z-index: 1;
    table-layout: fixed;
    background: transparent !important;
    border-collapse: separate;
    border-spacing: 1px;
    font-size: 13px !important;
    line-height: 22px !important;
}

.jh-homepage .content td {
    padding: 0 8px;
    overflow: hidden;
    border: 1px solid transparent !important;
    font-size: 13px !important;
    line-height: 22px !important;
    text-overflow: ellipsis;
}

.jh-homepage .content td[bgcolor] {
    background-image: none !important;
}

.jh-homepage .content strong {
    font-size: 14px;
    letter-spacing: 2px;
}

.jh-homepage .gongneng table {
    width: 1150px !important;
    height: 176px;
    margin: 7px 15px;
}

.jh-homepage .gongneng tr:first-child td { height: 31px !important; }
.jh-homepage .gongneng tr:not(:first-child) td { height: 34px !important; }

.jh-homepage .jhimages table,
.jh-homepage .paihang table {
    width: 420px !important;
    height: 245px !important;
    margin: 0;
}

.jh-homepage .huodong table,
.jh-homepage .wenzhai table {
    width: 760px !important;
    height: 245px !important;
    margin: 0;
}

.jh-homepage .jhimages tr:first-child td,
.jh-homepage .huodong tr:first-child td,
.jh-homepage .paihang tr:first-child td,
.jh-homepage .wenzhai tr:first-child td {
    height: 32px !important;
    background-color: transparent !important;
}

.jh-homepage .huodong tr:not(:first-child) td { height: 34px !important; }
.jh-homepage .paihang tr:nth-child(2) td,
.jh-homepage .wenzhai tr:nth-child(2) td { height: 207px !important; }

.jh-homepage .jhimages td[background] {
    height: 211px !important;
    padding: 7px 19px 9px;
    background: none !important;
}

.jh-homepage .w_ctr,
.jh-homepage .w_ctr .JQ-slide,
.jh-homepage .w_ctr .JQ-slide-content li {
    width: 380px;
    height: 195px;
}

.jh-homepage .w_ctr .JQ-slide {
    position: relative;
    overflow: hidden;
}

.jh-homepage .w_ctr .JQ-slide-content {
    position: absolute;
}

.jh-homepage .w_ctr .JQ-slide-content li {
    display: inline;
    position: relative;
    float: left;
}

.jh-homepage .w_ctr .JQ-slide-content li img {
    width: 380px;
    height: 195px;
    border: 0;
    object-fit: cover;
}

.jh-homepage .w_ctr .JQ-slide-content li span {
    box-sizing: border-box;
    bottom: 0;
    width: 380px;
    height: 30px;
    padding: 0 74px 0 12px;
    font-size: 13px !important;
    line-height: 30px !important;
}

.jh-homepage .w_ctr .JQ-slide-nav {
    right: 10px;
    bottom: 10px;
}

.jh-homepage .w_ctr .JQ-slide-nav li {
    width: 10px;
    height: 10px;
    margin-right: 5px;
}

.jh-homepage .foot {
    min-height: 174px;
    padding: 24px 35px 8px;
    overflow: hidden;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 1180px 174px;
    box-shadow: none;
    font-size: 12px;
    line-height: 21px;
    text-align: center;
}

.jh-homepage .foot,
.jh-homepage .foot * {
    font-size: 12px !important;
    line-height: 21px !important;
}

.jh-homepage .foot .yqlj { text-align: left; }
.jh-homepage .foot .banquan p { font-size: 11px !important; }
.jh-homepage .foot > div:last-child { padding: 8px 0 0 !important; }

/* Theme A: Qinglv Shanhe. */
.jh-theme-a {
    color: #294b43;
    background-color: #dce6d8;
    background-image: url(images/homepage-themes/a-gutters.png), linear-gradient(#dbe6da, #efe9d8);
}
.jh-theme-a .top { background-image: url(images/homepage-themes/a-top-rail.png); }
.jh-theme-a .middle { background-image: url(images/homepage-themes/a-hero.png); }
.jh-theme-a .jhdl { background-image: url(images/homepage-themes/a-login-panel.png); }
.jh-theme-a .jhqd { background-image: url(images/homepage-themes/a-card-1.png); }
.jh-theme-a .jhrz { background-image: url(images/homepage-themes/a-card-2.png); }
.jh-theme-a .jhgn { background-image: url(images/homepage-themes/a-card-3.png); }
.jh-theme-a .gongneng { background-image: url(images/homepage-themes/a-grid-panel.png); }
.jh-theme-a .jhimages { background-image: url(images/homepage-themes/a-gallery-panel.png); }
.jh-theme-a .huodong { background-image: url(images/homepage-themes/a-activity-panel.png); }
.jh-theme-a .paihang { background-image: url(images/homepage-themes/a-ranking-panel.png); }
.jh-theme-a .wenzhai { background-image: url(images/homepage-themes/a-digest-panel.png); }
.jh-theme-a .foot { background-image: url(images/homepage-themes/a-footer-panel.png); }
.jh-theme-a .links h4 a { background-image: url(images/homepage-themes/a-nav-states.png); }
.jh-theme-a .jh-login-submit { background-image: url(images/homepage-themes/a-button-primary-states.png); }
.jh-theme-a .jh-login-register { background-image: url(images/homepage-themes/a-button-secondary-states.png); }
.jh-theme-a .txt_dl input { background-image: url(../images/username.gif), url(images/homepage-themes/a-input-well.png); }
.jh-theme-a .jh-login-pass-row input { background-image: url(../images/password.gif), url(images/homepage-themes/a-input-well.png); }
.jh-theme-a a, .jh-theme-a td, .jh-theme-a li, .jh-theme-a .foot * { color: #294b43; }
.jh-theme-a a:hover { color: #9d3d31; }
.jh-theme-a .content td[bgcolor] { background-color: rgba(249, 245, 226, 0.90) !important; border-color: rgba(91, 119, 96, 0.34) !important; }
.jh-theme-a .foot, .jh-theme-a .foot * { color: #dfe9d6 !important; text-shadow: 0 1px 1px rgba(0, 24, 21, 0.72); }
.jh-theme-a .foot a:hover { color: #fff1b5 !important; }

/* Theme B: Xuantie Yeyu. */
.jh-theme-b {
    color: #d6dfdd;
    background-color: #101820;
    background-image: url(images/homepage-themes/b-gutters.png), linear-gradient(#101820, #1b2a32);
}
.jh-theme-b .top { background-image: url(images/homepage-themes/b-top-rail.png); }
.jh-theme-b .middle { background-image: url(images/homepage-themes/b-hero.png); }
.jh-theme-b .jhdl { background-image: url(images/homepage-themes/b-login-panel.png); }
.jh-theme-b .jhqd { background-image: url(images/homepage-themes/b-card-1.png); }
.jh-theme-b .jhrz { background-image: url(images/homepage-themes/b-card-2.png); }
.jh-theme-b .jhgn { background-image: url(images/homepage-themes/b-card-3.png); }
.jh-theme-b .gongneng { background-image: url(images/homepage-themes/b-grid-panel.png); }
.jh-theme-b .jhimages { background-image: url(images/homepage-themes/b-gallery-panel.png); }
.jh-theme-b .huodong { background-image: url(images/homepage-themes/b-activity-panel.png); }
.jh-theme-b .paihang { background-image: url(images/homepage-themes/b-ranking-panel.png); }
.jh-theme-b .wenzhai { background-image: url(images/homepage-themes/b-digest-panel.png); }
.jh-theme-b .foot { background-image: url(images/homepage-themes/b-footer-panel.png); }
.jh-theme-b .links h4 a { background-image: url(images/homepage-themes/b-nav-states.png); }
.jh-theme-b .jh-login-submit { background-image: url(images/homepage-themes/b-button-primary-states.png); }
.jh-theme-b .jh-login-register { background-image: url(images/homepage-themes/b-button-secondary-states.png); }
.jh-theme-b .txt_dl input { background-image: url(../images/username.gif), url(images/homepage-themes/b-input-well.png); }
.jh-theme-b .jh-login-pass-row input { background-image: url(../images/password.gif), url(images/homepage-themes/b-input-well.png); }
.jh-theme-b a, .jh-theme-b td, .jh-theme-b li, .jh-theme-b .foot * { color: #d6dfdd; }
.jh-theme-b a:hover { color: #e5c067; }
.jh-theme-b .txt_dl input { color: #17232a; }
.jh-theme-b .content td[bgcolor] { background-color: rgba(22, 35, 43, 0.91) !important; border-color: rgba(142, 122, 73, 0.40) !important; }

/* Theme C: Dunhuang Liucai. */
.jh-theme-c {
    color: #3a2a22;
    background-color: #493127;
    background-image: url(images/homepage-themes/c-gutters.png), linear-gradient(#473027, #8c5e3d);
}
.jh-theme-c .top { background-image: url(images/homepage-themes/c-top-rail.png); }
.jh-theme-c .middle { background-image: url(images/homepage-themes/c-hero.png); }
.jh-theme-c .jhdl { background-image: url(images/homepage-themes/c-login-panel.png); }
.jh-theme-c .jhqd { background-image: url(images/homepage-themes/c-card-1.png); }
.jh-theme-c .jhrz { background-image: url(images/homepage-themes/c-card-2.png); }
.jh-theme-c .jhgn { background-image: url(images/homepage-themes/c-card-3.png); }
.jh-theme-c .gongneng { background-image: url(images/homepage-themes/c-grid-panel.png); }
.jh-theme-c .jhimages { background-image: url(images/homepage-themes/c-gallery-panel.png); }
.jh-theme-c .huodong { background-image: url(images/homepage-themes/c-activity-panel.png); }
.jh-theme-c .paihang { background-image: url(images/homepage-themes/c-ranking-panel.png); }
.jh-theme-c .wenzhai { background-image: url(images/homepage-themes/c-digest-panel.png); }
.jh-theme-c .foot { background-image: url(images/homepage-themes/c-footer-panel.png); }
.jh-theme-c .links h4 a { background-image: url(images/homepage-themes/c-nav-states.png); }
.jh-theme-c .jh-login-submit { background-image: url(images/homepage-themes/c-button-primary-states.png); }
.jh-theme-c .jh-login-register { background-image: url(images/homepage-themes/c-button-secondary-states.png); }
.jh-theme-c .txt_dl input { background-image: url(../images/username.gif), url(images/homepage-themes/c-input-well.png); }
.jh-theme-c .jh-login-pass-row input { background-image: url(../images/password.gif), url(images/homepage-themes/c-input-well.png); }
.jh-theme-c a, .jh-theme-c td, .jh-theme-c li, .jh-theme-c .foot * { color: #3a2a22; }
.jh-theme-c a:hover { color: #8b2730; }
.jh-theme-c .content td[bgcolor] { background-color: rgba(242, 220, 171, 0.90) !important; border-color: rgba(51, 103, 108, 0.38) !important; }

/* Theme D: Xueling Qingci. */
.jh-theme-d {
    color: #365e58;
    background-color: #edf3f0;
    background-image: url(images/homepage-themes/d-gutters.png), linear-gradient(#f7faf8, #dbe8e4);
}
.jh-theme-d .top { background-image: url(images/homepage-themes/d-top-rail.png); }
.jh-theme-d .middle { background-image: url(images/homepage-themes/d-hero.png); }
.jh-theme-d .jhdl { background-image: url(images/homepage-themes/d-login-panel.png); }
.jh-theme-d .jhqd { background-image: url(images/homepage-themes/d-card-1.png); }
.jh-theme-d .jhrz { background-image: url(images/homepage-themes/d-card-2.png); }
.jh-theme-d .jhgn { background-image: url(images/homepage-themes/d-card-3.png); }
.jh-theme-d .gongneng { background-image: url(images/homepage-themes/d-grid-panel.png); }
.jh-theme-d .jhimages { background-image: url(images/homepage-themes/d-gallery-panel.png); }
.jh-theme-d .huodong { background-image: url(images/homepage-themes/d-activity-panel.png); }
.jh-theme-d .paihang { background-image: url(images/homepage-themes/d-ranking-panel.png); }
.jh-theme-d .wenzhai { background-image: url(images/homepage-themes/d-digest-panel.png); }
.jh-theme-d .foot { background-image: url(images/homepage-themes/d-footer-panel.png); }
.jh-theme-d .links h4 a { background-image: url(images/homepage-themes/d-nav-states.png); }
.jh-theme-d .jh-login-submit { background-image: url(images/homepage-themes/d-button-primary-states.png); }
.jh-theme-d .jh-login-register { background-image: url(images/homepage-themes/d-button-secondary-states.png); }
.jh-theme-d .txt_dl input { background-image: url(../images/username.gif), url(images/homepage-themes/d-input-well.png); }
.jh-theme-d .jh-login-pass-row input { background-image: url(../images/password.gif), url(images/homepage-themes/d-input-well.png); }
.jh-theme-d a, .jh-theme-d td, .jh-theme-d li, .jh-theme-d .foot * { color: #365e58; }
.jh-theme-d a:hover { color: #93604b; }
.jh-theme-d .content td[bgcolor] { background-color: rgba(250, 252, 249, 0.91) !important; border-color: rgba(115, 152, 143, 0.34) !important; }

/* Theme E: Zhusha Xiake. */
.jh-theme-e {
    color: #f0d8ac;
    background-color: #2d1916;
    background-image: url(images/homepage-themes/e-gutters.png), linear-gradient(#2b1815, #67412f);
}
.jh-theme-e .top { background-image: url(images/homepage-themes/e-top-rail.png); }
.jh-theme-e .middle { background-image: url(images/homepage-themes/e-hero.png); }
.jh-theme-e .jhdl { background-image: url(images/homepage-themes/e-login-panel.png); }
.jh-theme-e .jhqd { background-image: url(images/homepage-themes/e-card-1.png); }
.jh-theme-e .jhrz { background-image: url(images/homepage-themes/e-card-2.png); }
.jh-theme-e .jhgn { background-image: url(images/homepage-themes/e-card-3.png); }
.jh-theme-e .gongneng { background-image: url(images/homepage-themes/e-grid-panel.png); }
.jh-theme-e .jhimages { background-image: url(images/homepage-themes/e-gallery-panel.png); }
.jh-theme-e .huodong { background-image: url(images/homepage-themes/e-activity-panel.png); }
.jh-theme-e .paihang { background-image: url(images/homepage-themes/e-ranking-panel.png); }
.jh-theme-e .wenzhai { background-image: url(images/homepage-themes/e-digest-panel.png); }
.jh-theme-e .foot { background-image: url(images/homepage-themes/e-footer-panel.png); }
.jh-theme-e .links h4 a { background-image: url(images/homepage-themes/e-nav-states.png); }
.jh-theme-e .jh-login-submit { background-image: url(images/homepage-themes/e-button-primary-states.png); }
.jh-theme-e .jh-login-register { background-image: url(images/homepage-themes/e-button-secondary-states.png); }
.jh-theme-e .txt_dl input { background-image: url(../images/username.gif), url(images/homepage-themes/e-input-well.png); }
.jh-theme-e .jh-login-pass-row input { background-image: url(../images/password.gif), url(images/homepage-themes/e-input-well.png); }
.jh-theme-e a, .jh-theme-e td, .jh-theme-e li, .jh-theme-e .foot * { color: #f0d8ac; }
.jh-theme-e a:hover { color: #ef765a; }
.jh-theme-e .txt_dl input { color: #2d1b18; }
.jh-theme-e .content td[bgcolor] { background-color: rgba(103, 60, 45, 0.90) !important; border-color: rgba(184, 139, 79, 0.42) !important; }

/*
 * Alignment v3
 *
 * The rail and login-panel artwork already contains blank navigation, input,
 * button and helper slots. Paint each slot once, then place the live DOM over
 * the baked geometry. This removes the double borders visible when state
 * sprites and input-well PNGs were layered over the same artwork.
 */
.jh-homepage .links h4 {
    /*
     * Navigation grid v4: inline-block source whitespace used to add roughly
     * four pixels between every pair of links. The seven measured plates
     * already consume each theme's exact rail width, so that extra whitespace
     * pushed the last link outside the clipping box. A zero-size text context
     * removes only the source whitespace; every link keeps its explicit size.
     */
    font-size: 0;
    letter-spacing: 0;
    word-spacing: 0;
    text-align: left;
}

.jh-homepage .links h4 a {
    margin-top: 0;
    padding: 0;
    background-image: none !important;
    background-color: transparent;
    background-position: 0 0;
    background-size: auto;
    border: 0;
    border-radius: 3px;
    line-height: inherit;
    transition: background-color 120ms ease, box-shadow 120ms ease, color 120ms ease;
}

.jh-homepage .links h4 a:hover {
    background-color: rgba(255, 255, 255, 0.12);
    background-position: 0 0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24);
}

.jh-homepage .links h4 a:active {
    background-color: rgba(0, 0, 0, 0.10);
    background-position: 0 0;
    transform: translateY(1px);
}

.jh-homepage .txt_dl input {
    width: 170px;
    margin-left: 5px;
    padding: 0 6px 0 28px;
    background-color: transparent;
    background-image: url(../images/username.gif) !important;
    background-position: 7px center;
    background-repeat: no-repeat;
    background-size: auto;
    border: 0;
    box-shadow: none;
    line-height: inherit;
}

.jh-homepage .jh-login-pass-row input {
    background-image: url(../images/password.gif) !important;
}

.jh-homepage .txt_dl input:focus {
    background-color: rgba(255, 255, 255, 0.10);
    outline: 1px solid currentColor;
    outline-offset: -3px;
}

.jh-homepage .txt_dl input::placeholder {
    opacity: 1;
}

.jh-homepage .jh-login-action {
    position: absolute;
    margin: 0;
    padding: 0;
    background-image: none !important;
    background-color: transparent;
    background-position: 0 0;
    background-size: auto;
    border: 0;
    border-radius: 3px;
    box-shadow: none;
    line-height: inherit;
    transition: background-color 120ms ease, box-shadow 120ms ease, transform 80ms ease;
}

.jh-homepage .jh-login-action:hover {
    background-color: rgba(255, 255, 255, 0.12);
    background-position: 0 0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.32);
}

.jh-homepage .jh-login-action:active {
    background-color: rgba(0, 0, 0, 0.10);
    background-position: 0 0;
    transform: translateY(1px);
}

.jh-homepage .jh-login-helper-row .txt_dl {
    position: relative;
    line-height: normal;
}

.jh-homepage .jh-login-helper-row img {
    display: none;
}

.jh-homepage .jh-login-helper-row a {
    display: block;
    position: absolute;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* A: 94x31 nav plates; parchment login with two horizontal buttons. */
.jh-theme-a .links { top: 32px; left: 277px; width: 766px; height: 31px; }
.jh-theme-a .links h4 { width: 766px; height: 31px; padding: 0; line-height: 31px; }
.jh-theme-a .links h4 a { width: 94px; height: 31px; margin-right: 18px; font-size: 14px; }
.jh-theme-a .jh-login-title-row { top: 1px; height: 57px; }
.jh-theme-a .jh-theme-login-plaque { width: 210px; height: 57px; }
.jh-theme-a .jh-login-name-row { top: 61px; height: 40px; }
.jh-theme-a .jh-login-pass-row { top: 117px; height: 37px; }
.jh-theme-a .jh-login-name-row .txt_dl,
.jh-theme-a .jh-login-pass-row .txt_dl { height: inherit; line-height: 37px; color: #294b43; }
.jh-theme-a .txt_dl input { height: 37px; color: #294b43; }
.jh-theme-a .txt_dl input::placeholder { color: #6f7d79; }
.jh-theme-a .jh-login-action-row { top: 181px; height: 42px; }
.jh-theme-a .jh-login-action { width: 115px; height: 42px; font-size: 16px; line-height: 42px; color: #254d44; }
.jh-theme-a .jh-login-submit { left: 45px; }
.jh-theme-a .jh-login-register { left: 179px; }
.jh-theme-a .jh-login-helper-row { top: 245px; height: 78px; }
.jh-theme-a .jh-login-helper-row .txt_dl { height: 78px; }
.jh-theme-a .jh-login-helper-row a { left: 78px; width: 230px; height: 36px; font-size: 13px; line-height: 36px; color: #294b43; }
.jh-theme-a .jh-login-helper-row a:first-of-type { top: 0; }
.jh-theme-a .jh-login-helper-row a:last-of-type { top: 41px; }

/* B: compact iron plates and high-contrast live text. */
.jh-theme-b .links { top: 28px; left: 316px; width: 706px; height: 32px; }
.jh-theme-b .links h4 { width: 706px; height: 32px; padding: 0; line-height: 32px; }
.jh-theme-b .links h4 a { width: 88px; height: 32px; margin-right: 15px; font-size: 13px; }
.jh-theme-b .jh-login-title-row { top: 1px; height: 57px; }
.jh-theme-b .jh-theme-login-plaque { width: 210px; height: 57px; }
.jh-theme-b .jh-login-name-row { top: 64px; height: 37px; }
.jh-theme-b .jh-login-pass-row { top: 117px; height: 37px; }
.jh-theme-b .jh-login-name-row .txt_dl,
.jh-theme-b .jh-login-pass-row .txt_dl { height: inherit; line-height: 37px; color: #e5ecea; }
.jh-theme-b .txt_dl input { height: 37px; color: #d8e0df; }
.jh-theme-b .txt_dl input::placeholder { color: #839397; }
.jh-theme-b .jh-login-action-row { top: 186px; height: 39px; }
.jh-theme-b .jh-login-action { height: 39px; font-size: 16px; line-height: 39px; color: #f2dfad; text-shadow: 0 1px 1px #000; }
.jh-theme-b .jh-login-submit { left: 48px; width: 111px; }
.jh-theme-b .jh-login-register { left: 177px; width: 110px; }
.jh-theme-b .jh-login-helper-row { top: 267px; height: 72px; }
.jh-theme-b .jh-login-helper-row .txt_dl { height: 72px; }
.jh-theme-b .jh-login-helper-row a { left: 80px; width: 206px; height: 29px; font-size: 13px; line-height: 29px; color: #d6dfdd; }
.jh-theme-b .jh-login-helper-row a:first-of-type { top: 0; }
.jh-theme-b .jh-login-helper-row a:last-of-type { top: 41px; }

/* C: the concept intentionally uses two full-width stacked action plates. */
.jh-theme-c .links { top: 26px; left: 305px; width: 748px; height: 41px; }
.jh-theme-c .links h4 { width: 748px; height: 41px; padding: 0; line-height: 41px; }
.jh-theme-c .links h4 a { width: 82px; height: 41px; margin-right: 29px; font-size: 13px; }
.jh-theme-c .jh-login-title-row { top: 0; height: 54px; }
.jh-theme-c .jh-theme-login-plaque { width: 205px; height: 54px; }
.jh-theme-c .jh-login-name-row { top: 59px; height: 37px; }
.jh-theme-c .jh-login-pass-row { top: 109px; height: 37px; }
.jh-theme-c .jh-login-name-row .txt_dl,
.jh-theme-c .jh-login-pass-row .txt_dl { height: inherit; line-height: 37px; color: #3a2a22; }
.jh-theme-c .txt_dl input { height: 37px; color: #3a2a22; }
.jh-theme-c .txt_dl input::placeholder { color: #846f62; }
.jh-theme-c .jh-login-action-row { top: 163px; height: 88px; }
.jh-theme-c .jh-login-action { left: 40px; width: 261px; height: 38px; font-size: 16px; line-height: 38px; color: #fff0c4; text-shadow: 0 1px 1px rgba(64, 31, 18, 0.8); }
.jh-theme-c .jh-login-submit { top: 0; }
.jh-theme-c .jh-login-register { top: 51px; }
.jh-theme-c .jh-login-helper-row { top: 281px; height: 62px; }
.jh-theme-c .jh-login-helper-row .txt_dl { height: 62px; }
.jh-theme-c .jh-login-helper-row a { left: 72px; width: 230px; height: 29px; font-size: 13px; line-height: 29px; color: #4b382c; }
.jh-theme-c .jh-login-helper-row a:first-of-type { top: 0; }
.jh-theme-c .jh-login-helper-row a:last-of-type { top: 31px; }

/* D: quiet celadon geometry with slightly stronger text contrast. */
.jh-theme-d .links { top: 27px; left: 335px; width: 718px; height: 33px; }
.jh-theme-d .links h4 { width: 718px; height: 33px; padding: 0; line-height: 33px; }
.jh-theme-d .links h4 a { width: 82px; height: 33px; margin-right: 24px; font-size: 13px; }
.jh-theme-d .jh-login-title-row { top: 5px; height: 60px; }
.jh-theme-d .jh-theme-login-plaque { width: 210px; height: 60px; }
.jh-theme-d .jh-login-name-row { top: 77px; height: 40px; }
.jh-theme-d .jh-login-pass-row { top: 126px; height: 41px; }
.jh-theme-d .jh-login-name-row .txt_dl,
.jh-theme-d .jh-login-pass-row .txt_dl { height: inherit; line-height: 40px; color: #365e58; }
.jh-theme-d .txt_dl input { height: 40px; color: #365e58; }
.jh-theme-d .txt_dl input::placeholder { color: #7d9791; }
.jh-theme-d .jh-login-action-row { top: 189px; height: 39px; }
.jh-theme-d .jh-login-action { height: 39px; font-size: 16px; line-height: 39px; color: #365e58; }
.jh-theme-d .jh-login-submit { left: 31px; width: 127px; }
.jh-theme-d .jh-login-register { left: 174px; width: 127px; }
.jh-theme-d .jh-login-helper-row { top: 251px; height: 66px; }
.jh-theme-d .jh-login-helper-row .txt_dl { height: 66px; }
.jh-theme-d .jh-login-helper-row a { left: 62px; width: 239px; height: 27px; font-size: 13px; line-height: 27px; color: #365e58; }
.jh-theme-d .jh-login-helper-row a:first-of-type { top: 0; }
.jh-theme-d .jh-login-helper-row a:last-of-type { top: 37px; }

/* E: rosewood slots keep cream button text but use dark text on parchment. */
.jh-theme-e .links { top: 31px; left: 251px; width: 804px; height: 33px; }
.jh-theme-e .links h4 { width: 804px; height: 33px; padding: 0; line-height: 33px; }
.jh-theme-e .links h4 a { width: 108px; height: 33px; margin-right: 8px; font-size: 13px; }
.jh-theme-e .jh-login-title-row { top: 0; height: 59px; }
.jh-theme-e .jh-theme-login-plaque { width: 210px; height: 59px; }
.jh-theme-e .jh-login-name-row { top: 70px; height: 45px; }
.jh-theme-e .jh-login-pass-row { top: 132px; height: 45px; }
.jh-theme-e .jh-login-name-row .txt_dl,
.jh-theme-e .jh-login-pass-row .txt_dl { height: inherit; line-height: 43px; color: #5b3025; }
.jh-theme-e .txt_dl input { height: 43px; color: #4a2a23; }
.jh-theme-e .txt_dl input::placeholder { color: #846d5e; }
.jh-theme-e .jh-login-action-row { top: 192px; height: 45px; }
.jh-theme-e .jh-login-action { height: 45px; font-size: 16px; line-height: 45px; color: #ffe0a9; text-shadow: 0 1px 1px #4a1d16; }
.jh-theme-e .jh-login-submit { left: 34px; width: 120px; }
.jh-theme-e .jh-login-register { left: 170px; width: 121px; }
.jh-theme-e .jh-login-helper-row { top: 268px; height: 72px; }
.jh-theme-e .jh-login-helper-row .txt_dl { height: 72px; }
.jh-theme-e .jh-login-helper-row a { left: 78px; width: 220px; height: 30px; font-size: 13px; line-height: 30px; color: #5b3025; }
.jh-theme-e .jh-login-helper-row a:first-of-type { top: 0; }
.jh-theme-e .jh-login-helper-row a:last-of-type { top: 41px; }

@media (max-width: 1179px) {
    body.jh-homepage {
        min-width: 1180px;
        background-position: left top, left top;
    }

    .jh-homepage .top,
    .jh-homepage .middle,
    .jh-homepage .content,
    .jh-homepage .foot {
        margin-right: 0;
        margin-left: 0;
    }
}
