body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,img,input,textarea,p,blockquote,table,th,td,a,abbr,acronym,address,caption,cite,code,dfn,em,strong,th,var,hr{margin:0;padding:0;border:0;text-decoration:none;font-style:normal;font-weight:normal;text-align:left;border-collapse:collapse;border-spacing:0;list-style:none;}
input:focus,a:focus,textarea:focus{outline:0;}

html,body,textarea { font: 12px / 18px Helvetica,Arial,Verdana,sans-serif; }

html, body {
    overflow: hidden;
    background: #E5F4F4 url(images/background.jpg) 0 0 repeat-x;
    color: #8BC53F;
}

a {
    color: #3C3;
}
    a:hover {
        text-decoration: underline;
    }

legend {
    color: #8BC53F;
}

.btn, input.submit {
    border: 0;
    font-size: 14px;
    color: #8BC53F;
    display: inline-block;
    background: url(images/button.png) 0 0 no-repeat;
    width: 148px;
    text-align: center;
    line-height: 46px;
    height: 46px;
    cursor: pointer;
    position: absolute;
    bottom: -5px;
    right: 30px;
}
    .btn:hover, input.submit:hover {
        background-position: 0 -46px;
        text-decoration: none;
    }
    .btn:active, input.submit:active {
        background-position: 0 -92px;
    }

a.btn.close {
    background: url(images/close.png) 0 0 no-repeat;
    width: 45px;
    height: 45px;
    position: absolute;
    text-align: left;
    line-height: 1em;
    top: 0px;
    right: 30px;
    text-indent: -999em;
}
    a.btn.close:hover {
        background-position: 0 -45px;
        text-decoration: none;
    }
    a.btn.close:active {
        background-position: 0 -90px;
    }

.btn.link {
    background: url(images/buttonlink.gif) 0 0 no-repeat;
    line-height: 34px;
    height: 34px;
    overflow: hidden;
    position: fixed;
    bottom: 30px;
    left: 30px;
    width: 117px;
    padding: 0 0 0 35px;
    text-align: left;
    z-index: 990;
}
    .btn.link:hover {
        text-decoration: underline;
    }
    .btn.link.updates {
        /*left: 192px;*/
    }

div#header {
    position: fixed;
    top: 9px; left: 9px; right: 9px;
    z-index: 999;
}
h1 {
    float: left;
    width: 211px;
    height: 211px;
    position: relative;
}
    h1 span, h1 a {
        position: absolute;
        top: 0;
        left: 0;
        width: 211px;
        height: 211px;
        text-indent: -999em;
        background: url(images/logo.png) 0 0 no-repeat;
    }
    h1 a {
        background-position: -211px 0;
    }

h2, h3, h4, h5, h6 {
    color: #3C3;
}
h2 { font-size: 24px; }
h3 { font-size: 20px; }
h4 { font-size: 18px; }

div#intro, div#wishForm {
    position: absolute;
    left: 200px;
    right: 0;
}
    .leftCap, .rightCap {
        background: url(images/introbox.png) 0 0 no-repeat;
        width: 30px;
        position: absolute;
        left: 0;
        top: 0;
        height: 211px;
    }
        .rightCap {
            left: auto;
            right: 0;
            background-position: 0 -422px;
        }
    .content, div.infoWindow form, .infoWindow .shared {
        background: url(images/introbox.png) 0 -211px repeat-x;
        height: 131px;
        width: auto;
        margin: 0 30px;
        font-size: 24px;
        line-height: 30px;
        padding: 40px 0;
    }

strong {
    color: #3C3;
}

input, textarea, div.iconList {
    background: url(images/inputs.gif) 0 0 no-repeat;
    height: 21px;
    padding: 5px;
    color: #8BC53F;
    font-size: 14px;
    display: block;
    width: 190px;
    margin-bottom: 5px;
}
    textarea, div.iconList {
        background-position: -200px 0;
        height: 153px;
        resize: none;
    }
    .hidden input {
        height: 0;
        padding: 0;
        background: none;
        display: auto;
    }

legend {
    line-height: 33px;
    font-size: 14px;
    margin-bottom: 10px;
}
legend span {
    display: inline-block;
    width: 34px;
    height: 33px;
    background: url(images/fieldsetnumber.gif) 0 0 no-repeat;
    font-size: 18px;
    color: #3C3;
    text-align: center;
}

div#wishForm {
    display: none;
}
    div#wishForm .leftCap, div#wishForm .rightCap {
        background-image: url(images/mainbox.png);
        height: 434px;
    }
        div#wishForm .rightCap {
            left: auto;
            right: 0;
            background-position: 0 -868px;
        }
    div#wishForm form {
        background: url(images/mainbox.png) 0 -434px repeat-x;
        height: 354px;
        margin: 0 30px;
        padding: 40px 0;
    }
    div#wishForm p {
        font-size: 18px;
        line-height: 24px;
        clear: left;
        margin-bottom: 10px;
    }
        div#wishForm p.required {
            font-size: 14px;
            position: absolute;
            bottom: 10px;
        }
    div#wishForm fieldset {
        float: left;
        width: 33%;
        margin-bottom: 10px;
        height: 250px;
        position: relative;
    }
        div#wishForm fieldset div {
            position: relative;
        }
        div#wishForm label {
            position: absolute;
            top: 5px;
            left: 5px;
        }


div#wishes, div#stage {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
}
    div#wishes {
        z-index: 900;
    }
        div#wishes img {
            position: absolute;
            cursor: pointer;
            width: 63px;
            height: 64px;
            background: url(images/icon.png) 0 0 no-repeat;
        }
        div#wishes img:hover {
            background-position: 0 -64px;
        }
        div#wishes img:active {
            background-position: 0 -128px;
        }

div.infoWindow, div#updateBox {
    display: none;
    position: absolute;
    z-index: 999;
    width: 260px;
}
    div#updateBox {
        position: fixed;
    }
    div.infoWindow .rightCap, div.infoWindow .leftCap, div#updateBox .rightCap, div#updateBox .leftCap {
        background-image: url(images/wishbox.png);
        height: 250px;
    }
        div.infoWindow .rightCap, div#updateBox .rightCap {
            background-position: 0 -500px;
        }
    div.infoWindow .content, div.infoWindow form, div.infoWindow .shared, div#updateBox .content {
        font-size: 15px;
        line-height: 20px;
        padding: 20px 0 0;
        height: 230px;
        background: url(images/wishbox.png) 0 -250px;
    }
    div.infoWindow .content p.messageBox, div.infoWindow span.to, div.infoWindow span.from {
        color: #37B34A;
    }
    div.infoWindow .content p, div#updateBox .content p {
        margin-bottom: 10px;
    }
    div.infoWindow form, div.infoWindow .shared {
        display: none;
        position: absolute;
        top: 0;
        padding-top: 30px;
        height: 220px;
        width: 200px;
    }
        div.infoWindow form div, div#updateBox form div {
            position: relative;
        }
        div.infoWindow form label, div#updateBox form label {
            position: absolute;
            top: 5px;
            left: 5px;
        }
    div#updateBox .content, div.infoWindow .shared {
        padding-top: 40px;
        height: 210px;
    }

a#stageLeft, a#stageRight {
    position: fixed;
    top: 50%;
    left: 20px;
    z-index: 999;
    width: 51px;
    height: 75px;
    background: url(images/arrows.png) 0 0 no-repeat;
    text-indent: -999em;
    margin-top: -25px;
}
    a#stageLeft:hover {
        background-position: 0 -74px;
    }
    a#stageLeft:active {
        background-position: 0 -148px;
    }
    a#stageRight {
        left: auto;
        right: 20px;
        background-position: -51px 0px;
    }
        a#stageRight:hover {
            background-position: -51px -74px;
        }
        a#stageRight:active {
            background-position: -51px -148px;
        }
    
div#cloud1, div#cloud2, div#cloud3, div#cloud4, div#cloud5 {
    position: absolute;
    height: 200px;
    background-repeat: repeat-x;
    background-position: 0 0;
    width: 100%;
}

div#foreground1, div#foreground2 {
    background-repeat: repeat-x;
    width: 100%;
    position: absolute;
    background-position: 0 0;
    bottom: 0;
    left: 0;
    height: 485px;
}
    div#foreground2 {
        background-position: -400px 0;
    }

div#rainbowLeft, div#rainbowRight {
    position: absolute;
    background-repeat: no-repeat;
    height: 1181px;
    width: 1594px;
    background-position: 0 0;
    top: 0;
    left: 40px;
}
    div#rainbowRight {
        left: auto;
        right: 40px;
    }

p#copyright {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 990;
}

a#ie6 {
    position: absolute;
    left: 1935px;
    bottom: 236px;
    height: 60px;
    width: 50px;
    text-indent: -999em;
    z-index: 999;
}

div#iconSelector {
    position: relative;
}

.preview {
    display: block;
    background: url(images/iconselector.png) 0 0 no-repeat;
    line-height: 83px;
    width: 90px;
    height: 83px;
    text-align: center;
    cursor: pointer;
    margin-left: 60px;
}
    .preview:hover {
        background-position: 0 -83px;
    }
    .preview:active {
        background-position: 0 -166px;
    }
    .preview img {
        display: block;
        margin: 0 auto;
    }

div.iconList {
    display: none;
    position: absolute !important;
    top: 0;
    overflow-y: auto;
    width: 205px;
}
    div.iconList a {
        float: left;
        width: 45px;
        height: 45px;
        text-align: left;
        text-indent: -999em;
        background-position: center center;
        background-repeat: no-repeat;
        cursor: pointer;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
    }
        div.iconList a:hover {
            background-color: #C6E899;
        }

div#overlay {
    background: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 1050;
    display: none;
}

div#errorBox, div#loadingBox {
    display: none;
    position: fixed;
    z-index: 1051;
}
    div#errorBox .topCap, div#errorBox .bottomCap, div#errorBox .content,
    div#loadingBox .topCap, div#loadingBox .bottomCap, div#loadingBox .content {
        background: url(images/errorbox.png) -800px 0 no-repeat;
        height: 30px;
        width: 400px;
        overflow: hidden;
    }
        div#errorBox .bottomCap, div#loadingBox .bottomCap {
            background-position: 0 0;
        }
        div#errorBox .content, div#loadingBox .content {
            background-position: -400px 0;
            background-repeat: repeat-y;
            padding: 0 30px;
            margin: 0;
            height: auto;
            width: 340px;
            font-size: 14px;
        }
    div#loadingBox .content p {
        height: 90px;
        text-indent: -999em;
        overflow: hidden;
        background: url(images/loading.gif) center 0 no-repeat;
    }
    
div#ie6 {
    height: 1200px;
    width: 100%;
    background: #FFF url(images/background-ie6.jpg) 0 0 no-repeat;
}
    div#ie6 p {
        font-size: 22px;
        line-height: 28px;
        position: absolute;
        left: 250px;
        top: 40px;
        width: 650px;
    }
html.copy, body.copy {
    overflow: auto;
}
body.copy {
    padding: 40px 100px 40px;
}
.copy h1 {
    float: none;
    width: 100%;
    height: auto;
    margin-bottom: 24px;
    color: #3C3;
}
.copy h2 {
    margin-bottom: 12px;
}
.copy p {
    margin-bottom: 24px;
}
