web/data/cubicweb.css
author Alexandre Fayolle <alexandre.fayolle@logilab.fr>
Fri, 24 Sep 2010 11:05:10 +0200
branchstable
changeset 6334 8887f28faabf
parent 6246 62e25fac41cd
child 6366 1806148d6ce8
permissions -rw-r--r--
add some styling required by ReST figures

/*
 *  :organization: Logilab
 *  :copyright: 2003-2010 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:  %(defaultFontFamily)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("%(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;
  color: %(h1Color)s;
}

div.tabbedprimary + h1, h1.plain {
 border-bottom: none;
}

h2 { padding: %(h2Padding)s; }
h3 { padding: %(h3Padding)s; }

html, body {
  background: %(pageBgColor)s;
}

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.6em;
  margin: 0 2em 1.7em;
  background-color: %(listingHihligthedBgColor)s;
  border: 1px solid %(listingBorderColor)s;
}

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

ul {
  margin-bottom: %(defaultLineHeightEm)s;
}

ol {
  list-style-type: decimal;
 /* 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;
}

img{
  border: none;
}

fieldset {
  border: none;
}

h1 a, h1 a:active, h1 a:visited, h1 a:link,
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 {
  padding: 0.1em 0.2em;
  vertical-align: bottom;
  border: 1px solid %(pageContentBorderColor)s;

}

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

hr{
  border: none;
  border-bottom: 1px solid %(defaultColor)s;
  height: 1px;
}

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

h1 a:hover {
 text-decoration: none;
}

.odd {
  background-color: #f7f6f1;
}

.even {
  background-color: transparent;
}

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

hr.boxSeparator{
  border: none;
  border-bottom: 1px solid %(listingBorderColor)s;
  height: 1px;
}

.left {
  float: left;
}

.right {
  float: right;
}

.clear {
  clear: both;
}

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

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

li.invisible div{
  display: inline;
}

.caption {
    font-weight: bold;
}

.legend{
    font-style: italic;
}

.align-center{
    text-align: center;
}

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

/* header */

table#header {
  background: %(headerBgColor)s url("banner.png") repeat-x top left;
  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;
  /* background-color: #f0eff0; */
  /* background-image: url(popup.png); */
  /* background-repeat: repeat-x; */
  /* background-positon: top left; */
  border: 1px solid %(listingBorderColor)s;
  border-top: none;
  text-align: left;
  z-index: 400;
}

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

/* main zone */

div#page {
  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: 0 %(pageContentPadding)s %(pageContentPadding)s;
}

div#pageContent #contentmain .pagination {
  margin-top: 0;
}

div#pageContent .pagination{
  margin-top: 1.5em;
}

div#contentmain{
  margin-top: %(pageContentPadding)s
}

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

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

/* rql bar */

div#rqlinput {
  margin-bottom: %(defaultLayoutMargin)s;
}

input#rql{
  padding: 0.25em 0.3em;
  width: 99%;
}

/* boxes */

div.boxFrame {
  width: 100%;
}

div.boxTitle {
  overflow: hidden;
  font-weight: bold;
  color: #fff;
  background: %(boxTitleBg)s;
}

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

div.searchBoxFrame div.boxTitle,
div.greyBoxFrame div.boxTitle {
  background: %(actionBoxTitleBg)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 %(bulletDownImg)s;
}

a.boxMenu:hover {
  background: %(sideBoxBodyBgColor)s %(bulletDownImg)s;
  cursor: pointer;
}

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

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: %(actionBoxTitleBg)s;
  display: block;
  font-weight: bold;
}

div.sideBox {
  margin-bottom: 1em;
}

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

ul.sideBox li{
 padding: 0px 0px 1px 1px;
 margin: 1px 0 1px 4px;
}

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

div.sideBoxBody a {
  color: %(sideBoxBodyColor)s;
}

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

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

input.rqlsubmit{
  display: block;
  width: 20px;
  height: 20px;
  background: %(buttonBgColor)s url("go.png") 50% 50% no-repeat;
  vertical-align: bottom;
}

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;
}

/* pagination */
span.slice a:visited,
span.slice a:hover{
  color: %(helperColor)s;
}

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{
  margin-left: %(defaultLayoutMargin)s;
}

div.metadata {
  font-size: 90%;
  margin: 5px 0px 3px;
  color: %(helperColor)s;
  text-align: right;
}

div.section {
  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;
  z-index: 10;
}
div.toolbarButton {
  display: inline;
}

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

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

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

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

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

.message {
  background: %(msgBgColor)s %(infoMsgBgImg)s;
  padding-left: 15px;
}

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

/* search-associate message */
.stateMessage {
  border: 1px solid %(pageContentBorderColor)s;
  background: %(msgBgColor)s %(infoMsgBgImg)s;
  padding: 0.1em 0 0.1em 20px;
}

/* warning messages like "There are too many results ..." */
.warning {
  padding-left: 25px;
  background: %(msgBgColor)s 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%;
  font-size: 0.9167em;
  padding: 10px 0em;
  color: %(defaultColor)s;
  border: 1px solid %(listingBorderColor)s;
  margin-bottom: 1em;
}

table.listing th {
  font-weight: bold;
  font-size: 8pt;
  background: %(listingHeaderBgColor)s; 
  padding: 2px 4px;
  border: 1px solid %(listingBorderColor)s;
  border-right:none;
 /* white-space: nowrap; */
}

table.listing thead th.over {
  background-color: %(listingHeaderBgColor)s;
  cursor: pointer;
}

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

table.listing td {
  padding: 3px;
  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.listing input,
table.listing textarea {
 background: %(listingHihligthedBgColor)s;
}

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 {
  display: block;
  float: left;
  width: 120px;
}

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

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

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

input.button{
  margin: 1em 1em 0px 0px;
  border: 1px solid %(buttonBorderColor)s;
  border-color: %(buttonBorderColor)s %(actionBoxTitleBgColor)s %(actionBoxTitleBgColor)s %(buttonBorderColor)s;
}

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

/***************************************/
/* lists                               */
/***************************************/

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

ul.startup li,
ul.section li {
  margin-left:0px
}

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

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

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

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

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

ul.boxListing a.boxMenu:hover {
  border-top: medium none;
  background: %(sideBoxBodyBgColor)s %(bulletDownImg)s;
}

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

ul.simple li,
ul.boxListing ul li ,
.popupWrapper ul li {
  background: transparent url("bullet_orange.png") no-repeat 0% 6px;
}

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

ul.boxListing ul li a:hover{
  background-color: transparent;
}

ul.boxListing ul li a {
  padding: 1px 3px 0px 10px;
}

ul.simple li {
  padding-left: 8px;
}

.popupWrapper ul {
  padding:0.2em 0.3em;
  margin-bottom: 0px;
}

.popupWrapper ul li {
  padding-left: 8px;
  margin-left: 0px;
  white-space: nowrap;
}

/***************************************/
/* 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;
}

.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;
}

/********************************/
/* rest related classes         */
/********************************/

img.align-right {
  margin-left: 1.5em;
}

img.align-left {
  margin-right: 1.5em;
}

/******************************/
/* reledit                    */
/******************************/

.releditField {
    display: inline;
}

.releditForm {
 display:none;
}

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

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

div.ui-tabs-panel {
  border-top:1px solid #b6b6b6;
}

ul.ui-tabs-nav a {
  color: #3d3d3d;
}

ul.ui-tabs-nav a:hover {
  color: #000;
}

img.ui-datepicker-trigger {
  margin-left: 0.5em;
  vertical-align: bottom;
}