/* Base CSS file for all carrot.org pages */

/* Overall body & defaults */
body 
{
  font-family: Tahoma, Verdana, Arial, sans-serif;
  text-align: left; 
  background-color: white;
  color: #5F5F5F;
  margin: 0; 
  padding-left: 8px;
  padding-right: 8px; 
  padding-top: 2px; 
  padding-bottom: 2px;
  min-width: 720px;
}

/* Top-level structure */
div#banner
{

}

/* Sort out H1 just in case images off */
div#banner H1
{
  color: white;
  font-size: 160%;
}

div#banner div.boxcontent
{
  overflow: hidden;
  height: 80px;  
}

table#main
{
  width: 100%;
  position: relative;
  margin-top: 12px;  
  margin-bottom: 12px;
}

table#main td
{
  vertical-align: top;
}

td#navigation
{
  height: 100%;
  width: 13%;
  padding-right: 1em;
  padding-left: 1em;
}

td#content
{
  padding-top: 12px;
  width: 60%;
  padding-left: 1em;
  border-left: dotted 2px #C0C0C0;
  padding-right: 1em;
  border-right: dotted 2px #C0C0C0;
}

td#news 
{
  font-size: 90%;
  position: relative;
  width: 17.5%;
  padding-left: 1em;
  padding-right: 1em;
}


div#footer  
{
  clear: both;
  margin-top: 12px;
  padding: 6px;
  background-color: #e5e5e5;
  height: 1.5em; 
  width: 99%;
  color: #5F5F5F;
  font-size: x-small;
}

div#footer a
{
  font-weight: bold;
}

/* Banner structure */
img#nospam
{
	position: absolute;
	top: 0px;
	left: 24px;
}

img#carrot
{
	position: absolute;
	top: 0px;
	right: 24px;
}

/* Menu structure */
div#listcontainer 
{
  text-align:left;
  font-size: 90%;
} 

div#listcontainer ul 
{
  margin: 0;
  padding: 0;
  border-top: 2px dotted #C0C0C0;
  list-style: none; 
}

div#listcontainer li 
{
  border-bottom: 2px dotted #C0C0C0;  
  padding: 0.5em; 
  position: relative;  /* For image buttons */
}

div#listcontainer a.withbutton
{
  margin-right: 24px;
}

div#listcontainer img.button
{
  position: absolute;
  right: 4px;	
  top: 2px;
}

/* Content structure */
td#content
{
  font-size: 90%;	
  line-height: 130%;
}

td#content ul
{
  padding-left: 1em;
}

td#content p 
{
}

td#content li
{
  margin-top: 0.5em; 
}

/* Two-column (2:1) layout */
div.two-column
{
}

div.two-column-left
{
}

div.two-column-right
{
   margin-left: 3%;
   padding-left: 3%;
   width: 35%;
   float: right;
   border-left: 2px dotted #C0C0C0;  
   margin-bottom: 1em;
}

div.warning 
{
  clear: both;
  margin-top: 1em;
  color: white;
  font-size:90%; 
}

div.warning h2
{
  font-size: 150%;
}

div.warning div.boxcontent
{
  padding: 0.5em;
}

/* News structure */
td#news div.ad div.boxcontent
{
  display: inline-block;  /* IE hack to give 'layout' - see below */
  color: white;
  font-size: 120%;
  line-height: 120%;
  font-weight: bold;
  padding: 4px;
}

td#news div.ad div.boxcontent
{
  display: block;  /* Return to normal, but layout now set, preventing peekaboo bug */
}

td#news div.ad span.carrot
{
  color: #FF9900;
}

td#news div.ad span.percent
{
  font-size: 200%;
  line-height: 100%;
}

td#news div.ad img.envelope
{
  float: right;	
  margin-left: 4px;
  margin-top: 4px;
}

td#news h2
{
  margin-top: 1em;
  padding-top: 0;	
  padding-bottom: 2px;
  border-bottom: 2px dotted #C0C0C0;  
}

td#news img.bullet
{
  vertical-align: middle;	
}

p.moreinfo
{
}
	
p.moreinfo A
{
  font-weight: bold;
}

img.paper
{
  border: solid 1px #5F5F5F;
  width: 40%;
  float: right;
  margin-left: 1em;
}

/* Footer structure */
div#copyright
{ 
  margin-top: 0.3em;
}

div#languages
{
  float: right; 
}

div#languages A
{ 
  padding-right: 1em;
}

div#languages A.selected
{ 
  text-decoration: underline;
}

/* Text structure */
h1 
{
  font-size: 140%;
  font-weight: normal;
  margin-top: 0;
}

h2
{
	font-size: 110%;
	font-weight: bold;
	margin-top: 0;
	color: #C60;
}

h3 
{
  font-size: 90%;
  font-weight: bold;
}

/* Default links */
a:link 
{
  color: #5F5F5F; 
  text-decoration: none; 
}

a:visited 
{
  color: #5F5F5F; 
  text-decoration: none; 
}

a:active 
{
  color: #5F5F5F; 
  text-decoration: none; 
}

a:hover 
{
  color: #FF9900; 
  text-decoration: none; 
}

a img
{
   border: 0; 	
}

/* Links in content are orange */
td#content a
{
  color: #FF9900; 
}

td#content a:hover
{
  color: #E85500; 
}

/* Generic box-structure forms */
table.form 
{
  margin-left: 2em;
  margin-right: 2em;
  background-color:#E5E5E5; 
}

table.form tr.header
{
  background-color:#C0C0C0; 
  font-weight: bold;
}	
	
table.form tr.header th,
table.form tr.header td
{
  padding-top: 0.5em;
  padding-bottom: 0.5em;	
}

table.form th, table.form td 
{
  text-align: left;
  font-size: 90%;
  padding-left: 1em;
  padding-right: 0.5em;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
}

table.form th
{
  font-weight: bold;
}

table.form td.spacer
{ 
  background-color: white; 
}

table#summary td.spacer2
{ 
  background-color: white;
  margin-top:1em;
  margin-bottom:1em;
  padding-top: 1em;
  padding-bottom:1em;
}

/* General divs for form buttons */
div.proceed 
{
  margin-top: 1em;
  margin-bottom: 1em;
  margin-right: 2em;
  text-align:right;
}

div.proceed-inline
{
  float: right;
  margin-right: 2em;
  text-align:right;
}

div.choose
{
  margin-top: 1em;
  margin-left: 1em;	
}

div.choose input
{
  margin-left: 1em;
}

/* Products page */
div.currency
{
  margin-top: 1em;
  margin-bottom: 1em;
  padding-left: 2em;
}

table#products td.product-name 
{
  border: solid 1px black;
}

table#products td.product-description 
{
  font-size: small;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-left: solid 1px black;
  border-right: solid 1px black;
  border-bottom: solid 1px black;
}

table#products td.product-description img
{
  float: right;
  padding-right: 1em;
  padding-left: 1em;  	
}

table#products td.purchase-details
{
  width: 20%;
  border-right: solid 1px black;
  border-bottom: solid 1px black;
  padding-right: 1em;
  padding-top: 1em;
  vertical-align: top;
  font-weight: bold;
  text-align: right;
}

table.form td.purchase-details
{
  padding: 1em;
  font-weight: bold;
  text-align: right;
}

table.form td.product-description img
{
  float: right;
  padding-right: 1em; 	
}

table.form td.currency-selection
{
  padding: 1em;
  font-weight: bold;
  text-align: right;
}

div.purchase-price
{
  font-size: 130%;
}

div.purchase-carrots
{
  margin-top: 0.5em;
  color: #ff9000;
  font-size: 100%;
}

div.purchase-select
{
  margin-top: 1em;
}

table#summary th.total
{
  text-align: right;
  font-size: 110%;
}

table#summary td.total
{
  text-align: right;
  font-size: 110%;
  font-weight: bold;
}

/* Redemption form */
div#redemption-form
{
  width: 70%;
}

div#redemption-form table
{
  width: 90%;
  border: solid 1px black;
  margin-bottom: 1em;
}

div#redemption-form table td, div#redemption-form table th
{
  padding: 0.5em;
  width: 50%;
  vertical-align: top;
}

div#redemption-form table th
{
  text-align: right;
  border-right: solid 1px black;	
}
	
/* Purchase summary */
table#summary
{ 
  border-top: solid 1px black;
  border-left: solid 1px black;
  margin-bottom: 1em;
}

table#summary th
{ 
  border-bottom: solid 1px black;
  border-right: solid 1px black;
  margin-right: 1em;
  padding-right:1em;
  text-align:left;
}

table#summary th.packageName
{
    text-align:left;
}



table#summary td
{ 
  border-bottom: solid 1px black;
  border-right: solid 1px black;
}

table#summary td.total
{ 
  text-align:right;
  font-weight: bold;
  padding-top: 1em;
  padding-bottom: 1em;
  padding-right: 1em;
}

div#payment-method
{ 
  margin-bottom: 2em;
  padding-left: 2em;
}

table#summary td.price
{
    text-align: right;
    margin-right: 2em;
    padding-right: 1em;
    
   
}
table#summary td.quantity
{
    text-align: right;
    margin-right: 2em;
    padding-right: 1em;
   
}

table#summary td.emailField
{
   text-align: center;
}

/* Frequently asked questions */
div#faq
{
  display: inline-block;  /* IE hack to give 'layout' so sizing works */
}

div#faq table.faq-two-column
{
  margin-left: 5%;
  margin-right: 5%;
  width: 90%;
}

div#faq table.faq-two-column td
{
   width: 50%;
   vertical-align: top;
}

div#faq table.faq-two-column td.left
{
   padding-right: 4em;
}

div#faq table.faq-two-column td.right
{
   border-left: 2px dotted #C0C0C0;  
   padding-left: 4em;
}

div#faq p.faqTOC img.bullet
{
  vertical-align: middle;	
}

div#faq p.faqTOC a
{
  color: #5f5f5f; 
}

div#faq p.faqTOC a:hover
{
  color: #FF9900; 
}

div.navbuttons
{
  text-align: center;
  margin-top: 1em;
}

div.backbutton
{
  display: inline;
  margin-right: 1em;
}

div.nextbutton
{
  display: inline;
  margin-top: 1em;
}

div.faqItem
{
  padding: 1em;
}

div.faqItem h2
{

}

p.faqDate, p.newsDate
{
  margin-top: 0.3em;
  margin-bottom: 0;
  font-size: 80%;
  border-bottom: 2px dotted #C0C0C0;  
  padding-bottom: 0.5em;
}

div.faqContent, div.newsContent
{
  padding-top: 1em;
}


div.faqContent span.first
{
  color: #FF9900; 
  font-size:170%;
}

div.faqContent div.q
{
  padding-top: 0.5em;  
}

div.faqContent div.a
{
  border-bottom: 2px dotted #C0C0C0;  
  padding-bottom: 1em;
}

div.faqContent div.note div.centerImage
{
padding: 10em;
  text-align: center;
}

div.faqContent img
{
  display: block;
  text-align: center;
  margin: 2em;
  background-color: white;
}

div.faqContent div.email
{
  font-family: monospace;
  color: black;
  padding-left: 2em;
  padding-right: 2em;
}

div#salesId
{

  float:left;
  width:40%;
  height:60px;
  padding:1em;
  border-top:solid 1px black;
  border-bottom: solid 1px black;
  border-left: solid 1px black;

  text-align:left;
  background-color:#faebda;
  color:black;
}

div#email
{
  padding:1em;
  border-top:solid 1px black;
  border-bottom: solid 1px black;
  height:60px;
  border-right: solid 1px black;
  border-left: solid 1px black;
  text-align:left;
  background-color:#faebda;
  color:black; 
}

div#instructions
{
float:left;
}

div#submit
{
 padding:1em;
    clear:both;
}

div.faqItem div.backbutton
{
  padding-top: 1em;
}

/* Struts errors */
div.error
{
  margin: 1em;
/*  max-width: 20em; */
}

p.error
{
  border: solid 2px red;
  padding: 0.3em;
  color: red;
}
/* Rounded corner box trickery */
DIV.box
{
  position: relative;
  min-width: 100px;
  z-index: 1;
  padding-left: 8px;
}

/* Default background for boxes */
div.box div.top,
div.box div.top div.left,
div.box div.bottom,
div.box div.bottom div.left
{
  background: #5F5F5F url(/carrot/images/grey-background-rounded.gif) no-repeat top right; 
}

/* Thin top stripe */
div.box div.top
{
  position: relative;  /* Become scope for left below */
  background-position: top right;
  width: 100%;
  height: 8px;
  z-index: -1;
  font-size: 1px;
}

div.box div.top div.left
{
  position: absolute;
  top: 0px;
  left: -8px;
  background-position: top left;
  width: 8px;
  height: 8px;
}

/* Bottom stripe, containing content */
div.box div.bottom
{
  position: relative;
  _height: 100%;  /* IE hack to fix bad containing height */
  background-position: bottom right;
  padding-bottom: 1px;  /* Avoid clipping leakage over antialiased bottom of box */
}

div.box div.bottom div.left
{
  position: absolute;
  top: 0px;
  left: -8px;
  background-position: bottom left;
  width: 8px;
  height: 100%;
   /* Evil IE6 hack */
  _height: expression(this.parentNode.offsetHeight + 'px');
}

/* Content - offset slightly to centre in box */
div.box div.bottom div.boxcontent
{
  position: relative;
  left: 0px;
  margin-right: 8px;
  z-index: 1;
}


span.comment { color: #0000FF; }


