@import url(//fonts.googleapis.com/css?family=Mr+Dafoe|Open+Sans:400,800,400italic,300,300italic,700,700italic);

body, html {
background:#0F5713;
color:#333;
font-family:georgia, serif;
font-size:16px;
line-height:1.5;
margin:0;
padding:0;
}

img {
border-width:0px;
}

select, input, button, textarea {
background:rgba(230, 255, 200, 0.8);
color:#0F5713;
padding:3px 5px;
border:1px solid #4b9830;
border-radius:3px;
font-family:"Open Sans", sans-serif;
font-size:16px;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
box-sizing:border-box;
height:30px;
vertical-align:middle;
}

textarea {
height:auto;
}

input:focus {
border-width:2px;
padding:2px 4px;
border-radius:5px;
}

button, input[type=submit], input[type=button], input[type=reset] {
color:#0F5713;
padding:3px 15px;
font-size:14px;
cursor:pointer;
}

button.compact {
padding:3px 10px;
}

button:hover, input:hover, select:hover, textarea:hover, button:focus, input:focus, select:focus, textarea:focus, button:active, input:active, select:active, textarea:active {
outline:none;
color:#0F5713;
background:rgba(230, 255, 200, 0.95);
}

input[type=radio], input[type=checkbox] {
height:auto;
padding:0;
}

blockquote {
background:rgba(230, 255, 200, 0.8);
padding:30px 40px;
position:relative;
z-index:0;
border-radius:10px;
}

blockquote a:link {
text-decoration:underline;
}

blockquote:before {
content:'“';
position:absolute;
top:0;
left:0;
color:#4b9830;
font-size:100px;
line-height:100px;
z-index:-1;
}

blockquote.speech {
overflow:visible;
margin-left:50px;
padding:10px 40px;
}

blockquote.speech:before {
content:'';
position:absolute;
top:30px;
right:100%;
left:auto;
border-style:solid;
border-width:15px;
border-left-width:0;
border-color:transparent;
border-right-color:rgba(230, 255, 200, 0.8);
}

blockquote .speaker {
position:absolute;
top:0;
right:100%;
float:none;
margin:0;
}

code, pre {
font-size:14px;
font-family:"lucida console", courier, monospace;
background:rgba(230, 255, 200, 0.8);
}

code {
padding:0 5px;
}

li {
margin-bottom:5px;
}

h1 {
position:relative;
font-family:georgia, serif;
font-size:2.5em;
text-align:center;
letter-spacing:0.1em;
padding-bottom:10px;
margin:30px 0;
padding:0 50px;
font-variant:small-caps;
}

h1:before, h2:before {
content:'';
height:70px;
width:68px;
position:absolute;
top:50%;
left:-30px;
margin-top:-35px;
background-image:url('celebi-headingbg1.png');
background-repeat:no-repeat;
}

h1:after, h2:after {
content:'';
height:70px;
width:64px;
position:absolute;
top:50%;
right:-30px;
margin-top:-35px;
background-image:url('celebi-headingbg2.png');
background-repeat:no-repeat;
}

h2 {
font-family:georgia, serif;
font-size:2em;
font-weight:bold;
margin-top:2em;
padding:0 50px;
position:relative;
text-align:center;
}

h3 {
font-family:'Open Sans', sans-serif;
font-size:1.5em;
}

h4 {
font-weight:bold;
font-size:1em;
margin-bottom:0;
}

td {
font-size:inherit;
font-family:inherit;
padding:0.5em;
}

hr {
color:#4b9830;
background:#4b9830;
height:1px;
width:100%;
border:0;
}

a:link, a:visited {
color:#4b9830;
text-decoration:none;
}

a:active, a:hover {
color:#4b9830;
text-decoration:underline;
}

#head {
width:100%;
text-align:center;
margin:0;
padding:0;
position:relative;
background-image:url('celebi-bannerbg.png');
background-position:center top;
background-repeat:no-repeat;
background-color:#0E7223;
}

#banner {
width:100%;
padding:100px 0;
background-image:url('celebi-banner-grass.png');
background-position:center top;
background-repeat:repeat-x;
color:#FFF;
text-shadow:3px 3px 7px #000;
overflow:hidden;
}

#banner:before {
content:'';
position:absolute;
top:50px;
left:50%;
margin-left:230px;
width:300px;
height:250px;
background-image:url('celebi-celebi.png');
}

#banner h1 {
margin:0 0 0.5em;
font-size:3em;
border:0;
font-family:'Mr Dafoe', cursive;
font-weight:normal;
font-variant:normal;
line-height:0.8;
letter-spacing:normal;
}

#banner h1:before, #banner h1:after {
content:none;
}

#banner h1 a {
color:#FFF;
text-decoration:none;
}

#banner h1 span {
display:block;
font-size:2em;
}

#banner p {
position:relative;
font-size:1em;
font-family:'Open Sans', sans-serif;
font-weight:400;
text-shadow:1px 1px 2px #000;
z-index:1;
}

#hitcounter {
display:none;
}

#styleswitcher {
font-family:"Open Sans", sans-serif;
font-size:14px;
position:absolute;
top:100%;
left:50%;
margin-top:-40px;
margin-left:-460px;
padding:10px 0;
z-index:1;
}

#styleswitcher label, #styleswitcher br {
display:none;
}

#styleswitcher select {
font-size:12px;
height:25px;
}

#styleswitcher input {
font-size:12px;
height:25px;
padding:2px 10px;
}

#layout {
width:100%;
overflow:hidden;
}

#container {
max-width:960px;
margin:-50px auto 0;
position:relative;
padding-bottom:150px;
background-color:rgba(230, 255, 200, 0.8);
background-image:url('celebi-grass.png');
background-position:bottom center;
background-repeat:repeat-x;
border-top-left-radius:10px;
border-top-right-radius:10px;
}

#content {
margin:0 20px;
padding:30px;
text-align:left;
}

#zodiac {
font-family:"Open Sans", sans-serif;
font-size:14px;
position:absolute;
bottom:50px;
right:50%;
margin:0 -460px 0 0;
background:rgba(230, 255, 200, 0.8);
padding:3px 15px 3px 25px;
border-top-left-radius:10px;
border-top-right-radius:10px;
}

#zodiac img {
vertical-align:bottom;
margin:0 0 0 -20px;
}

#zodiac a:active, #zodiac a:hover {
text-decoration:none;
color:#0F5713;
}

#lastmodified {
font-size:14px;
color:#0F5713;
}

#menu {
position:fixed;
top:0;
left:0;
right:-20px;
padding-bottom:5px;
z-index:1;
overflow-y:scroll;
}

#menu:hover {
height:100%;
pointer-events:none;
}

#menu::-webkit-scrollbar {
display:none;
}

#menu-inner {
float:left;
width:100%;
background:rgba(230, 255, 200, 0.9);
box-shadow:0 0 5px rgba(0, 0, 0, 0.3);
pointer-events:auto;
}

#menu ul {
width:920px;
margin:0 auto;
padding:0 20px 0 0;
list-style-type:none;
}

#menu ul li {
float:left;
width:14.2857%;
position:relative;
margin:0;
}

#menu ul li a {
display:block;
padding:7px 10px;
text-align:center;
text-decoration:none;
text-transform:uppercase;
color:#000;
font-family:'Open Sans', sans-serif;
font-weight:300;
font-size:14px;
transition:padding 0.2s;
}

#menu-inner:hover ul li a {
padding:20px 10px;
}

#menu ul li a:hover {
background:rgba(230, 255, 200, 0.9);
color:#4b9830;
}

#menu ul li ul {
display:none;
width:200px;
position:absolute;
background:rgba(230, 255, 200, 0.9);
top:100%;
left:0;
box-shadow:0 0 5px rgba(0, 0, 0, 0.3);
z-index:-1;
padding:0;
}

#menu ul li:last-child ul {
left:auto;
right:0;
}

#menu ul li:hover ul {
display:block;
}

#menu ul li ul li {
float:none;
width:auto;
position:relative;
}

#menu ul li ul li a:link, #menu ul li ul li a:visited {
text-transform:none;
text-align:left;
color:#000;
padding:3px 20px;
}

#menu ul li ul li a:active, #menu ul li ul li a:hover {
color:#4b9830;
}

#menu ul li:hover ul li ul {
position:absolute;
top:0;
left:100%;
width:200px;
display:none;
z-index:1;
}

#menu ul li:hover ul li:hover ul {
display:block;
}

#affys {
text-align:left;
padding:50px 20px 20px;
margin-top:100px;
border-top:1px solid #4b9830;
font-family:"Open Sans", sans-serif;
font-size:14px;
}

#affys ul {
margin:0;
padding:0;
list-style-type:none;
}

#affys ul li {
padding:0;
margin:0;
}

#affys ul li a {
font-weight:bold;
color:#333;
}

#affys ul li a:hover {
text-decoration:underline;
}

#affys ul li ul {
display:inline;
}

#affys ul li ul li {
display:inline;
}

#affys ul li ul li:before {
content:'· ';
}

#affys ul li ul li a:link, #affys ul li ul li a:visited {
font-weight:normal;
color:#0F5713;
}

#affys ul li ul li a:active, #affys ul li ul li a:hover {
text-decoration:underline;
}

#affys ul li ul li a img {
display:none;
}

#affys ul li ul li a span {
display:inline;
}

#disclaimer {
text-align:center;
font-family:"Open Sans", sans-serif;
font-size:13px;
width:920px;
margin:-20px auto 0;
color:#CFC;
z-index:1;
position:relative;
}

#disclaimer hr {
display:none;
}

#disclaimer a:link, #disclaimer a:visited {
color:#CFC;
text-decoration:underline;
}

#disclaimer a:active, #disclaimer a:hover {
color:#EFE;
}

#invisiblelink a {
color:#333;
text-decoration:none;
cursor:text;
}

#invisiblelink a img {
cursor:default;
height:31px;
width:88px;
}

.magikarp-notice {
margin-top:30px;
}

#updates {
width:100%;
text-align:center;
}

#updates h2 {
font-family:'Open Sans', sans-serif;
font-size:1.5em;
font-weight:400;
color:#040;
margin:2em -30px 1em;
padding:0 30px;
text-align:left;
background:rgba(230, 255, 200, 0.8);
}

#updates h2:before, #updates h2:after {
content:none;
}

.update-date {
color:#0F5713;
font-weight:300;
}

#updates .updatetext {
text-align:left;
}

#updates .updatetext p {
margin-top:1em;
margin-bottom:1em;
}

#updates .update-comments {
text-align:center;
}

div.bottom {
text-align:center;
font-weight:bold;
}

p#guestbook {
text-align:center;
}

.aspquiz {
color:#880000;
}

.javaquiz {
color:#000088;
}

.aspquiz textarea {
border:3px solid #880000;
}

.javaquiz textarea {
border:3px solid #000088;
}

#pollcontainer {
text-align:center;
}

.poll {
margin:auto;
width:400px;
font-family:"Open Sans", sans-serif;
font-size:14px;
}

.poll form {
width:300px;
}

.poll td {
text-align:left;
padding:0.1em;
}

.poll .pollcredit {
font-family:arial, sans-serif;
font-size:10px;
}

.poll-bar {
border:0;
height:20px;
background:#4b9830;
}

.celltable {
border-collapse:collapse;
}

.celltable tr {
border-bottom:1px solid #4b9830;
}

.celltable td, .celltable th {
padding:5px 20px;
border-width:1px;
}

#statmod-calculator td, #statmod-calculator th {
padding:5px 10px;
}

#marquee {
border:1px solid #4b9830;
}

fieldset {
border:1px solid #4b9830;
padding:30px 40px;
}

legend {
color:#0F5713;
font-family:"Open Sans", sans-serif;
font-weight:300;
font-size:18px;
}

#featured {
position:relative;
}

#featured a span {
position:absolute;
top:0;
left:100%;
width:200px;
padding:3px 20px;
background:rgba(230, 255, 200, 0.9);
color:#000;
box-shadow:0 0 5px rgba(0, 0, 0, 0.3);
display:none;
z-index:1;
}

#featured a:hover span {
display:block;
}

.table-of-contents {
padding:1em;
background:rgba(230, 255, 200, 0.8);
border-radius:10px;
float:left;
margin:2em 0;
}

.table-of-contents h4 {
margin-top:0;
}

/* GUESTBOOK */

.guestbook-date {
position:absolute;
bottom:5px;
right:5px;
}


/* RESPONSIVE FEATURES */

@media (max-width:959px) {
    #banner:before {
        margin-left:150px;
    }

    #container {
        border-radius:0;
    }

    #zodiac {
        right:10px;
        margin-right:0;
    }

    #styleswitcher {
        left:10px;
        margin-left:0;
    }

    #menu ul {
        width:auto;
        margin:0 20px;
        padding:0;
    }

    #menu ul li ul {
        margin:0;
    }

    #disclaimer {
        width:auto;
        margin-left:20px;
        margin-right:20px;
    }
}

@media (max-width:767px) {
    #layout {
        overflow:visible;
    }

    #container {
        position:static;
        margin-top:-20px;
    }

    #menu {
        position:absolute;
        top:0;
        right:0;
        height:auto;
        overflow:visible;
    }

    #menu:hover {
        height:auto;
    }

    #menu ul li {
        width:110px;
    }

    #menu-inner:hover ul li a {
        padding:7px 10px;
    }

    #menu ul li ul {
        z-index:1;
    }

    #banner {
        padding:80px 0 40px;
        background-size:300px;
        position:relative;
        overflow:hidden;
    }

    #banner h1 {
        font-size:30px;
    }

    #banner:before {
        top:70px;
        background-size:150px;
        background-repeat:no-repeat;
    }

    #banner p {
        font-size:12px;
    }

    #zodiac {
        font-size:12px;
        bottom:0;
        left:10px;
    }

    #zodiac img {
        margin-top:-5px;
        margin-bottom:-3px;
    }

    #styleswitcher {
        margin-top:10px;
    }

    #content {
        padding-top:70px;
    }

    h1 {
        font-size:2em;
    }

    #updates h2 {
        margin:1em -30px;
    }

    textarea, img {
        max-width:100%;
    }

    blockquote {
        margin:1em 0;
        padding:10px 20px;
    }

    #guestbook-posts blockquote {
        padding-bottom:30px;
    }

    #guestbook-rules ul {
        margin:1em 0;
        padding:0;
    }

    #guestbook-rules li {
        margin:0;
        padding:0;
    }

    #guestbook-form {
        width:100%;
    }

    #guestbook-form div label, #guestbook-form div input, #guestbook-form div textarea, #guestbook-form div select {
        float:none;
        text-align:left;
    }
}

@media (max-width:479px) {
    #banner {
        position:relative;
        overflow:hidden;
        background-size:300px;
    }

    #banner:before {
        background-size:150px;
        width:150px;
        height:130px;
        left:auto;
        right:-40px;
        margin-left:0;
        top:20px;
    }

    #banner h1 {
        padding:0;
    }

    #content {
        padding:50px 0 30px;
    }

    #menu {
        right:0;
    }

    #menu-inner {
        height:30px;
        cursor:pointer;
        position:relative;
    }

    #menu-inner:hover {
        height:auto;
    }

    #menu:hover {
        height:auto;
    }

    #menu ul li {
        width:100%;
    }

    #menu ul {
        display:none;
        margin:0;
    }

    #menu-inner:hover ul {
        display:block;
        margin-top:50px;
    }

    #menu-inner:hover ul li ul {
        display:none;
    }

    #menu-inner:hover ul li a {
        padding:10px 20px;
    }

    #menu-inner:before {
        content:'';
        position:absolute;
        bottom:0;
        left:50%;
        height:0;
        width:1px;
        margin-left:-15px;
        border-style:solid;
        border-top-width:15px;
        border-left-width:15px;
        border-right-width:15px;
        border-color:transparent;
        border-top-color:#4b9830;
    }

    #menu-inner:hover:before {
        content:none;
    }

    #zodiac {
        left:10px;
        right:10px;
        padding-left:15px;
    }

    #zodiac img {
        display:none;
    }

    #styleswitcher {
        left:10px;
        right:10px;
        text-align:center;
    }

    h1 {
        font-size:30px;
        padding:0;
    }

    h2 {
        font-size:24px;
        padding:0;
    }

    h1:before, h2:before, h1:after, h2:after {
        content:none;
    }

    #updates h2 {
        font-size:20px;
        margin:1em -20px;
        padding:0 20px;
    }

    .poll {
        width:100%;
        text-align:center;
    }

    .poll img {
        float:none;
        margin:0;
    }

    .poll form {
        float:none;
        width:auto;
        text-align:left;
    }

    .poll-results {
        display:block;
    }

    .poll-results tr {
        display:block;
    }

    .poll-results .option {
        display:block;
    }

    .poll-results .bar {
        width:480px;
    }

    blockquote:before {
        font-size:70px;
        line-height:70px;
    }

    blockquote.speech {
        margin-left:0;
        margin-top:80px;
    }

    blockquote.speech:before {
        content:'';
        position:absolute;
        top:auto;
        bottom:100%;
        left:25px;
        right:auto;
        border-width:15px;
        border-top-width:0;
        border-color:transparent;
        border-bottom-color:rgba(230, 255, 200, 0.8);
    }

    blockquote .speaker {
        position:absolute;
        top:auto;
        bottom:100%;
        right:auto;
        left:0;
    }
}