@charset "utf-8";

/*
Theme Name: OpenOffice.org JA
Theme URI: http://ja.openoffice.org/
Description: Theme for OpenOffice.org JA
Author: KAZUHIRO TERADA
Tags: blue, white, OpenOffice.org, cool, web2.0
*/

/********** Initial Setting Start **********/
* {
  font-family            : "メイリオ", "Arial", "sans-serif";
}

h1, h2, h3, h4, ul, ol, dl, li, dt, dd {
  font-weight            : normal;
  margin              : 0;
  padding              : 0;
}

form, input, textarea, submit, select, option {
  font-size            : 90%;
  font-family            : none;
  margin              : 0;
  padding              : 0;
}

img, abbr {
  vertical-align          : bottom;
  border              : 0;
  margin              : 0;
  padding              : 0;
}

a {
  outline              : 0;
}

body {
  font-size            : 90%;
  color              : #333;
  text-align            : center;
  line-height            : 20px;
  padding              : 0;
  margin              : 0 auto;
}

/********** Initial Setting End **********/

/********** Decoration Start **********/
.center {
  text-align            : center;
}

.clear {
  display              : inline-block;
} 

.clear:after {
  clear              : both; 
  content              : " "; 
  display              : block; 
  font-size            : 0; 
  height              : 0; 
  visibility            : hidden; 
} 

* html .clear {
  height              : 1%;
} 

.clear {
  display              : block;
} 
/********** Decoration End **********/

/********** Content Start **********/
#breadcrumbs {
  display              : none;
  visibility            : hidden;
}

#content {
  padding              : 0;
}

#content table#main {
  width              : 100%;
  float              : none;
  padding              : 0;
}

#navcol {
  display              : none;
  visibility            : hidden;
}

#jacontent {
  width              : 960px;
  text-align            : left;
  margin              : 0 auto 8px auto;
}

#jacontent div.topimg div.topimg-left {
  width              : 780px;
  float              : left;
}

.topimg-left ul {
  background            : url(bgimages/topimg-bottom.jpg) no-repeat 50% 50%;
  width              : 780px;
  height              : 96px;
}

.topimg-left ul li {
  list-style            : none;
  margin              : 0 0 0 504px!important;
}

.topimg-left ul li a {
  color              : #333;
  text-decoration          : none;
  display              : block;
  padding-left          : 64px;
}

.topimg-left ul li.download-top a {
  font-size            : 130%;
  padding-top            : 28px;
}

.download-bottom {
  font-size            : 80%;
  _font-size            : 70%;
  height              : 24px;
  line-height            : 24px;
}

#content table#main div.content div.website div#jacontent div.topimg-right {
  width              : 176px;
  height              : 288px;
  float              : left;
}

#content table#main div.content div.website div#jacontent div.topimg-right ul {
  white-space            : nowrap;
}

#content table#main div.content div.website div#jacontent div.topimg-right ul li {
  width              : 72px;
  color              : #333;
  font-size            : 80%;
  _font-size            : 70%;
  text-align            : center;
  list-style            : none;
  float              : left;
  margin              : 4px 0 0 0;
}

#content table#main div.content div.website div#jacontent div.topimg-right ul li a {
  color              : #333;
  text-decoration          : none;
}

#content table#main div.content div.website div#jacontent div.topimg-right ul li a:hover {
  text-decoration          : underline;
}

#content table#main div.content div.website div#jacontent div.topimg-right ul li.app-width {
  width              : 104px;
}

.img-calc a {
  background            : url(bgimages/calc.gif) no-repeat 50% 0%;
  height              : 64px;
  text-indent            : -9999px;
  display              : block;
}

.img-calc a:hover {
  background            : url(bgimages/calc.gif) no-repeat 50% 100%;
}

.img-writer a {
  background            : url(bgimages/writer.gif) no-repeat 50% 0%;
  height              : 64px;
  text-indent            : -9999px;
  display              : block;
}

.img-writer a:hover {
  background            : url(bgimages/writer.gif) no-repeat 50% 100%;
}

.img-impress a {
  background            : url(bgimages/impress.gif) no-repeat 50% 0%;
  height              : 64px;
  text-indent            : -9999px;
  display              : block;
}

.img-impress a:hover {  
  background            : url(bgimages/impress.gif) no-repeat 50% 100%;
}

.img-base a {
  background            : url(bgimages/base.gif) no-repeat 50% 0%;
  height              : 64px;
  text-indent            : -9999px;
  display              : block;
}

.img-base a:hover {
  background            : url(bgimages/base.gif) no-repeat 50% 100%;
}

.img-draw a {
  background            : url(bgimages/draw.gif) no-repeat 50% 0%;
  height              : 64px;
  text-indent            : -9999px;
  display              : block;
}

.img-draw a:hover {
  background            : url(bgimages/draw.gif) no-repeat 50% 100%;
}

.img-math a {
  background            : url(bgimages/math.gif) no-repeat 50% 0%;
  height              : 64px;
  text-indent            : -9999px;
  display              : block;
}

.img-math a:hover {
  background            : url(bgimages/math.gif) no-repeat 50% 100%;
}

.content-left {
  width              : 632px;
  float              : left;
}

/* Install Munual Link Start */
.content-left p.manual-install {
  width              : 616px;
  padding              : 0;
  margin              : 8px 0 0 0;
}

.content-left p.manual-install a {
  display              : block;
  border              : #E9F3CE 4px solid;
}

.content-left p.manual-install a:hover {
  border              : #B2CF72 4px solid;
}
/* Install Munual Link End */

/* why.openoffice.org Start */
.content-left p a.why-ooo {
  background            : url(../images/why-ooo.gif) no-repeat 0% 0%;
  height              : 56px;
  text-indent            : -9999px;
  display              : block;
}

.content-left p a.why-ooo:hover {
  background            : url(../images/why-ooo.gif) no-repeat 0% 100%;
}
/* why.openoffice.org End */

.content-left ul li {
  width              : 304px;
  list-style            : none;
  float              : left;
  margin              : 8px 8px 0 0!important;
}

.content-left ul li a {
  color              : #333;
  text-decoration          : none;
}

.content-left ul li a:hover {
  color              : #333;
  text-decoration          : underline;
}

.content-left ul li.menu-showcase h3 {
  background            : url(bgimages/menu-showcase.jpg) no-repeat 0% 0%;
}

.content-left ul li.menu-project h3 {
  background            : url(bgimages/menu-project.jpg) no-repeat 0% 0%;
}

.content-left ul li.menu-forum h3 {
  background            : url(bgimages/menu-forum.jpg) no-repeat 0% 0%;
}

.content-left ul li.menu-ml h3 {
  background            : url(bgimages/menu-ml.jpg) no-repeat 0% 0%;
}

.content-left ul li h3 a {
  height              : 40px;
  text-indent            : -9999px;
  display              : block;
}

.content-left ul li p {
  height              : 120px;
  font-size            : 90%;
  padding              : 0 100px 0 6px!important;
  margin              : 0;
}

.content-left ul li.menu-showcase p {
  background            : url(bgimages/menu-showcase.jpg) no-repeat 0% 100%;
}

.content-left ul li.menu-showcase p:hover {
  background            : url(bgimages/menu-showcase.jpg) no-repeat 100% 100%;
}

.content-left ul li.menu-project p {
  background            : url(bgimages/menu-project.jpg) no-repeat 0% 100%;
}

.content-left ul li.menu-project p:hover {
  background            : url(bgimages/menu-project.jpg) no-repeat 100% 100%;
}

.content-left ul li.menu-forum p {
  background            : url(bgimages/menu-forum.jpg) no-repeat 0% 100%;
}

.content-left ul li.menu-forum p:hover {
  background            : url(bgimages/menu-forum.jpg) no-repeat 100% 100%;
}

.content-left ul li.menu-ml p {
  background            : url(bgimages/menu-ml.jpg) no-repeat 0% 100%;
}

.content-left ul li.menu-ml p:hover {
  background            : url(bgimages/menu-ml.jpg) no-repeat 100% 100%;
}

.content-right {
  float              : left;
  margin-top            : 8px;
}

#content table#main div.content div.website div#jacontent div.rss-box div {
  width              : 476px;
  float              : left;
}

#content table#main div.content div.website div#jacontent div.rss-box div h4 a {
  background            : #86C2E6;
  color              : #262626;
  font-size            : 90%;
  text-decoration          : none;
  line-height            : 32px;
  display              : block;
  border-top            : #CCC 1px solid;
  border-light          : #CCC 1px solid;
  border-left            : #CCC 1px solid;
  padding-left          : 8px;
}

#content table#main div.content div.website div#jacontent div.rss-box div.rss-box-news {
  margin              : 8px 8px 8px 0;
}

#content table#main div.content div.website div#jacontent div.rss-box div.rss-box-forum {
  margin              : 8px 0;
}

#content table#main div.content div.website div#jacontent div.rss-box div ul {
  height              : 128px;
  overflow-y            : auto;
  border-bottom          : #CCC 1px solid;
  border-right          : #CCC 1px solid;
  border-left            : #CCC 1px solid;
}

#content table#main div.content div.website div#jacontent div.rss-box div ul li {
  font-size            : 90%;
  line-height            : 24px;
  list-style            : none;
  border-top            : #CCC 1px solid;
  margin              : 0;
}

#content table#main div.content div.website div#jacontent div.rss-box div ul li a {
  background            : #FFF;
  color              : #262626;
  text-decoration          : none;
  line-height            : 24px;
  display              : block;
  border              : 0;
  padding              : 0 8px;
  margin              : 0;
}

#content table#main div.content div.website div#jacontent div.rss-box div ul li a:hover {
  background            : #EAEAEA;
}

#content table#main div.content div.website div#jacontent div.content-down {
  font-size            : 70%;
  text-align            : right;
  margin              : 8px 8px 0 328px;
}

#content table#main div.content div.website div#jacontent div.content-down ul li {
  list-style            : none;
  float              : left;
  padding-left          : 8px;
}

#content table#main div.content div.website div#jacontent div.content-down ul li a {
  color              : #666;
  text-decoration          : none;
  display              : inherit;
}

#content table#main div.content div.website div#jacontent div.content-down ul li a:hover {
  color              : #86C2E6;
  text-decoration          : underline;
}

<<<<<<< .mine
#ja-footer {
  height              : 80px;
  margin-top            : 800px;
}
=======
#ja-footer {
  height              : 80px;
}
>>>>>>> .r76
/********** Content End **********/
