web/data/cubicweb.css
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Fri, 21 May 2010 13:34:03 +0200
changeset 5561 58b05c314443
parent 5483 1a30c5a56256
child 5774 0d792bceb25d
permissions -rw-r--r--
[selectors] ensure adaptable('IDownloadable') takes precedence over implements('Any')

/*
 *  :organization: Logilab
 *  :copyright: 2003-2009 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
 *  :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
 */

/***************************************/
/* xhtml tags                          */
/***************************************/

/* scale and rhythm cf http://lamb.cc/typograph/ */
body {
  font-family:  %(defaultFont)s;
  font-size: %(defaultSize)s;
  line-height: %(defaultLineHeight)s;
  color: %(defaultColor)s;
}
h1, h2, h3 { margin-top:0; margin-bottom:0; }

/* got rhythm ? beat of 12*1.25 = 15 px */
.rhythm_bg { background: url(/data/%(baseRhythmBg)s) repeat ! important; }

/* scale 3:5 stranded */
/* h1 { font-size:2em; } */
/* h2 { font-size:1.61538em; } */
/* h3 { font-size:1.23077em; } */

/* scale le corbusier */
/* h1 { font-size:2.11538em; } */
/* h2 { font-size:1.61538em; } */
/* h3 { font-size:1.30769em; } */

/* scale traditional */
h1 { font-size: %(h1FontSize)s; }
h2 { font-size: %(h2FontSize)s; }
h3 { font-size: %(h3FontSize)s; }

/* paddings */
h1 {
    border-bottom: %(h1BorderBottomStyle)s;
    padding: %(h1Padding)s;
    margin: %(h1Margin)s;
}
h2 { padding: %(h2Padding)s; }
h3 { padding: %(h3Padding)s; }

html, body {
  background: #e2e2e2;
}

a, a:active, a:visited, a:link {
  color: %(aColor)s;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

table {
  border: none;
}

table th, table td {
  vertical-align: top;
}

label, .label {
  font-weight: bold;
}

pre {
  clear: both;
  font-family: 'Courier New', monospace;
  letter-spacing: 0.015em;
  padding: 0.5em;
  margin: 0 1.5em 1.5em;
  background-color: #f0f0f0;
  border: 1px solid #ccbca7;
}

p {
  text-align: justify;
  margin-bottom: %(defaultLineHeightEm)s;
}

ol, ul {
  list-style-type: disc;
  margin-bottom: %(defaultLineHeightEm)s;
}

ol ol,
ul ul{
  margin-left: 8px;
  margin-bottom : 0px;
}

p + ul {
  margin-top: -%(defaultLineHeightEm)s;
}

li {
  margin-left: 1.5em;
}

h2 a, h2 a:active, h2 a:visited, h2 a:link,
h3 a, h3 a:active, h3 a:visited, h3 a:link {
  color: inherit;
  text-decoration: none;
}

input, textarea {
  border: 1px solid %(pageContentBorderColor)s;
  padding: 0.1em;
  vertical-align: middle;
}

input:focus {
  border: 1px inset %(headerBgColor)s;
}

/***************************************/
/* generic classes                     */
/***************************************/

.odd {
  background-color: #f7f6f1;
}

.even {
  background-color: transparent;
}

.hr {
  border-bottom: 1px dotted %(pageContentBorderColor)s;
  height: 17px;
}

.left {
  float: left;
}

.right {
  float: right;
}

.clear {
  clear: both;
}

.hidden {
  display: none;
  visibility: hidden;
}

li.invisible {
  list-style: none;
  background: none;
  padding: 0px 0px 1px 1px;
}

li.invisible div{
  display: inline;
}

/***************************************/
/*   LAYOUT                            */
/***************************************/

/* header */

table#header {
  background: %(headerBgColor)s url("banner.png") left top repeat-x;
  text-align: left;
}

table#header td {
  vertical-align: middle;
}

table#header a {
  color: %(defaultColor)s;
}

table#header img#logo{
  vertical-align: middle;
}

span#appliName {
  font-weight: bold;
  color: %(defaultColor)s;
  white-space: nowrap;
}

table#header td#headtext {
  width: 100%;
}

/* Popup on login box and userActionBox */
div.popupWrapper{
  position:relative;
  z-index:100;
}

div.popup {
  position: absolute;
  background: #fff;
  border: 1px solid #fff;
  text-align: left;
  z-index: 400;
}

div.popup ul li a {
  text-decoration: none;
  color: #000;
}

/* FIXME appear with 4px width in IE6 */
div#stateheader{
  min-width: 66%;
}

/* main zone */

div#page {
  min-height: %(pageMinHeight)s;
  margin: %(defaultLayoutMargin)s;
}

table#mainLayout #navColumnLeft {
  width: 16em;
  padding-right: %(defaultLayoutMargin)s;
}

table#mainLayout #navColumnRight {
  width: 16em;
  padding-left: %(defaultLayoutMargin)s;
}

div#pageContent {
  clear: both;
/*  margin-top:-1px; /* enable when testing rhythm */
  background: %(pageContentBgColor)s;
  border: 1px solid %(pageContentBorderColor)s;
  padding: 0px %(pageContentPadding)s %(pageContentPadding)s;
}


div#breadcrumbs {
  padding: %(pageContentPadding)s 0 0 0;
}

/*FIXME */
#contentheader {
  margin: 0px;
  padding: 0.2em 0.5em 0.5em 0.5em;
}

#contentheader a {
  color: %(defaultColor)s;
}

/* rql bar */

div#rqlinput {
  margin-bottom: 8px;
  padding: 3px;
  background: %(actionBoxTitleBgColor)s;
  border: 1px solid %(actionBoxTitleBgColor)s;
}

input#rql{
  width: 95%;
}

/* boxes */

div.boxFrame {
  width: 100%;
}

div.boxTitle {
  overflow: hidden;
  font: bold 100% Georgia;
  color: #fff;
  padding: 0px 0px 0.2em;
  background: %(headerBgColor)s url("search.png") left bottom repeat-x;
}

div.boxTitle span,
div.sideBoxTitle span {
  padding: 0px 5px;
  white-space: nowrap;
}

div.searchBoxFrame div.boxTitle,
div.greyBoxFrame div.boxTitle {
  background: %(actionBoxTitleBgColor)s;
}

div.sideBoxTitle span,
div.searchBoxFrame div.boxTitle span,
div.greyBoxFrame div.boxTitle span {
  color: %(defaultColor)s;
}

.boxFrame a {
  color: %(defaultColor)s;
}

div.boxContent {
  padding: 3px 0px;
  background: #fff;
  border-top: none;
}

a.boxMenu {
  display: block;
  padding: 1px 9px 1px 3px;
  background: transparent url("puce_down.png") 98% 6px no-repeat;
}
a.boxMenu:hover {
  background: %(sideBoxBodyBgColor)s url("puce_down.png") 98% 6px no-repeat;
  cursor: pointer;
}

a.popupMenu {
  background: transparent url("puce_down_black.png") 2% 6px no-repeat;
  padding-left: 2em;
}

ul.boxListing {
  margin: 0px;
  padding: 0px 3px;
}

ul.boxListing li,
ul.boxListing ul li {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
  background-image: none;
}

ul.boxListing ul {
  padding: 1px 3px;
}

ul.boxListing a {
  color: %(defaultColor)s;
  padding: 1px 9px 1px 3px;
}

ul.boxListing .selected {
  color: %(aColor)s;
  font-weight: bold;
}

ul.boxListing a.boxBookmark:hover,
ul.boxListing a:hover,
ul.boxListing ul li a:hover {
  color: #111100;
  text-decoration: none;
  background: %(sideBoxBodyBgColor)s;
}

ul.boxListing a.boxMenu:hover {
  cursor: pointer;
  border-top: medium none;
  background: %(sideBoxBodyBgColor)s url(puce_down.png) no-repeat scroll 98% 6px;
}

ul.boxListing ul li a:hover {
  background: %(sideBoxBodyBgColor)s  url("bullet_orange.png") 0% 6px no-repeat;
}

ul.boxListing a.boxBookmark {
  padding-left: 3px;
  background-image: none;
  background:#fff;
}

ul.boxListing ul li a {
  background: #fff url("bullet_orange.png") 0% 6px no-repeat;
  padding: 1px 3px 0px 10px;
}

div.searchBoxFrame div.boxContent {
  padding: 4px 4px 3px;
  background: #f0eff0 url("gradient-grey-up.png") left top repeat-x;
}

div.shadow{
  height: 14px;
  background: url("shadow.gif") no-repeat top right;
}

div.sideBoxTitle {
  background: %(actionBoxTitleBgColor)s;
  display: block;
  font: bold 100% Georgia;
}

div.sideBox {
  padding: 0 0 0.2em;
  margin-bottom: 0.5em;
}

ul.sideBox,
ul.sideBox ul{
  margin-bottom: 0px;
}

ul.sideBox li{
 list-style-type : none;
 padding: 0px 0px 1px 1px;
 margin: 1px 0 1px 4px;
}

div.sideBoxBody {
  padding: 0.2em 5px;
  background: %(sideBoxBodyBgColor)s;
}

div.sideBoxBody a {
  color:#555544;
}

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

div.sideBox table td {
  padding-right: 1em;
}

input.rqlsubmit{
  margin: 0px;
  width: 20px;
  height: 20px;
  background: %(buttonBgColor)s url("go.png") 50% 50% no-repeat;
}

input#norql{
  width:13em;
  margin-right: 2px;
}

/* user actions menu */
a.logout, a.logout:visited, a.logout:hover{
  color: #fff;
  text-decoration: none;
}

div#userActionsBox {
  width: 14em;
  text-align: right;
}

div#userActionsBox a.popupMenu {
  color: #000;
  text-decoration: underline;
  padding-right: 2em;
}

/* download box XXX move to its own file? */
div.downloadBoxTitle{
 background : #8FBC8F;
 font-weight: bold;
}

div.downloadBox{
 font-weight: bold;
}

div.downloadBox div.sideBoxBody{
 background : #EEFED9;
}

/**************/
/* navigation */
/**************/
div#etyperestriction {
  margin-bottom: 1ex;
  border-bottom: 1px solid %(pageContentBorderColor)s;
}

span.slice a:visited,
span.slice a:hover{
  color: #555544;
}

span.selectedSlice a:visited,
span.selectedSlice a {
  color: %(defaultColor)s;
}

/* FIXME should be moved to cubes/folder */
div.navigation a {
  text-align: center;
  text-decoration: none;
}

div.prevnext {
  width: 100%;
  margin-bottom: 1em;
}

div.prevnext a {
  color: %(defaultColor)s;
}

/***************************************/
/* entity views                        */
/***************************************/

div.mainRelated {
  border: none;
  margin-right: 1em;
  padding: 0.5em 0.2em 0.2em;
}

div.primaryRight{
 }

div.metadata {
  font-size: 90%;
  margin: 5px 0px 3px;
  color: #666;
  font-style: italic;
  text-align: right;
}

div.section {
/*  margin-top: 0.5em; */
  width:100%;
}

div.section a:hover {
  text-decoration: none;
}

/* basic entity view */

tr.entityfield th {
  text-align: left;
  padding-right: 0.5em;
}

div.field {
  display: inline;
}

div.ctxtoolbar {
  float: right;
  padding-left: 24px;
  position: relative;
}
div.toolbarButton {
  display: inline;
}

/***************************************/
/* messages                            */
/***************************************/

.warning,
.message,
.errorMessage{
  padding: 0.3em 0.3em 0.3em 1em;
  font-weight: bold;
}

.searchMessage{
 padding-top: %(defaultLayoutMargin)s;
}

.loginMessage {
  margin: 4px 0px;
  font-weight: bold;
  color: %(headerBgColor)s;
}

div#appMsg {
  border: 1px solid %(actionBoxTitleBgColor)s;
  margin-bottom: %(defaultLayoutMargin)s;
}

.message {
  margin: 0px;
  background: #fff url("information.png") 5px center no-repeat;
  padding-left: 15px;
}

.errorMessage {
  margin: 10px 0px;
  padding-left: 25px;
  background: #fff url("critical.png") 2px center no-repeat;
  color: #ed0d0d;
  border: 1px solid %(actionBoxTitleBgColor)s;
}

.stateMessage {
  border: 1px solid %(pageContentBorderColor)s;
  background: #fff url("information.png") 10px 50% no-repeat;
  padding:4px 0px 4px 20px;
}

/* warning messages like "There are too many results ..." */
.warning {
  padding-left: 25px;
  background: #f2f2f2 url("critical.png") 3px 50% no-repeat;
}

/* label shown in the top-right hand corner during form validation */
div#progress {
  position: fixed;
  right: 5px;
  top: 0px;
  background: %(defaultColor)s;
  color: #fff;
  font-weight: bold;
  display: none;
}

/***************************************/
/* listing table                       */
/***************************************/

table.listing {
 width: 100%;
 padding: 10px 0em;
 color: %(defaultColor)s;
 border: 1px solid %(listingBorderColor)s;
}

table.listing tr th {
  font-weight: bold;
  background: #dfdfdf;
  font-size: 8pt;
  padding: 3px 0px 3px 5px;
  border: 1px solid %(listingBorderColor)s;
  border-right:none}

table.listing thead tr {
/*  border: 1px solid #dfdfdf; */
}


table.listing thead th.over {
  background-color: #746b6b;
  cursor: pointer;
}

table.listing tr .header {
  border-right: 1px solid %(listingBorderColor)s;
  cursor: pointer;
}

table.listing td {
  padding: 4px;
  padding: 3px 0px 3px 5px;
  vertical-align: top;
  border: 1px solid %(listingBorderColor)s;
  border-right: none;
  background-color: #fff;
}

table.listing td a,
table.listing td a:visited {
  color: %(defaultColor)s;
}

table.listing a:hover,
table.listing tr.highlighted td a {
  color:%(defaultColor)s;
}

table.listing td.top {
  border: 1px solid #fff;
  border-bottom: none;
  text-align: right ! important;
  /* insane IE row bug workraound */
  position: relative;
  left: -1px;
  top: -1px;
}

table.htableForm {
  vertical-align: middle;
}
table.htableForm td{
  padding-left: 1em;
  padding-top: 0.5em;
}
table.htableForm th{
  padding-left: 1em;
}
table.htableForm .validateButton {
  margin-right: 0.2em;
  vertical-align: top;
  margin-bottom: 0.2em; /* because vertical-align doesn't seems to have any effect */
}

/***************************************/
/* error view (views/management.py)    */
/***************************************/

div.pycontext { /* html traceback */
  font-family: Verdana, sans-serif;
  font-size: 80%;
  padding: 1em;
  margin: 10px 0px 5px 20px;
  background-color: #dee7ec;
}

div.pycontext span.name {
  color: #ff0000;
}


/***************************************/
/* addcombobox                         */
/***************************************/

input#newopt{
 width:120px ;
 display:block;
 float:left;
 }

div#newvalue{
 margin-top:2px;
 }

#add_newopt{
 background: %(buttonBgColor)s url("go.png") 50% 50% no-repeat;
 width: 20px;
 line-height: 20px;
 display:block;
 float:left;
}

/***************************************/
/* buttons                             */
/***************************************/

input.button{
  margin: 1em 1em 0px 0px;
  border: 1px solid %(buttonBorderColor)s;
  border-color: %(buttonBorderColor)s %(actionBoxTitleBgColor)s %(actionBoxTitleBgColor)s %(buttonBorderColor)s;
  background: %(buttonBgColor)s url("button.png") bottom left repeat-x;
}

/* FileItemInnerView  jquery.treeview.css */
.folder {
  /* disable odd/even under folder class */
  background-color: transparent;
}

/***************************************/
/* footer                              */
/***************************************/

div#footer {
  text-align: center;
}
div#footer a {
  color: %(defaultColor)s;
  text-decoration: none;
}


/****************************************/
/* FIXME must by managed by cubes       */
/****************************************/
.needsvalidation {
  font-style: italic;
  color: gray;
}


/***************************************/
/* FIXME : Deprecated ? entity view ?  */
/***************************************/
.title {
  text-align: left;
  font-size: large;
  font-weight: bold;
}

.validateButton {
  margin: 1em 1em 0px 0px;
  border: 1px solid %(buttonBorderColor)s;
  border-color: %(buttonBorderColor)s %(actionBoxTitleBgColor)s %(actionBoxTitleBgColor)s %(buttonBorderColor)s;
  background: %(buttonBgColor)s url("button.png") bottom left repeat-x;
}

/********************************/
/* placement of alt. view icons */
/********************************/

.otherView {
  float: right;
}

/********************************/
/* overwite other css here */
/********************************/

/* ui.tabs.css */
ul .ui-tabs-nav,
ul .ui-tabs-panel {
  font-family: %(defaultFont)s;
  font-size: %(defaultSize)s;
}