
/* Elisa Virtual Desktop CSS file.

   Common with desktop.
*/

body {
    margin: 0; padding: 0;
    color: #000;
    background: #457f0e url(../img/background.jpg) no-repeat top left;
    font-family: "Calibri", "Lucida Grande", Arial, sans-serif;
}

a { text-decoration: none; color: #00AEEF; }
a.current { color: black; }
a:hover { text-decoration: underline; }
/*a:focus { outline: none; }*/

.hidden {
    display: none;
}
.floatl {
    float: left;
    margin: 2px;
    margin-left: 20px;
}
/* hide hidden submit buttons that are invoked by javascript */
input.hiddeninput {
    border: none;
    width: 0; height: 0;
    margin: 0; padding: 0;
    position: absolute;
    opacity: 0.0; filter:alpha(opacity=0); zoom: 1;
}
form {
    margin: 0; padding: 0;
}
ul {
    list-style-type: none;
}

label.big {
    font-weight: bold;
}
div.break20 {
    height: 20px;
    overflow: hidden;
    clear: both;
}
div#container {
/*    min-width: 1024px;*/
/*    min-width: 960px;*/
}
div.formenclose {
    background-color: #D2DBD2;
    padding: 10px;
}

div#header {
    height: 64px;
    background: url(../img/bg-vd-top.png) repeat-x left top;
}

div#header h1 {
    float: left;
    margin: 5px;
    margin-top: 3px;
    margin-left: 20px;
    width: 280px;
    height: 53px;
    background: url(../img/elisa-logo-koe.png) no-repeat left top;
}

div#trialbadge {
    display: none;
    position: absolute;
    top: 10px;
    left: 30%;
    width: 96px;
    height: 39px;
    background: url(../img/bg-trialbox.png) no-repeat left top;
}

div#trialbadge p {
    margin: 2px 6px;
    color: white;
    font-size: 28px;
}
div#trialbadge p span {
    float: right;
    font-size: 14px;
    color: #ccc;
}

div#header h1 span {
    display: none
}

    div#header2  {
        height: 64px;
        width: 80%;
        position: absolute;
        top: 0; right: 0;
        z-index: 10;
/*        overflow: hidden; // hide when small width */
    }

    div#header2 ul {
        margin: 0;
        margin-right: 5px;
        list-style-type: none
    }

        div#header2 ul li {
            float: right;
        }
        div#header2 ul li a:hover {
/*            opacity: 0.7; filter:alpha(opacity=70);*/
        }

            div#header2 ul li#user {
                width: 200px;
                height: 50px;
                padding: 13px 5px 0 12px;
                background: transparent url(../img/photo.png) no-repeat right 7px;
            }

                div#header2 ul li#user p {
                    margin: 0;
                    font-size: 16px;
                    line-height: 20px;
                    font-weight: bold;
                    color: #CCD9CC;
                    color: white;
                }

                div#header2 ul li#user a {
                    font-size: 11px;
                    font-weight: normal;
                    color: #FFC239;
                    text-decoration: none;
                }
                div#header2 ul li#user a:hover {
/*                  color: #CCD9CC;*/
                    text-decoration: underline;
                }
            div#header2 a.ahead {
                display: block;
                padding: 23px 5px 0 15px;
/*              width: 90px;*/
                height: 40px;
                color: #fff;
                font-weight: normal;
                font-size: 13px;
                text-decoration: none;
                background: transparent url(../img/arrow-down.png) no-repeat left 27px;
            }

    div#header2 a.headitem {
        padding-right: 5px;
        margin-right: 5px;
        margin-left: 5px;
        background: transparent url(../img/bg-header-block.png) no-repeat right 1px;
        overflow: hidden;
        display: block;
        text-decoration: none;
    }
    div#header2 a.headitem:hover span {
        color: #CCD9CC;
    }
    div#header2 a.headitem div {
/*        display: none;*/
        background-color: #393A31;
        border: 2px solid #333;
        padding: 20px 10px;
/*        margin-top: -10px;*/
        color: #CCD9CC;
        position: absolute;
        top: 50px;
        left: auto;
        width: 300px;
        z-index: 12;
        font-size: 12px;
/*        cursor: default;*/
        left: -999em;
    }
    div#header2 a.headitem:hover div {
/*        display: block;*/
        left: auto;
    }
    div#header2 a.headitem span {
        display: block;
        padding: 23px 5px 0 15px;
        height: 40px;
        color: #fff;
        font-weight: normal;
        font-size: 13px;
        text-decoration: none;
        background: transparent url(../img/arrow-down.png) no-repeat left 27px;
        cursor: pointer;
    }
    div#header2 a.headitem span.maillink {
        display: inline;
        padding: 0; margin: 0;
        color: #00AEEF;
    }
    div#header2 a.disab span {
        color: #666;
        background: none;
        cursor: not-allowed;
    }
    div#header2 a.disab {
        color: #666;
        cursor: not-allowed;
    }


div.files {
    float: right;
/*  min-height: 90px;*/
    width: 652px;
    padding: 38px 0 0 0;
    margin: 0;
/*  background: transparent url(../img/filesBG.png) no-repeat top left;*/
    position: relative;
    clear: both;
    overflow: hidden;
/*    background: url(../img/bg-h2.png) repeat-x left top;*/
}
div.iconarea {
    background: transparent url(../img/bg-icons.png) repeat-y top left;
    width: 100%;
    min-height: 90px;
    margin: 0; padding: 0;
    padding-bottom: 10px;
/*    margin-top: 4px;*/
}

div.files h2 {
    position: absolute;
    top: 0px;
    color: white;
    font-size: 18px;
    font-weight: normal;
    margin: 0px;
    padding-left: 5px;
    padding-top: 8px;
    width: 100%;
    height: 34px;
    background: url(../img/bg-h2lines.png) repeat-x left top;
}

div.files ul {
/*      float: right;*/
    margin: 0;
    list-style-type: none;
    margin-left: -10px;
}

div.files ul li {
    float: left;
}

div.files ul li a {
    display: block;
    width: 100px;
    width: 70px;
    height: 10px; /* must be so all icons float left nice */
    padding-top: 35px;
    font-size: 13px;
    font-weight: normal;
    text-align: center;
    color: #fff;
    text-decoration: none;
    background: transparent url(../img/folder.png) no-repeat top left;
    margin-top: 16px;
}

div.files ul li a:hover {
    color: #333;
}
div.files ul li a.excel {
    background: transparent url(../img/icon-excel.png) no-repeat 15px top;
}
div.files ul li a.ie {
    background: transparent url(../img/icon-ie.png) no-repeat 15px top;
}
div.files ul li a.word {
    background: transparent url(../img/icon-word.png) no-repeat 15px top;
}
div.files ul li a.ff {
    background: transparent url(../img/icon-ff.png) no-repeat 15px top;
}
div.files ul li a.note {
    background: transparent url(../img/icon-notepad.png) no-repeat 15px top;
}
div.files ul li a.folder {
    background: transparent url(../img/icon-folder.png) no-repeat 15px top;
}
div.files ul li a.folder:hover {
    background-position: 15px -50px;
}
div.files ul li a.file {
    background: transparent url(../img/icon-file.png) no-repeat 15px top;
}
div.files ul li a.file:hover {
    background-position: 15px -50px;
}



div#programs {
    position: absolute;
    top: 79px;
    left: 13px;
    width: 297px;
    height: 361px;
    background: transparent url(../img/programsBG.png) no-repeat top left
}

    div#programs h2 {
        margin-top: 20px;
        color: #CCD9CC;
        font-size: 20px;
        font-weight: bold;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: 0.1em
    }

    div#programs object {
        margin: 0 3px
    }

/* ------------------------------------------- */

div#tabs {
    position: absolute;
    top: 200px;
    left: -500px;
    height: 500px;
    width: 500px;
    background-color: #3B393A;
    color: white;
}
div#tabs div#tabgfx {
    position: absolute;
    top: 0px;
    right: -91px;
    background: url(../img/tabs.png) no-repeat left top;
    height: 300px;
    width: 100px;
}

div#banner {
    height: 98px;
    width: 958px;
    position: fixed;
    bottom: 0px;
    background: url(../img/bg-banner.png) no-repeat left bottom;
/*    border: 1px solid blue;*/
}
div#bannerrest {
    height: 98px;
    width: 100%;
    position: fixed;
    bottom: 0px;
    background: url(../img/bg-banner-rest.png) repeat-x left bottom;
}
a#bannerlink {
    position: fixed;
    bottom: 10px;
    left: 67px;
}

div#progarea {
/*    border: 1px solid blue;*/
/*    margin-left: 200px;*/
    overflow: hidden;
    padding-top: 5px;
/*    width: 600px;*/
/*    border-left: 1px solid #A0BF76;*/
        z-index: 1;
}

a.link {
    background: url(../img/link.png) no-repeat left top;
    padding-left: 25px;
    color: white;
    margin: 10px;
/*    display: block;*/
}

div.linkarea {
    padding-top: 16px;
}

div.config {
    background: url(../img/icon-settings.png) no-repeat left top;
    position: absolute;
    right: 5px;
    top: 5px;
    width: 28px; height: 26px;

}

div#appi {
    position: absolute;
    top: 150px;
    left: 200px;
/*    margin: 100px auto;*/
    width: 400px;
    height: 300px;
    background-color: white;
    border: 5px solid #666;
    padding: 10px;
    display: none;
}
div#appi * {
    color: black;
}

div#notice {
    position: absolute;
    top: 110px;
    left: 30px;
    color: white;
    font-size: 11px;
    color: #555;
}

/* front page */
/* ------------------------------------------- */

div#headerfront {
    height: 64px;
    background: url(../img/bg-vd-top.png) repeat-x left top;
}

div#headerfront h1 {
    float: left;
    margin: 5px;
    margin-left: 20px;
    width: 280px;
    height: 63px;
    background: url(../img/front/elisa-logo.png) no-repeat left 4px;
}

div#headerfront h1 span {
    display: none
}

div#front {
    width: 911px;
    background: url(../img/front/box-top.png) no-repeat left top;
    margin: 40px auto;
    position: relative;
    overflow: hidden;
}

div.fronttop {
    width: 903px;
    padding: 0 4px;
/*    position: relative;*/
}
div.fronttop h2 {
    color: #ccd9cc;
    text-align: center;
    margin-top: 20px;
}

div.fronttop div.badge {
    position: absolute;
    right: 0; top: 0;
    width: 215px; height: 171px;
    background: url(../img/front/trial-stamp.png) no-repeat left top;
}

div.frontmiddle {
    width: 903px;
    padding: 0 4px;
    clear: both;
    background: url(../img/box-middle.png) repeat-y left top;
}
div.frontmiddle p {
    font-size: 14px;
}

div.frontbottom {
    clear: both;
    width: 903px;
    padding: 0 4px;
    height: 94px;
    background: url(../img/box-bottom.png) no-repeat left bottom;
    position: relative;
}
div#logobottom {
    position: absolute;
    width: 204px;
    left: 24px;
    top: 22px;
    height: 45px;
    background: url(../img/front/logo-footer.png) no-repeat left top;
}
div#bottomlinks {
    float: right;
/*    width: 380px;*/
    margin-top: 37px;
    margin-right: 20px;
    color: #9CA39C;
}
div#bottomlinks a {
    text-decoration: none;
    padding: 0 10px;
    color: #9CA39C;
}
div#bottomlinks a:hover {
    color: #CCC;
}

div.middlebody {
    background-color: white;
    overflow: hidden;
    padding: 0 30px;
    color: #3F453F;
    position: relative;
}
div.middlebody h3 {
    font-size: 20px;
    color: black;
}
div.middlebody h4 {
    font-size: 17px;
    margin: 10px 0;
    margin-top: 30px;
    color: black;
}

div#testdrive {
    width: 230px;
    float: right;
    margin: 0 10px;
    margin-left: 25px;
}
div#testdrive div#icontest {
    float: right;
    background: url(../img/front/icon-test.png) no-repeat left top;
    width: 67px;
    height: 87px;
    margin: 10px;
}

div.option {
    width: 168px;
    float: left;
    margin-right: 20px;
    height: 190px;
    position: relative;
    margin-bottom: 20px;
}
div.option p {
    color: #3F453F;
    margin: 0;
}
div.optionindiv, div.optionfamily, div.optionfirm {
    float: right;
    margin-right: 5px;
    width: 41px; height: 49px;
    background: url(../img/front/icon-indiv.png) no-repeat left top;
}
div.optionfamily {
    width: 65px; height: 58px;
    background: url(../img/front/icon-family.png) no-repeat left top;
}
div.optionfirm {
    width: 73px; height: 46px;
    background: url(../img/front/icon-firm.png) no-repeat left top;
}

p.optiontitle {
    font-weight: bold;
}

/* tabarea */
/* ------------------------------------------- */
div.tabtop {
    width: 838px;
    background: url(../img/front/tab-top.png) no-repeat scroll right top;
    height: 66px;
    position: relative;
    clear: both;
    margin-top: 20px;
}
div.tabmiddle {
    width: 838px;
    background-color: #DBE2DB;
    overflow: hidden;
}
div.tabbottom {
    width: 838px;
    height: 41px;
    background: url(../img/front/tab-bottom.png) no-repeat scroll right top;
    margin-bottom: 40px;
}
div.tabtop div#tablinks {
    position: absolute;
    right: 10px;
    top: 10px;
    color:
}
div.tabtop div#tablinks a {
    padding: 0 7px;
    color: #00AEEF;
}

img.flash {
    margin-left: -30px;
}


/* registration forms CSS */
/* ===================================================================== */

a.acancel {
    background: url(../img/x-white.gif) no-repeat right 2px;
    padding-right: 15px;
}

div#regmain {
    width: 710px;
    background: url(../img/main-top.png) repeat-x left top;
    margin: 40px auto;
    position: relative;
    overflow: hidden;

/*    lev*/
    width: 911px;
    background: url(../img/box-top.png) no-repeat left top;
}
div.regtop h2 {
    color: #ccd9cc;
    text-align: center;
/*    padding-top: 20px;*/
    margin-top: 18px;
    margin-bottom: 18px;
}
div#peruuta {
    position: absolute;
    top: 3px; right: 5px;
}
div#peruuta a {
    color: white;
    font-size: 11px;
}

div.regtop {
/*    width: 702px; lev*/
    padding: 0 4px;
}
div.regmiddle {
/*    width: 702px;*/
    width: 903px;
    padding: 0 4px;
    clear: both;
/*    background: url(../img/main-middle.png) repeat-y left top;*/
    background: url(../img/box-middle.png) repeat-y left top;
/*    background: #252122;*/
}
div.regbot {
    clear: both;
/*    width: 702px;*/
    padding: 0 4px;
/*    height: 38px;*/
    height: 50px;
    background: url(../img/main-bot.png) no-repeat left top;
    background: url(../img/box-bottom.png) no-repeat left bottom;
    position: relative;
}
div.regbotbig {
    height: 94px;
    background: url(../img/front/box-bottom.png) no-repeat left bottom;
}
div#logobottom {
    position: absolute;
    width: 204px;
    left: 24px;
    top: 22px;
    height: 45px;
    background: url(../img/front/logo-footer.png) no-repeat left top;
}


div.regtop ul {
    margin: 0; padding: 0px;
    list-style-type: none;
    overflow: hidden;
    background-color: black;
}

div.regtop ul li {
    float: left;
    position: relative;
/*    padding-left: 10px;*/
}
div.regtop ul li a {
    display: block;
    padding: 3px 0 0 9px;
    margin: 0px;
    margin-right: -21px;
    width: 168px;
    height: 34px;
    line-height: 30px;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    background: transparent url(../img/tab-green3.png) no-repeat top left;
}
div.regtop ul li a.disab {
    background: transparent url(../img/tab-black.png) no-repeat top left;
    color: #808080;
    cursor: not-allowed;
    text-decoration: none;
}
div.regtop ul li a.done {
    background: transparent url(../img/tab-white.png) no-repeat top left;
    color: #000;
}
div.regtop ul li a.first {
/*    margin-left: 0;*/
}

span.asterisk {
    background: url(../img/red-asterisk.png) no-repeat left top;
    height: 7px;
    padding-right: 7px;
}

/* form stuff */
/* ------------------------------------------- */
div.formhead {
    text-align: center;
    height: 44px;
    background: url(../img/head-form.png) repeat-x left top;
    padding: 0px 0;
    overflow: hidden;
    padding-top: 4px;
    color: #555;
}
div.formhead p {
    margin: 2px;
    font-size: 12px;
}

div.formouter {
    background-color: white;
    overflow: hidden;
}
div.formbody {
/*    margin-left: 170px;  removed because leftcol appeared */
    border-left: 1px solid #CCD9CC;
    background-color: white;
    overflow: hidden;
/*    float: right;*/
}
div.formbody-pad {
    padding: 20px;
    padding-bottom: 0px;
}

div.formtitle {
    background: url(../img/bg-blue.png) repeat-x left top;
    height: 50px;
/*    line-height: 60px;*/
    font-size: 24px;
    padding: 5px 0;
    padding-left: 25px;
    clear: both;
    position: relative;
}
div.formtitleok {
    background: url(../img/bg-green.png) repeat-x left top;
}
div.formtitlebad {
    background: url(../img/bg-red.png) repeat-x left top;
}

div.formtitle > div {
    background: url(../img/num-blue.png) no-repeat left top;
    width: 25px;
/*    height: 50px;*/
    line-height: 25px;
    float: left;
    margin: 0;
    margin-top: 15px;
    padding-left: 7px;
    font-size: 18px;
    color: white;
}
div.formtitleok div {
    background: url(../img/num-green.png) no-repeat left top;
}

div.formtitle h3 {
    float: left;
/*    height: 30px;*/
    line-height: 25px;
    margin: 0; padding: 0;
    font-size: 18px;
    margin-top: 15px;
    font-weight: normal;
    color: #262626;
}
div.formtitle h3.adduser {
    background: url(../img/adduser.png) no-repeat left 0px;
    height: 36px;
    line-height: 36px;
    padding-left: 50px;
    margin-top: 5px;
    color: white;
}
a#adduser {
    display: block;
    width: 100%;
}
a#adduser:hover h3 {
    text-decoration: underline;
}
div.formadduser {
    position: relative;
    background: url(../img/bg-adduser.png) repeat-x left top;
}
div.formadduser span {
    position: absolute;
    right: 10px;
    top: 0px;
    color: white;
}


div.formitem {
    margin: 2px 9px;
/*    height: 45px;*/
    clear: both;
/*    overflow: hidden;*/
    position: relative;
}
/* fix for IE7 */
div.login div.formitem {
    clear: none;
}
div.formitem * {
    float: left;
    margin: 2px;
}
div.formitemsmall {
    margin: 0px 9px;
}

div.formitemborder {
    border-top: 1px solid #ccc;
    padding-top: 10px;
/*    margin-top: 5px;*/
}

div.formitem label {
    width: 120px;
    color: #4D4D4D;
    line-height: 30px;
    font-size: 14px;
}
div.formitem input, div.formitem select {
    width: 220px;
/*    width: 300px;*/
    border: 1px solid #c1ccc1;
    height: 19px;
    padding: 5px;
    font-size: 16px;
/*    font-weight: bold;*/
    color: #262626;
}
div.formitem select {
    height: 32px;
    width: 232px;
}

div.formitem input:focus, input.iefocus {
    background: url(../img/bg-input.png) repeat-x left top;
}
div.formitembad label {
    color: red;
}
div.formitembad input {
    background: url(../img/bg-input-bad.png) repeat-x left top;
}

div.formitem div.required {
    background: url(../img/red-asterisk.png) no-repeat left top;
    width: 7px; height: 7px;
}
div.formitem div.requirednot {
    width: 7px; height: 7px;
}
div.formitem div.itemmark {
    width: 15px; height: 15px;
    margin-left: 20px;
}
div.formitem div.itemmarkok {
    background: url(../img/checkmark.png) no-repeat left top;
}
div.formitem div.itemmarkbad {
    background: url(../img/erroritem.png) no-repeat left top;
}
div.formitem div.bad {
/*    background: url(../img/checkmark.png) no-repeat left top;*/
}
div.formitem div.help {
    padding: 2px;
    border: 1px solid #aaa;
    background-color: white;
/*    margin-left: -33px;*/
    max-width: 200px;

    position: absolute;
    left: 380px;
    display: none;
    z-index: 10;
}
div.formitem div.info {
/*    padding: 2px;*/
/*    border: 1px solid #aaa;*/
    font-weight: bold;
    line-height: 30px;
    width: 300px;
}
div.formitem div.info p {
    float: none;
}
div.formitem div.info p.small {
    font-size: 12px;
    font-weight: normal;
    line-height: 16px;
}
div.formitem div.help div {
    margin: 0;
    background-color: #c2ecfb;
    padding: 3px;
    font-size: 10px;
    color: #444;
}
div.formitembad div.help div {
    background-color: #F8CDC3;
}
div.formitem2 {
    margin: 7px;
    margin-bottom: 15px;
    clear: both;
}
div.formitem2 * {
    width: auto;
}
div.formitem2 input {
    margin-right: 10px;
}
div.formitem2 img {
    margin-left: 128px;
}
div.formitem div.username {
    color: #4fab13;
    font-size: 18px;
    margin-top: 5px;
}
div.formitemclosed {
    height: 40px;
}
div.formitemclosed a {
    position: absolute;
    top: 5px;
    right: 5px;
}

/* kayttorajoitukset */
div.formsubbox {
    margin: 10px 10px;
    clear: both;
    position: relative;
    border: 2px solid #ccc;
    overflow: hidden;
    padding-bottom: 10px;
}
div.formsubbox h4 {
    background: url(../img/bg-blue.png) repeat-x left top;
    height: 34px;
    line-height: 30px;
    font-size: 16px;
    padding: 5px 0;
    padding-left: 10px;
    margin: 0;
    color: #4D4D4D;
}
div.formsubboxclosed {
    padding-bottom: 0px;
}
div.formsubbox a.subform {
    position: absolute;
    top: 3px;
    right: 15px;
}
div.formsubboxclosed h4 {
}

div.formsubboxclosed div.formsubitem {
    display: none;
}
div.formsubboxclosed div.formitem {
    display: none;
}

div.formsubitem {
    border-top: 1px solid #ccc;
    padding: 5px 10px;
    clear: both;
    overflow: hidden;
}

div.formsubitem input, div.formsubitem p, div.formsubitem label {
    float: left;
    margin: 0 2px;
    line-height: 26px;
}
div.formsubitem p.text {
    width: 400px;
    line-height: 15px;
    font-size: 12px;
}
div.formsubitem label {
    width: 170px;
    color: #4D4D4D;
    color: #000;
/*    line-height: 30px;*/
    font-size: 14px;
}
div.formsubitem label.long {
    width: 300px;
}
div.formsubitem input.spin {
    width: 60px;
    border: 1px solid #c1ccc1;
    height: 19px;
    line-height: 19px;
    padding: 2px;
/*    padding-top: 0px;*/
    font-size: 14px;
    font-weight: bold;
    color: #262626;
    margin: 0;
/*    position: relative;*/
}
div.formsubitem input.check {
    margin-top: 7px;
    margin-right: 10px;
    background: transparent;
}
div.formsubitem input.url {
    width: 200px;
    line-height: 15px;
}
div.formsubitem input.but {
    height: 22px;
    line-height: 20px;
    border: 1px solid #0E99DA;
    background: #DFF6FE;
}
div.formsubitem h5 {
    float: left;
    width: 150px;
    font-size: 14px;
    line-height: 16px;
    margin: 5px;
}
div.formsubitem div.subright {
/*    margin-left: 300px;*/
    float: left;
    width: 450px;
}
div.formsubitem br {
    float: none;
    clear: both;
}
div.formsubitem div.urllist {
    clear: both;
    margin-left: 50px;
}
div.formsubitem div.urllist p {
    float: none;
    line-height: 15px;
    color: #0E99DA;
}
div.formsubitem div.urllist a {
    float: none;
    color: black;
/*    line-height: 15px;*/
    display: inline;
    width: 14px;
/*    height: 14px;*/
    padding-right: 15px;
    background: url(../img/x-small.png) no-repeat left 4px;
    text-decoration: none;
}


/* generic floating black box */
/* ------------------------------------------- */

div.box {
/*    clear: both;*/
    margin: 40px auto;
    position: absolute;
    z-index: 100;
    overflow: hidden;
    padding: 0;
    height: auto;
    width: 430px;
    color: white;
    top: 140px;
    left: 33%;
}
/* non-floating version */
div.boxrel {
    position: relative;
}
div.box h2 {
    color: #CCD9CC;
    text-align: center;
    margin-top: 0px;
    margin-bottom: 0px;
    padding-bottom: 0px;
    padding-top: 10px;
    font-size: 20px;
}
div.box p {
    font-size: 13px;
    margin-top: 0;
}

div.boxtop {
    background: url(../img/bg-box-top.png) no-repeat left top;
    height: 54px;
    padding: 15px;
    padding-bottom: 0;
    margin: 0;
}
div.boxmid {
    background: url(../img/bg-box-mid.png) repeat-y left top;
    padding: 15px;
    padding-bottom: 5px;
    margin: 0;
    overflow: hidden;
}
div.boxbot {
    background: url(../img/bg-box-bot.png) no-repeat left top;
    padding: 0 15px;
    height: 19px;
}
div#modalshadow {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 99;
    background-color: #eee;
    top: 0;
    cursor: not-allowed;
    opacity: 0.6; filter:alpha(opacity=60); zoom: 1;
}


/* buttons area at the bottom of box */
div.buttonarea {
    clear: both;
    overflow: hidden;
    padding: 5px;
    width: 50%;
    margin: 0px auto;
}
div.buttonarea a {
    width: 40%;
}
div.buttonarea a div {
    text-align: center;
}
div.buttonareacenter {
    width: 30%;
}
div.buttonareacenter a {
    width: 90%;
}

div.box p.title {
    font-size: 18px;
    position: relative;
}

div.box p span {
    position: absolute;
    right: 0;
}

/* reg end splash & login */
/* ------------------------------------------- */

div.regend {
    clear: both;
    width: 400px;
    height: 209px;
    background: url(../img/bg-reg-end.png) no-repeat left top;
    margin: 40px auto;
    position: relative;
    overflow: hidden;
    padding: 15px;
}
div.regend h2 {
    color: #CCD9CC;
    text-align: center;
    font-size: 16px;
    padding-top: 20px;
    margin-top: 0px;
    margin-bottom: 30px;
}
div.regend p {
    color: white;
    font-size: 13px;
    margin-top: 0;
}
div.regend a.amail {
    color: #35BFF3;
}

div.splashwrap {
    background: transparent;
    padding: 0;
    height: auto;
    width: 430px;
}
div.splashwrap h2 {
    padding-bottom: 0px;
    padding-top: 15px;
    margin-bottom: 0px;
    font-size: 20px;
}
div.splashwrap h3 {
    color: #CCD9CC;
    margin: 2px 0;
    clear: both;
}

div.splashtop {
    background: url(../img/bg-box-top.png) no-repeat left top;
    height: 54px;
    padding: 15px;
    padding-bottom: 0;
    margin: 0;
}
div.splashmid {
    background: url(../img/bg-box-mid.png) repeat-y left top;
    padding: 15px;
    padding-bottom: 5px;
    margin: 0;
    overflow: hidden;
}
div.splashbot {
    background: url(../img/bg-box-bot.png) no-repeat left top;
    padding: 0 15px;
    height: 19px;
}
div.splashwrap div.pics {
    margin: 5px auto;
    width: 250px;
    overflow: hidden;
}
div.splashwrap div.pic {
    float: left;
    width: 50px;
    height: 50px;
    text-align: center;
    margin: 10px;
    padding-top: 60px;
    color: white;
}
div.splashwrap div.picfamily {
    background: url(../img/gfx-family.png) no-repeat left top;
}
div.splashwrap div.picads {
    background: url(../img/serv-ads.png) no-repeat left top;
}
div.splashwrap div.pic10g {
    background: url(../img/serv-10g.png) no-repeat left top;
}

div.splashmid p.strong {
    clear: both;
    margin-top: 20px;
    font-size: 20px;
    margin: 0;
}
div.splashmid p.strong span {
    position: absolute;
    right: 30px;
}
div.splashmid div.buttons2 {
    margin: 0px auto;
    padding-top: 20px;
    width: 130px;
}
div.splashmid div.buttons2 a.blackbut {
    margin-left: 10px;
}

div.splashmid div.buttons3 {
    margin: 0px auto;
    padding-top: 20px;
    width: 70px;
}


div#regactivate {
    /* 530 x 358 */
    width: 522px;
    height: 350px;
    background: url(../img/bg-reg-activate.png) no-repeat left top;
    margin: 40px auto;
    position: relative;
    overflow: hidden;
    padding: 4px;
}
div#regactivate h2 {
    color: #CCD9CC;
    text-align: center;
    font-size: 16px;
    margin-top: 20px;
    margin-bottom: 30px;
}
/*div#regactivate p {*/
/*    color: white;*/
/*    font-size: 13px;*/
/*}*/
/*div#regactivate a.amail {*/
/*    color: #35BFF3;*/
/*}*/

div.formactivate {
    background-color: white;
    overflow: hidden;
    height: 258px;
}

div.formactivate div.help {
    max-width: 120px;
}

div.salasana {
    height: 80px;
}


/* buttons */
/* ------------------------------------------- */
div.buttons {
    margin: 6px 4px 0 4px;
    padding: 9px 6px;
    border-top: 2px dotted #aaa;
    overflow: hidden;
    clear: both;
}

a.leftbutton {
    float: left;
    display: block;
    background: url(../img/but-left.png) no-repeat scroll right top;
    color: white;
    font-weight: bold;
    padding: 0; margin: 0;
    padding-right: 10px; /* extra width on right */
    font-size: 14px;
    line-height: 40px;
    background-position: right -10px;
    text-decoration: none;
}
a.leftbutton:hover {
    background-position: right -70px;
}
a.leftbutton:active {
    background-position: right -130px;
}
a.leftbutton div {
    height: 40px;
    background: url(../img/but-left.png) no-repeat scroll left top;
    padding: 0;
    padding-left: 20px; /* extra width on left */
    padding-left: 15px;
    padding-right: 2px;
    background-position: left -10px;
}
a.leftbutton:hover div {
    text-decoration: none;
    background-position: left -70px;
    cursor: pointer; /* for IE */
}
a.leftbutton:active div {
    background-position: left -130px;
}


a.rightbutton {
    float: right;
    display: block;
    background: url(../img/but-right.png) no-repeat scroll right top;
    color: white;
    font-weight: bold;
    padding: 0; margin: 0;
    padding-right: 15px; /* important, width of right piece */
    font-size: 14px;
/*    height: 40px;*/
    background-position: right -10px;
    text-decoration: none;
}
a.rightbutton:hover {
    background-position: right -70px;
}
a.rightbutton:active {
    background-position: right -130px;
}

a.rightbutton div {
    height: 40px;
    line-height: 40px;
    background: url(../img/but-right.png) no-repeat scroll left top;
    padding: 0;
    padding-left: 15px; /* space for plus sign */
    padding-right: 2px;
    background-position: left -10px;
    white-space: nowrap;
}
a.rightbutton:hover div {
    background-position: left -70px;
    cursor: pointer; /* for IE */
}
a.rightbutton:active div {
    background-position: left -130px;
}

a.bluebut {
    background: url(../img/but-blue.png) no-repeat scroll right -10px;
    margin-right: 10px;
}
a.bluebut div {
    background: url(../img/but-blue.png) no-repeat scroll left -10px;
}


a.disabbutton:hover, a.disabbutton:hover div {
    cursor: not-allowed;
    text-decoration: none;
}


/* ------------------------------------------- */
div#footer {
    clear: both;
    text-align: center;
    background: url(../img/footer.png) repeat-x left top;
    height: 40px;
    line-height: 40px;
}
div#footer, div#footer a {
    color: white;
    font-size: 12px;
}
div#footer a {
    padding: 0 5px;
}
div#footer a:hover {
    background-color: #aca;
}

/* hallinta CSS */
/* ===================================================================== */

div.data-container {
    clear: both;
    min-height: 200px;  /* safari ugly jump fix */
}

div.formleftcol {
    width: 170px;
    width: 207px;
    float: left;
    min-height: 100px;
}
div.formleftcol p {
    margin: 0; padding: 0;
    padding-left: 5px;
}

div.formleftcol div.title {
    background-color: #89C400;
    line-height: 35px;
    height: 35px;
    padding-left: 5px;
    font-size: 20px;
    font-weight: bold;
    color: white;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
    position: relative;
}
div.formleftcol div.listmain {
    height: 35px;
    line-height: 35px;
/*    padding-left: 5px;*/
    font-size: 16px;
    font-weight: bold;
    color: white;
    position: relative;
    background: #B5C2B5 url(../img/arrow-down2.png) no-repeat 5px 13px;
}
div.formleftcol div.listmain p {
    padding-left: 20px;
}
div.formleftcol div.listitem {
    background-color: white;
    line-height: 25px;
    font-size: 14px;
    color: black;
    position: relative;
}
div.formleftcol div.listitem p {
    padding-left: 20px;
}
div.formleftcol span {
    position: absolute;
    right: 5px;
    top: 0px;
}
div.formtitlegray {
    background: url(../img/bg-gray.png) repeat-x left top;
    position: relative;
}
div.formtitlegray > div {
    background: url(../img/num-gray.png) no-repeat left top;
}
div.formtitlegray div.editform {
    width: 62px;
    height: 59px;
    background: url(../img/but-modify.png) no-repeat left top;
    right: -7px; top: 1px;
    position: absolute;
    cursor: pointer;
    margin: 0;
}
div.formtitlegray div.removebut {
    width: 62px;
    height: 59px;
    background: url(../img/but-remove.png) no-repeat left top;
    right: 53px; top: 1px;
    position: absolute;
    cursor: pointer;
    margin: 0;
}
div.formtitle div.cancel {
    width: 62px;
    height: 59px;
    background: url(../img/but-cancel.png) no-repeat left top;
    right: -7px; top: 0px;
    position: absolute;
    cursor: pointer;
    margin: 0;
}

div.formtitle div.save {
    width: 62px;
    height: 59px;
    background: url(../img/but-save.png) no-repeat left top;
    right: 55px; top: 0px;
    position: absolute;
    cursor: pointer;
    margin: 0;
}
/* these are common for all: */
div.formtitle div.divicon:hover {
    background-position: left -60px;
}
div.formtitle div.divicon:active {
    background-position: left -120px;
}


div.buttonsadmin {
    border: none;
    position: absolute;
    top: -11px;
    right: 0px;
}
/*
div.buttonsadmin a {
    background: url(../img/but-black.png) no-repeat scroll right top;
}
div.buttonsadmin a div {
    background: url(../img/but-black.png) no-repeat scroll left top;
}
*/

div.regadmin ul li a {
    padding: 3px 0 0 0px;
    margin-right: 2px;
/*    margin-right: -21px;*/
    width: 120px;
    background: transparent url(../img/tab-norm-blue.png) no-repeat top left;
    text-align: center;
}
div.regadmin ul li a.selected {
    background: transparent url(../img/tab-norm-white.png) no-repeat top left;
    color: #000;
}

/* icons */
div.progitem div.iconholder {
    width: 50px; height: 60px;
    position: absolute;
    top: 17px; left: 20px;
    top: 5px; left: 20px;
}
div.progitem div.serv-person {
    background: transparent url(../img/serv-person.png) no-repeat left center;
}
div.progitem div.serv-1g {
    background: transparent url(../img/serv-1g.png) no-repeat left center;
}
div.progitem div.serv-progs {
    background: transparent url(../img/serv-progs.png) no-repeat left center;
}
div.progitem div.serv-ads {
    background: transparent url(../img/serv-ads.png) no-repeat left center;
}
div.progitem div.serv-netphone {
    background: transparent url(../img/serv-netphone.png) no-repeat left center;
}
div.progitem div.serv-nettv {
    background: transparent url(../img/serv-nettv.png) no-repeat left center;
}
div.progitem div.prog-ff {
    background: transparent url(../img/icon-ff.png) no-repeat left center;
}
div.progitem div.prog-ie {
    background: transparent url(../img/icon-ie.png) no-repeat left center;
}
div.progitem div.prog-excel {
    background: transparent url(../img/icon-excel.png) no-repeat left center;
}
div.progitem div.prog-word {
    background: transparent url(../img/icon-word.png) no-repeat left center;
}
div.progitem div.prog-pp {
    background: transparent url(../img/icon-powerpoint.png) no-repeat left center;
}
div.progitem div.prog-notepad {
    background: transparent url(../img/icon-notepad.png) no-repeat left center;
}

/* program lists */
/* ------------------------------------------- */
p.progfilter {
    padding: 5px;
}
div.progitem {
    border-top: 1px solid #eee;
    padding: 5px;
/*    margin: 0px 10px;*/
    margin: 0px;
    position: relative;
    height: 60px;
}
div.progitem:hover {
/*    background-color: #f3f3f3;*/
}
div.progitem h5 {
    font-size: 20px;
    position: absolute;
    top: 8px;
    left: 90px;
    margin: 0;
}
div.progitem h6 {
    font-size: 17px;
    position: absolute;
    top: 8px;
    left: 90px;
    margin: 0;
    color: #444;
}

div.progitem div.price {
    color: #777;
    font-size: 22px;
    font-weight: bold;
    position: absolute;
    top: 23px; left: 450px;
    line-height: 16px;
    width: 100px;
    text-align: right;
}
div.progitem div.price span {
    font-size: 16px;
    font-weight: normal;
}
div.progitem div.priceserv {
    left: 560px;
}

div.progitem div.descr {
    color: #777;
    font-size: 12px;
    position: absolute;
    top: 32px; left: 90px;
    width: 400px;
}

div.progitem div.iconplus {
    background: transparent url(../img/plus.png) no-repeat left top;
    width: 56px; height: 26px;
    position: absolute;
    top: 22px; right: 14px;
    cursor: pointer;
}
div.progselected {
/*    background: transparent url(../img/bg-progselected.png) repeat-y left top;*/
    background-color: #e6f5fb;
    border-top: 1px solid #dde;
}
div.progselected:hover {
    background-color: #e6f5fb;
}
div.progselected div.iconplus {
    background: transparent url(../img/minus.png) no-repeat left top;
    top: 26px;
}

/* login */
/* ------------------------------------------- */
div.login {
}
div.login h2 {
    font-size: 20px;
    margin-top: 0;
    padding-top: 8px;
    margin-bottom: 30px;
}
div.login input {
    width: 190px;
    font-weight: bold;
}
div.login label {
    width: 100px;
    color: #9FA29F;
}
div.login a.passwd {
    display: block;
/*    display: none;*/
    width: 60px;
    font-size: 11px;
}
div.login p.bad {
    color: red;
    margin: 6px 10px;
}
div.formitem input#remember {
    width: auto;
    margin-left: 105px;
    margin-right: 7px;
    position: relative;
    top: 5px;
    background: none;
    border: none;
}
div.remembertext {
    margin-left: 10px;
}
div.login p {
    clear: both;
    margin: 15px 0;
}
div.buttonslogin {
    border: none;
    position: absolute;
    bottom: -5px;
    right: 0px;
    width: 130px;
}
div.terms {
    position: absolute;
    bottom: 15px;
    left: 15px;
    width: 370px;
    color: #9FA29F;
    font-size: 12px;
}
a.blackbut {
    background: url(../img/but-black.png) no-repeat scroll right top;
    background-position: right -10px;
}
a.blackbut:active {
    background-position: right -129px;
}
a.blackbut div {
    background: url(../img/but-black.png) no-repeat scroll left top;
    background-position: left -10px;
}
a.blackbut:active div {
    background-position: left -129px;
}
a.redbut {
    color: #f88;
}

a.redbutton {
    margin-right: 50px;
    background: url(../img/but-red.png) no-repeat scroll right -10px;
}
a.redbutton div {
    background: url(../img/but-red.png) no-repeat scroll left -10px;
}

div.loginfooter {
    position: fixed;
    bottom: 0;
    width: 100%;
}

div.noscript {
    width: 300px;
    margin: 10px auto;
/*    margin-top: 60px;*/
/*    margin-top: -30px;*/
    padding: 20px;

    position: absolute;
    top: 10px; right: 30px;
    z-index: 30;

    border: 3px solid #a66;
    background-color: #faa;
}
div.noscript2 {
    margin: 10px auto;
}

/* error */
/* ------------------------------------------- */

div#errormsg {
    padding-left: 90px;
    margin: 0px 7px;
    background: url(../img/icon-error.png) no-repeat scroll left top;
}

div#maintenancemsg {
    padding-left: 110px;
/*    margin: 0px 7px;*/
    background: url(../img/icon-maintenance.png) no-repeat scroll left 10px;
}
div.splashmid p.time {
    font-size: 18px;
}

/* individual service */
/* ------------------------------------------- */

div.serv-right {
    float: right;
    width: 200px;
    margin: 20px;
    margin-top: 0;
}
div.serv-right p {
    padding: 3px;
    margin: 0;
    position: relative;
}
div.serv-right p span {
    position: absolute;
    right: 3px;
}
div.serv-right p span.asterisk {
    position: static;
}
div.serv-right p.detail {
    background-color: #aef;
}
div.serv-right p.detailtext {
    border-top: 1px solid gray;
    color: gray;
    font-size: 12px;
}
div.serv-left {
    float: left;
    width: 400px;
    margin: 0;
}
div.detailtitle {
    border-bottom: 2px dotted #aaa;
    position: relative;
}
div.detailtitle div.navi {
    position: absolute;
    top: 0;
    right: 3px;
}
div.detailtitle div.navi a.l, div.detailtitle div.navi a.r {
    height: 16px;
    padding-right: 14px;
    background: url(../img/arrow-l.png) no-repeat left top;
    text-decoration: none;
}
div.detailtitle div.navi a.r {
    background: url(../img/arrow-r.png) no-repeat left top;
}
div.detailtitle div.navi span.pos {
    font-size: 20px;
    margin: 0 10px;
}

br.hard {
    margin: 10px;
    clear: both;
    overflow: hidden;
}

/* terms box */
/* ------------------------------------------- */

div.termtext {
    background: white;
    overflow: hidden;
    overflow-y: scroll;
    height: 200px;
    color: black;
    padding: 5px;
}
div.termbox label {
    display: block;
    margin: 5px;
    font-size: 13px;
}

/* buttons again */
/* ------------------------------------------- */

/* must be here at the bottom of CSS, overrides all */
a.disabled, a.disabled:hover {
    background-position: right -130px;
    cursor: not-allowed;
}
a.disabled div, a.disabled:hover div {
    background-position: left -130px;
    cursor: not-allowed;
    color: #888;
}


