/* Cassandra Web Site 1.0 */


body {
    /* background: #e5f3de; */
    background: #f2f7f6;
    font-size: 87.5%;
}

a {
    color: #3b749c;
}

a.hl {
    background: #ff9;
}

a:hover {
    background: #3b749c;
    color: #fff;
    text-decoration: none;
}

h2 {
    letter-spacing: -0.01em;
}

ol.biglist {
    color: #54A130;
    font-size: 150%;
}

ul.nobullets,
ul.biglist {
    list-style-type: none;
    margin-left: 0;
}


ul.biglist b {
    font-size: 24px;
    line-height: 42px;
    letter-spacing: -0.015em;
    font-weight: normal;
    color: #488A29;
}

ul.biglist p {
    color: #444;
    text-align: justify;
}

h2.hdr {
    background-color: #6F9AB8;
    color: #f7f7f7;
    padding-left: 10px;
    text-align: center;
    font-size: 24px;
    line-height: 30px;
    margin: 0 0 12px;
}

h3.hdr {
    background: #eee;
    color: #666;
    font-size: 19px;
    line-height: 29px;
    margin-bottom: 13px;
    padding-left: 6px;

}

blockquote.hl {
    background: #f0f7ff;
    color: #669;
    background: #f7f7f0;
    color: #661;
    padding: 1em;
    font-style: normal;
    /* font-weight: bold; */
}

#wrapper {
    background: #fff;
    padding: 11px 0 42px;
    border-top: 6px solid #ffce34;
    border-color: #dbeaf5;
    border-bottom: 1px solid #cdd;
}

#header h1 {
    background: #fff url(/media/img/cassandra_logo.png) top left no-repeat;
    text-indent: -10000px;
    height: 105px;
    margin-bottom: 0;
    position: relative;
}

#nav {
    background: #415A6C;
    margin-bottom: 29px;
    font-size: 16px;
    line-height: 21px;
}

#nav ul {
    list-style-type: none;
    display: block;
    padding: 0;
}

#nav a {
    display: block;
    padding: .75em 1em;
    color: #fff;
    color: #CBE5F7;
}

#nav a:hover {
    background: #AED7F5;
    color: #415A6C;
}

#nav li {
    display: block;
    float: left;
    padding: 0;
    margin: 0;
}

#welcome {
    margin-bottom: 29px;
}

#welcome .inner {
    /* margin: 0 21px; */
}

#welcome h2 {
    color: #A12B27;
    color: #5D6E4F;
    margin: 0;
}

#download {
    background: #693;
    text-align: center;
}

#download a { color: #070; }

#download a:hover {
    background-color: #393;
    color: #efc;
}

#download .inner {
    background: #efc;
    margin:  8px 21px 29px;
    text-align: center;
}

#download h2 {
    font-size: 16px;
    font-weight: bold;
    line-height: 21px;
    margin: 0;
    color: #efc;
}

#download p {
    clear: left;
    margin: 0;
}

#download .filename {
    display: block;
    background: url(/media/img/download.png) center 12px no-repeat;
    /* float: left; */
    font-size: 18px;
    line-height: 21px;
    padding: 75px 0 9px;
    overflow: auto;
    position: relative;
    margin: 0 auto 21px;
}

#download .relnotes {
    display: block;
}

#download .filename:hover {
}

#main {
    background: #fff;
}

#footer a, 
#footer {
    color: #899;
}

#tab-slides .slideshare {
    padding: 0 75px;
}


