/* Idean website CSS */

/* Standard CSS, works in all major browsers.
 * (:first-child doesn't work in IE6 but not fatal.)
 */

* { margin:0; padding:0; }

table {
    border-collapse: collapse;
    border-spacing: 0;
}
fieldset, img {
    border: none;
}
ul {
    list-style:none;
/*    margin-bottom: 5px;*/
}
caption,th {
    text-align:left;
}
embed {
    margin: 10px 0;
}

body {
    font-family: "Lucida Grande",Verdana,Geneva,Arial,sans-serif;
    font-size: 12px;
    line-height: 22px;
    color: #3D423D;
    background-color: white;
}
#wrapper {
    width: 923px;
    padding-left: 10px;
    margin: 0 auto;
    overflow: hidden; /* cut borders */
}
#container {
    width: 923px;
    float: left;
    display: inline; /* work around IE bug */
    background-color: #fff;
/*    overflow: hidden;*/
}
#container_short {
    width: 583px;
    float: left;
    display: inline; /* work around IE bug */
    background-color: #fff;
}
#primary, #secondary {
    width: 300px;
    clear: right;
    float: right;
    display: inline; /* work around IE bug */
    background-color: white;
}
#primary {
    padding: 8px 0px 0 9px;
}

h1,h2,h3,h4 {
/*    font-family: Georgia,serif;*/
    color: #3D423D;
    line-height: 1.5em;
    font-weight: normal;
/*    clear: left;*/
}
h1 {
    letter-spacing: -0.030em;
}
h2 {
    font-size: 20px;
    line-height: 22px;
    padding: 10px 0px 18px 0px;
}
h1.nofound {
    color: red;
}

h3 {
    font-size: 16px;
    padding: 10px 0px 12px 0px;
    font-size: 23px;
    line-height: 23px;
}
h4 {
    padding: 10px 0px 18px 0px;
    font-size: 28px;
    line-height: 22px;
}

.center { text-align: center; }

pre, code {
    font-family: monospace;
    font-size: 1.25em;
    line-height: 1.2em;
    margin-bottom: 1.2em;
}
pre {
    padding: .75em;
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    color: #009bc8;
}
code {
    color: #009bc8;
}

.clear {
    clear: both;
    height: 10px;
}
div.hh {
    clear: both;
    overflow: hidden;
}

#content form {
    margin: 10px 0;
}

p {
    margin: 3px 0 10px;
    line-height: 20px;
}
p.big {
    font-weight: bold;
}
p.strong {
    color: black;
    font-weight: bold;
    font-size: 10px;
    margin: 0;
}
p.little {
    color: #666;
    font-size: 10px;
    margin: 0;
    line-height: 13px;
}
p.product {
    color: #75C03A;
    margin: 0;
    margin-top: 10px;
}
div.strong {
    font-weight: bold;
}

span.date {
    color: #aaa;
    font-size: 10px;
    padding-left: 10px;
}
p.date, div.date {
    color: #666;
    font-size: 10px;
    margin: 0;
    line-height: 14px;
}
p.datebig {
    margin: -15px 0 10px;
}

p.editpage {
    clear: both;
    margin-top: 10px;
    padding: 10px;
    border: 2px dotted #aaa;
    background-color: #faa;
    width: 150px;
    text-align: center;
}
p.editpage a {
    color: #500;
}
p.editpage:hover {
    background-color: #fdd;
    text-decoration: underline;
}

img.margin20 {
    margin: 20px 0 0;
}
img.title {
    margin: 20px 0;
}
img.r {
    float: right;
    margin: 5px;
}

cite {
    font-style: italic;
}
abbr {
    border-bottom: dotted 1px #999;
}
del {
    color: #999;
}
ins {
    text-decoration: none;
    border-bottom: dotted 1px #999;
}
blockquote {
    padding: .75em .75em 1em 2.5em;
    border-top: solid 1px #E7ECE7;
    border-bottom: solid 1px #E7ECE7;
/*    margin-bottom: 2em;*/
    background: #F6F8F6;
}
dl {
    margin-bottom: 1.5em;
}
dt {
    font-weight: bold;
}
dd {
    margin-left: 3em;
    font-style: italic;
    margin-bottom: .75em;
}

em {
    font-family: Georgia,Times,"Times New Roman",serif;
    font-style: italic;
    font-size: 13px;
    color: #9aa596;
}

/* footer */
/*-------------------------------------------------------------------------*/
#footer {
    clear: both;
    padding: 10px 0;
    top: 20px;
    color: #8B8B8B;
    background-color: white;
    height: 100px;
    font-family: Helvetica, Arial, sans-serif;
    position: relative;
    border-top: 1px dotted #aaa;
}

#footer a {
    color: #8B8B8B;
    padding: 0 4px;
    text-decoration: none;
}
#footer a:hover {
    opacity: 0.5; filter:alpha(opacity=50); zoom: 1;
    text-decoration: underline;
}

#footer p a:first-child {
    padding-left: 0;
}

p.debug {
    position: fixed;
    right: 10px;
}


/* right column, sidebar */
/*-------------------------------------------------------------------------*/
.sidebar {
}
.sidebar h3, .worksidebar h3 {
    margin-bottom: 0;
    padding: 15px 0px 7px;
    font-size: 18px;
}
.sidebar h3 a, .worksidebar h3 a {
    color: inherit;
}
.sidebar > ul {
    margin-bottom: 30px;
}
div.sidebar ul.inner li {
    padding: 4px;
/*    height: 44px;*/
/*    list-style-image: url(skooppi.png);*/
/*    list-style-position: outside;*/
/*    background-image: url(skooppi.png);*/

/*    padding-left: 35px;*/
/*    background: #fff url(skooppi.png) top left no-repeat;*/
/*    background-position: 5px 4px;*/
}

.sidebar h2 a, .related h2 a,
.sidebar h3 a, .related h3 a {
    color: #80C45A;
}

.worksidebar img.alignleft,
.sidebar img.alignleft {
    float: left;
/*    margin: 5px 30px 5px 0;*/
/*    padding: 20px 0;*/
    padding-right: 10px;
}

.sidebar .inner li {
    border-bottom: 1px dotted #cacaca;
}

.sidebar .inner li:first-child {
    border-top: 1px dotted #cacaca;
}

.sidebar .inner li:hover, .sidebar .inner li.current {
    background-color: #e0f0e0;
}
.sidebar .inner li a {
    font-weight: bold;
/*    color: #70c035;*/
}

div.worksidebar {
    margin-bottom: 30px;
}

div.worksidebar a:hover {
    text-decoration: underline;
}

div.worksidebar ul.outer li h3 {
    font-size: 18px;
    color: #75C03A;
    padding: 5px;
    padding-left: 10px;
}
div.worksidebar ul.outer li h3 {
    background: url(workitem-border.png) repeat-x left bottom;
}
div.worksidebar ul.outer li.current {
    background: transparent url(workitem-arrow.png) no-repeat left 12px;
    border-bottom: 1px solid #fff;
}
div.worksidebar ul.outer li h3 span {
    margin-left: 5px;
    padding-left: 15px;
    background: transparent url(menu-twistie-open.png) no-repeat left -98px;
    cursor: pointer;
}
div.worksidebar ul.outer li.closed h3 span {
    background: transparent url(menu-twistie-closed.png) no-repeat left -98px;
}
div.worksidebar ul.outer li h3 span:hover {
    background-position: 0px -48px;
}

div.worksidebar ul.inner li {
    background: #f6f8f6;
    padding-left: 37px;
    background: url(workitem-border.png) repeat-x left bottom;
    text-indent: -10px;
}
div.worksidebar ul.inner li.current_page_item {
    background: transparent url(workitem-arrow.png) no-repeat left 5px;
    border-bottom: 1px solid #fff;
    font-weight: bold;
}

div.worktop {
    width: 300px;
    height: 21px;
    background: url(work-bg-top.png) no-repeat left top;
}
div.workmiddle {
    width: 280px;
    background: url(work-bg-middle.png) repeat-y left top;
/*    overflow: hidden;*/
    padding: 0px 10px;
}
div.workbottom {
    width: 300px;
    height: 24px;
    background: url(work-bg-bottom.png) no-repeat left top;
}

a:link {
    color: #80c45a;
    text-decoration: none;
}
a:visited {
/*    color: #9CA39C;*/
    color: #729CA0;
    text-decoration: none;
}
a:active {
    color: #777;
    text-decoration: none;
}
a:hover {
    background-color: transparent; /* for S60 */
    text-decoration: underline;
}
a:focus {
    color: #527C80;
    outline: none;
}

a:hover img {
    opacity: 0.8; filter:alpha(opacity=80); zoom: 1;
}

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

/* Generic post base styles */
.post {
    overflow: hidden;
    margin: 5px 0;
}
#respond h3 {
    background-color: #e24000;
    color: #fff;
    padding: .25em;
}

/* Search box */
#search {
    position: absolute;
    top: 98px;
}
#search h3 {
    display: none;
}
#search input#s {
    width: 120px;
    vertical-align: top;
}
/*term in search page*/
#search-terms {
    color: #75c03a;
}
div.searchbox {
    margin: 10px 0;
/*    border-top: 1px dotted #cacaca;*/
}

/*header*/
#header {
    height: 95px;
    width: 100%;
    float: left;
    clear: left;
    display: inline; /* work around IE bug */
/*    border: 1px solid red;*/
    position: relative;
/*    overflow: hidden;*/
    border-bottom: 1px dotted #cacaca;
}
#header {
    color: blue;
    padding: 0;
    background-color: white;
}
#header a#logopic:hover {
    opacity: 0.5; filter:alpha(opacity=50);
}

a#logopic {
    display: block;
    width: 102px;
    height: 40px;
    background: #fff url(ideanlogo.png) top left no-repeat;
    position: absolute;
    right: 10px;
    top: 10px;
}

a#logofooter {
    background: #fff url(ideanlogo-bw.png) top left no-repeat;
    display: block;
    width: 102px;
    height: 40px;
    position: absolute;
    right: 10px;
    top: 10px;
}

/* NAVIBAR */
/*-------------------------------------------------------------------------*/
/* Using Gilder/Levin Method for disabled images */

#navbar {
    position: absolute;
    left: 0px;
    top: 25px;
    width: 770px;
}
#navbar ul { list-style-type: none; }
#navbar li { display: inline; }
#navbar a {
    display: block;
    float: left;
    height: 28px;
/*    background: #fff url(navibar.png) top left no-repeat;*/
    font-size: 18px;
    color: #3D423D;
    position: relative;
    background-color: #e0f0e0;
/*    text-align: center;*/
}
#navbar a:hover {
/*    opacity: 0.8; filter:alpha(opacity=80); didn't work in Opera */
}
#navbar a.current {
    font-weight: bold;
}
#navbar a.current {
    background-color: #75C03A;
}

#navbar a span {
    background: transparent url(navibar.png) top left no-repeat;
    background-position: 0 -50px;
    position: absolute;
    width: 100%; height: 100%;
    cursor: pointer; /* for IE */
}
#navbar #home { width: 117px; }
#navbar #home:hover span { background-position: 0 0; }
#navbar #home.current span { background-position: 0 0; }

#navbar #work { width: 130px; }
#navbar #work span { background-position: -117px -50px; }
#navbar #work:hover span { background-position: -117px 0; }
#navbar #work.current span { background-position: -117px 0; }

#navbar #company { width: 130px; }
#navbar #company span { background-position: -248px -50px; }
#navbar #company:hover span { background-position: -248px 0; }
#navbar #company.current span { background-position: -248px 0; }

#navbar #contact { width: 120px; }
#navbar #contact span { background-position: -379px -50px; }
#navbar #contact:hover span { background-position: -379px 0; }
#navbar #contact.current span { background-position: -379px 0; }

#navbar #blog { width: 97px; }
#navbar #blog span { background-position: -501px -50px; width: 97px; }
#navbar #blog:hover span { background-position: -501px 0; }
#navbar #blog.current span { background-position: -501px 0; }

#navbar #barempty {
    background: #fff url(navibar.png) top left no-repeat;
    background-position: -598px -50px;
    width: 140px;
    height: 28px;
    float: left;
}
#navbar #searchbut {
    background: #fff url(navibar.png) top left no-repeat;
    background-position: -737px -50px; width: 29px;
}
#navbar #searchbut:hover { background-position: -737px 0; }


#subnav {
    position: absolute; left: 13px; top: 66px;
/*    background-color: transparent;*/
/*    text-align: top;*/
/*    border: 1px solid black;*/
}
#subnav ul { list-style-type: none; }
#subnav li {
    display: inline;
/*    font-family: Georgia, Verdana;*/
    font-size: 12px;
    font-weight: bold;
}
#subnav a {
/*    padding-left: 27px;*/
/*    padding-right: 20px;*/
    padding: 0 10px;
    margin: 0 1px;
    display: block; float: left;
    height: 21px;
/*    background: url(icons2.png) no-repeat left 3px;*/
    color: #75c03a;
    text-decoration: none;
}

#subnav a:hover {
    border-bottom: 4px solid #70c035;
    background-color: #e0f0e0;
}
#subnav #aresearch { background-position: 0 -26px; }
#subnav #aconcept { background-position: 0 4px; }
#subnav #adesign { background-position: 0 -68px; }
#subnav #aimpl { background-position: 0 -108px; }

#subnav li.current_page_ancestor a,
#subnav li.current_page_item a {
    border-bottom: 4px solid #70c035;
    background-color: #e0f0e0;
}




/* content area (posts) */
/*-------------------------------------------------------------------------*/

#content {
    padding-top: 10px;
/*    overflow: hidden;*/
}

#content ul {
    list-style-type: none;
    list-style-image: url(bullet.png);
/*    color: #70C035;*/
    list-style-position: outside;
}
#content ol {
    list-style-type: decimal;
    list-style-position: inside;
}
#content ul li {
    margin-left: 2em;
}
.alignright {
    float: right;
    margin: 5px 0 5px 30px;
    padding: 20px 0;
    padding-left: 30px;
    border-left: 1px dotted #aaa;
}
.alignleft {
    float: left;
    margin: 5px 30px 5px 0;
    padding: 20px 0;
    padding-right: 30px;
    border-right: 1px dotted #aaa;
}
img.heading {
    padding-bottom: 1px;
    padding: 10px 0 23px;

    padding-right: 920px;
    border-bottom: 1px dotted #cacaca;
    clear: both;
}
#content img.center {
    display: block;
    text-align: center;
    clear: both;
    margin: 1em auto;
}
#content h1 {
    margin-bottom: 15px;
    font-family: Georgia,Times,"Times New Roman",serif;
    font-size: 24px;
}
#content h2 {
    margin: 15px 0 2px;
    padding: 0;
    font-size: 14px;
    font-weight: bold;
}
#content h3 {
    margin: 18px 0 0;
    padding: 0;
    font-size: 12px;
    font-weight: bold;
    color: #3D423D;
    line-height: 16px;
}

#content a:hover    {
    color: #868A91;
    background-color:#ecffe0;
}

div.lcol {
    padding: 0px 35px 0px 0px;
    float: left;
    width: 480px;
}
div.rcol {
    float: right; width: 408px; margin-top: 10px;
}
div.smallcol {
    float: left;
    width: 146px;
    padding: 0px 21px 0px 0px;
    font-size: 11px;
    line-height: 16px;
    font-family: "Lucida Grande";
}
div.rsmallcol { float: left;
    width: 146px;
    font-size: 11px;
    line-height: 16px;
    font-family: "Lucida Grande";
}

div.rpic {
    float: right;
    border-left: 1px dotted #CCC;
    line-height: 16px;
    font-size: 11px;
    color: #a6a6a6;
    padding:5px 0px 5px 15px;
}

div.left {
    width: 48%;
    float: left;
}
div.leftandclear {
    clear: both;
    width: 48%;
    float: left;
}
div.right {
    width: 50%;
    float: right;
}

div#mysearch { position: absolute; bottom:0; right:0;}

div.fl {
    float: left;
}

div.ingress {
    font-size: 14px;
    margin-bottom: 20px;
}

#content div.copy {
    width: 583px;
    float: left;
    display: inline; /* work around IE bug */
}
#content div.related {
    width: 300px;
    clear: right;
    float: right;
    display: inline; /* work around IE bug */
    padding: 8px 0px 0 9px;
}

#content table.people img.alignleft {
    border: none;
    margin:0;
    margin-right: 15px;
    padding:0;
}
#content table.people td {
    padding-left: 15px;
    padding-top: 17px;
    width: 311px;
}
#content table.people td:first-child {
    padding-left: 0;
}
#content table.people td h3 {
    margin-top: 35px;
}

#content table.people td h2 {
    padding-right: 60px;
    border-bottom: 1px dotted #cacaca;
}

div.faded {
    color: #9aa596;
    font-size: 11px;
    line-height: 17px;
}
div.faded p {
    line-height: 17px;
}

a.doc {
    padding: 2px 0;
    padding-left: 22px;
    background: url(file-link.png) no-repeat left top;
}
a.pdf {
    padding: 2px 0;
    padding-left: 22px;
    background: url(file-pdf.png) no-repeat left top;
}

table.normal {
    border: 1px dotted #cacaca;
    margin-left: 1px;
}
table.normal td {
    border: 1px dotted #cacaca;
    padding: 5px;
}

/* search form */
/*-------------------------------------------------------------------------*/
#searchsubmit2 { display: none; }
#barempty { position: relative;
    width: 110px;
    overflow: hidden;
}
#myinput {
    position: absolute;
    width: 130px;
    top: 2px;
    left: 150px;
    left: 1px;
/*    display: none;*/
}

input, textarea {
    height:19px;
    border: 2px solid #75c03a;
    font-family: Georgia;
    font-size: 14px;
    color: black;
    padding: 1px;
    background-color: white;
}
textarea {
    height: auto;
}
input:focus, textarea:focus {
    background-color: #f3f5f3;
}
input.but {
    height: 28px;
    border: 2px ridge #75c03a;
    background-color: #eeeeee;
    padding: 1px 10px;
}

#feedlink {
    width: 20px;
    background: #fff url(rss.png) top left no-repeat;
}

div.viiva { height: 2px; border-bottom: 1px dotted #cacaca;
    width: 100%;
}


/* template stuff */
/*-------------------------------------------------------------------------*/

h3.one {
    padding-left: 45px;
    background: url(1.png) no-repeat left top;
    font-family: Georgia,Times,"Times New Roman",serif;
    letter-spacing: -0.030em;
}
h3.two {
    padding-left: 45px;
    background: url(2.png) no-repeat left top;
    font-family: Georgia,Times,"Times New Roman",serif;
    letter-spacing: -0.030em;
}
h3.three {
    padding-left: 45px;
    background: url(3.png) no-repeat left top;
    font-family: Georgia,Times,"Times New Roman",serif;
    letter-spacing: -0.030em;
}

div.onethird {
    width: 30%;
    width: 293px;
    border-right: 1px dotted #aaa;
    margin: 10px 0;
    margin-right: 15px;
    padding-right: 10px;
    float: left;
}
div.onethird p {
    margin: 12px 0;
}
div.noborder {
    border: none;
}
div.nopadding {
    border: none;
    margin-right: 0;
    width: 285px;
    padding-right: 0px;
}

/*div.line { width: 100%; margin: 0 0px;*/
/*    background: #fff url(line.png) top left repeat-x; }*/

div.heading  {
    padding-top: 9px;
    clear: both;
}
div.heading img {
    margin: 3px 0 10px;
}

/* comments */
/*-------------------------------------------------------------------------*/
ol.commentlist li {
    padding: 4px 10px;
    border-bottom: 1px dotted #cacaca;
    position: relative;
}
ol.commentlist li.alt {
    background-color: #f3f5f3;
}
ol.commentlist li.original {
    background-color: #E0F0E0;
/*    border: 4px solid #75c03a;*/
}
ol.commentlist li.original p {
/*    font-weight: bold;*/
}

ol.commentlist .commentmetadata {
/*    position: absolute;
    right: 10px;
    top: 3px;*/
}

#content h2#comments {
    margin: 50px 0 10px;
    padding: 15px 0;
    border-top: 1px dotted #cacaca;
    color: #9aa596;
    line-height: 1.5em;
    font-family: Georgia,Times,"Times New Roman",serif;
    font-weight: normal;
    font-size: 18px;
}
form#commentform textarea {
    width: 100%;
}
ol.commentlist cite {
    font-style: normal;
    font-weight: bold;
    font-size: 14px;
    padding-left: 5px; /* for IE */
}

form#commentform label.required {
    padding-right: 10px;
    background: url(asterisk.png) no-repeat right top;
}

/* pics carousel */
/*-------------------------------------------------------------------------*/
div.piccontainer {
    margin: 0px auto;
    width: 250px;
/*    min-height: 550px;*/
    height: 220px;
/*    text-align: center;*/
/*    border: 2px solid #aaa;*/
    overflow: hidden;
    position: relative;
/*    background: #eee;*/
}
div.piccontainer div.longreel {
    width: 20000px;
    position: relative;
    left: 0px;
}

div.piccontainer div.longreel div {
    float: left;
    width: 250px;
    text-align: center;
    overflow: hidden;
}
div.piccontainer div.longreel div.bottext {
/*    border: 1px solid blue;*/
    text-align: left;
    padding-left: 5px;
}
div.piccontainer div.longreel div.bottext p {
    margin: 4px;
}

div.picwrap {
    position: relative;
    border: none;
    padding: 0;
    width: 298px;
}
div.picwrap div.picbut {
    width: 25px;
    height: 30px;
    position: absolute;
    top: 90px;
}
div.picwrap div.picleft {
    left: 0;
    background: url(picroll-left.png) no-repeat left top;
}
div.picwrap div.picright {
    right: 0;
    background: url(picroll-right.png) no-repeat left top;
}
div.picwrap div.picmore {
    background-position: 0px -100px;
    cursor: pointer;
}
div.picwrap div.picmore:hover {
    background-position: 0px -50px;
}

div.homebar div.onethird p {
    margin: 0;
}

