/* 
Title:    Master styles for screen media
Author:   dan@simplebits.com
Contributors: aaron@easy-designs.net & mike@easy-designs.net
*/

html { 
  min-width: 790px;
  }
body {
  font-family: "Lucida Sans", "Lucida Grande", sans-serif;
  color: #333;
  font-size: 62.5%;
  min-width: 790px;
  background: #cbeafa url(/images/css/body-bg.gif) no-repeat 50% 0;
  }

/* links */

a:link, a:visited {
  color: #415e07;
  outline: none;
  }
a:hover {
  color: #690;
  }

/* page structure 
--------------------------------------------- */

#wrap {
  width: 700px;
  margin: 0 auto;
  padding: 20px 45px 0 45px;
  background: url(/images/css/page-bg.gif) repeat-y top left;
  }
#main {
  float: left;
  width: 437px;
  padding: 0 15px;
  }
#secondary {
  float: right;
  width: 210px;
  padding: 0 10px;
  }
#footer {
  width: 790px;
  margin: 0 auto;
  padding: 0; 
  background: #690 url(/images/css/footer-bg.gif) repeat-y top left;
  }

/* home page */

body#home #main {
  width: 467px;
  padding: 0;
  }

/* one col full-width */

body#full #wrap  {
  background-image: url(/images/css/page-bg-full.gif);
  }
body#full #main {
  width: 667px;
  }
body#full #footer-inner  {
  background-image: url(/images/css/footer-bg-top-full.gif);
  }

/* header 
--------------------------------------------- */

#header {
  position: relative;
  width: 700px;
  margin: 0 auto;
  padding: 0 45px;
  }

/* dash navs */

#dash {
  padding: 15px 0 5px 0;
  font-size: 1.2em;
  }
#dash-a {
  float: left;
  }
#dash-b {
  float: right;
  }
#dash ul li {
  float: left;
  margin: 0 10px 0 0;
  padding: 0 10px 0 0;
  background: url(/images/css/dash-pipe.gif) no-repeat 100% 50%;
  }
#dash ul li.last,
#dash ul li#cart {
  margin: 0;
  padding: 0;
  background: none;
  }
#dash ul li a:link,
#dash ul li a:visited {
  font-weight: bold;
  color: #294859;
  /*border-bottom: 1px solid #7798a9;*/
  }
#dash ul li a:hover {
  color: #599dc2;
  border-bottom-color: #599dc2;
  }
#dash ul li a.selected {
  padding: 2px 4px;
  text-decoration: none;
  color: #fff;
  background: #599dc2;
  }
#dash ul li#cart a {
  padding-left: 20px;
  background: url(/images/css/icon-cart.gif) no-repeat 0 50%;
  }

/* logo */

#logo {
  margin: 0 0 8px 0;
  text-align: center;
  }
#logo a,
#logo span {
  display: block;
  width: 280px;
  height: 98px;
  margin: 0 auto;
  background: url(/images/css/logo-gnu.png) no-repeat top left;
  }
#logo img {
  display: block;
  width: 0;
  }

/* search */

#search {
  position: absolute;
  bottom: 10px;
  right: 45px;
  }
#search-text {
  width: 120px;
  margin: 0 2px 0 0;
  padding: 3px;
  font-size: 1.1em;
  color: #666;
  }
#search input {
  }

/* bird graphic */

#bird {
  position: absolute;
  bottom: 0;
  left: 73px;
  }

/* main nav
--------------------------------------------- */

#nav {
  width: 700px;
  height: 42px;
  margin: 0 auto;
  padding: 0 45px;
  overflow: hidden;
  }
#nav li {
  display: inline;
  }
#nav a {
  float: left;
  padding: 42px 0 0 0;
  overflow: hidden;
  height: 0px !important; 
  }
#nav a:hover {
  background-position: 0 -84px;
  }
#nav a:active, 
#nav li.selected a:link, 
#nav li.selected a:visited {
  background-position: 0 -42px;
  }
#nav li#t-shop a {
  width: 102px;
  background-image: url(/images/css/tab-shop.gif);
  }
#nav li#t-jofc a {
  width: 209px;
  background-image: url(/images/css/tab-jofc.gif);
  }
#nav li#t-stories a {
  width: 120px;
  background-image: url(/images/css/tab-stories.gif);
  }
#nav li#t-fiber a {
  width: 154px;
  background-image: url(/images/css/tab-fiber.gif);
  }
#nav li#t-about a {
  width: 115px;
  background-image: url(/images/css/tab-about.gif);
  }

/* sub nav */

#subnav {
  width: 670px;
  margin: 0 auto;
  padding: 10px 15px;
  background: #415e07;
  overflow: hidden;
  }
#subnav li {
  float: left;
  margin: 0 10px 0 0;
  padding: 0 12px 0 0;
  font-size: 1.2em;
  background: url(/images/css/subnav-pipe.gif) no-repeat 100% 50%;
  }
#subnav li.last {
  background: none;
  }
#subnav li a {
  color: #fff;
  }
#subnav li a:hover {
  color: #d4eba3;
  }
#subnav li strong a, #subnav li strong {
  text-decoration: none;
  color: #fff;
  }

/* cart steps top */

ol#cart-steps {
  width: 660px;
  margin: 0 auto;
  padding: 15px 20px;
  overflow: hidden;
  background: #85ad33 url(/images/css/cart-steps-bg.gif) no-repeat top left;
  }
ol#cart-steps li {
  float: left;
  margin: 0 20px 0 0;
  font-size: 1.4em;
  color: #324709;
  }
ol#cart-steps li.selected {
  color: #fff;
  }
  
/* Cart messaging */
div#message {
  font-size: 1.2em;
  margin: -20px -18px 10px -15px;
  padding: 10px;
  }
div#message.success {
  background: #d4eba3;
  color: #415e07;
  }
div#message.failure {
  background: #bc4e1e;
  color: #fff;
  }
button {
  cursor: pointer;
  }
a.button,
button.image {
  border: 0 solid;
  background: transparent;
  display: inline;
  margin: 0;
  padding: 0;
  overflow: visible;
  }
a.button img,
button.image img {
  vertical-align: text-bottom;
  display: inline;
  position: relative;
  z-index: 1;
  }
button.link {
  background: transparent;
  border-width: 0;
  color: #415e07;
  font-size: 1em;
  display: inline;
  margin: 0;
  padding: 0;
  text-decoration: underline;
  }
button.link:hover {
  color: #690;
  }
form.cart input.quantity {
  width: 2em;
  }
form.cart span.jofc-mix {
  font-weight: normal;
}

/* main styles 
--------------------------------------------- */

h1, h1 a { /* sIFR */
  margin: 0 0 6px 0;
  padding: 0;
  font-family: Georgia, serif;
  font-size: 2.8em;
  line-height: 1em;
  font-weight: normal;
  color: #783f06;
  border-bottom: 1px solid #ccc;
  }
h1.img {
  margin: 0 0 15px 0;
  border: none;  
  }
body#confirm h1 {
  margin-bottom: 15px;
  }
div.content {
  font-size: 1.2em;
  line-height: 1.5em;
  }
div.content p {
  margin: 0 0 15px 0;
  }

/* alert box */

div.alert {
  margin: 20px 0;
  font-size: 1.4em;
  line-height: 1.4em;
  text-align: left;
  background: #ecd4d4;
  }
div.alert h2 {
  margin: 0;
  padding: 8px;
  text-align: center;
  color: #fff;
  background: #900;
  }
div.alert ol {
  margin: 0 0 0 24px;
  padding: 8px;
  list-style: decimal;
  
  }
div.alert ol li {
  font-size: .9em;
  list-style: decimal;
  color: #900;
  }

/* main feature */

div.main-feature {
  margin: 0 0 5px 0;
  padding: 0 15px;
  font-size: 1.2em;
  line-height: 1.4em;
  color: #4d3722;
  }
div.main-feature img.main-product {
  float: left;
  margin: 0 0 0 -26px;
  display: inline;
  }
div.main-feature h1 { /* sIFR */
  margin: 0 0 6px 228px;
  font-family: Georgia, serif;
  font-size: 2.2em;
  line-height: 1em;
  font-weight: normal;
  color: #783f06;
  border: none;
  }
div.main-feature h1 strong#query { /* sIFR */
  color: red;
  }
div.main-feature p {
  margin: 0 0 10px 228px;
  }
div.main-feature p.action {
  margin-bottom: 0;
  }

/* full-width promo */

h2.promo {
  margin: 0 0 25px 0;
  }

/* two col structure */
body#home div.double {
  padding: 0 15px;
  }
div.double-1 {
  float: left;
  clear: left;
  width: 205px;
  }
div.double-2 {
  float: right;
  width: 210px;
  }
div.double h3 { /* sIFR */
  margin: 0 0 10px 0;
  padding: 0;
  font-family: Georgia, serif;
  font-size: 1.6em;
  line-height: 1em;
  font-weight: normal;
  color: #783f06;
  border-bottom: 1px solid #ccc;
  }
div.double h3.alt {
  margin: 0;
  text-transform: uppercase;
  border: none;
  }
div.h { /* required for sIFR-ized heading with "See all" link snug next to it */
  margin: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
  }
div.h h3 {
  float: left;
  margin: 0;
  border: none;
  }
div.h span.see-all {
  float: right;
  font-family: "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
  font-size: 0.9em;
  font-weight: normal;
  line-height: 23px;
  text-transform: none;
  color: #666;
  }
div.h span.see-all a {
  color: #666;
  }
div.h span.see-all a:hover {
  color: #333;
  }

/* teaser lists */

ol.lst li {
  font-size: 1.1em;
  line-height: 1.4em;
  }
body#ask ol.lst { list-style-type: none; }

ol.lst li h4 {
  margin: 0 0 5px 0;
  font-size: 1.3em;
  line-height: 1.4em;
  }
ol.lst li p {
  margin: 0 0 12px 0;
  }
ol.lst li img.thumb {
  float: left;
  margin: 2px 10px 10px 0;
  border: 1px solid #ccc;
  }
ol.lst li a.comments {
  display: block;
  margin: 5px 0 12px 0;
  padding: 0 0 0 17px;
  background: url(/images/css/icon-comments.gif) no-repeat 0 50%;
  }

/* product list
 	EDIT: Hessling, 11 August 2008 
	Also used for What We're Reading list */


ol.prod-lst {
  margin: 0 0 25px 0;
  }
ol.prod-lst li {
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
  overflow: hidden;
  }
ol.prod-lst li h2 img, ol.prod-lst li h4 img {
  float: left;
  }
ol.prod-lst li h2 strong, ol.prod-lst li h4 strong {
  display: block;
  margin: 0 0 0 229px;
  padding: 6px 0 0 0;
  font-size: 1.4em;
  }
ol.prod-lst li p {
  margin: 4px 0 10px 228px;
  font-size: 1.1em;
  line-height: 1.5em;
  }

.book { clear: both; margin-bottom: 10px; }

/* highlights check list */

div.highlights ol li {
  padding: 4px 0 4px 21px;
  font-size: 1.1em;
  line-height: 1.5em;
  background: url(/images/css/icon-check.gif) no-repeat 0 5px;
  }

/* product detail 
--------------------------------------------- */

div.product {
  margin: 10px 0;
  }
div.product img.product-img {
  float: left;
  }
div.product-copy {
  margin: 0 0 0 228px;
  font-size: 1.3em;
  line-height: 1.4em;
  }

/* add to cart table */

form.add-cart {
  margin: 0 0 20px 0;
  border-top: 1px solid #ccc;
  }

table.add-cart {
  margin: 5px 7px;
  border-collapse: collapse;
  }
table.add-cart th,
table.add-cart td {
  padding: 3px;
  font-size: 1.1em;
  text-align: left;
  }
table.add-cart th {
  white-space: nowrap;
  }
table.add-cart td.num {
  padding: 3px 30px;
  text-align: right;
  }
table.add-cart td.price {
  font-size: 1.3em;
  color: #900;
  }
table.add-cart td.save {
  font-size: 1em;
  color: #900;
  }
div.add-cart-btn {
  margin: 5px 0 0 0;
  padding: 8px 0 0 10px;
  border-top: 1px solid #ccc;
  }

/* flavors mini nav */

ol.flavors {
  margin: 0 0 20px 0;
  padding: 4px;
  border: 1px solid #ccc;
  }
ol.flavors li {
  padding: 6px;
  line-height: 2em;
  overflow: hidden;
  }
ol.flavors li img {
  float: left;
  margin: 0 8px 0 0;
  }
ol.flavors li.selected {
  padding: 5px;
  border: 1px solid #690;
  background: #f2f9e3;
  }

/* generic copy */

div.product-meta p {
  margin: 0 0 10px 0;
  font-size: 1.2em;
  line-height: 1.6em;
  }

/* 
nutrition information table 
xhtml + css template base: http://www.jonathoncihlar.com/index.php?Post=nutritiontemplate
*/

div.nutrition {
  margin: 0 0 20px 0;
  padding: 0 8px;
  border: 1px solid #999;
  }
table.nutrition {
  width: 194px;
  border-collapse: collapse;

}
.nutrition caption {
  display: none;
}
.nutrition tr#calories td {
  border-bottom: 4px solid black;
}
.nutrition tr#servings td {
  border-bottom: 6px solid black; 
}
.nutrition tr#minerals td {
  border-top: 4px solid black;
}
.nutrition th {
  background-color: transparent;
  padding: 3px 0;
  border: 0;
  font-family: Verdana, Arial;
  font-size: 16px;
  font-weight: bolder;
  text-align: left;
} 
.nutrition td {
  padding: 3px 0;
  font-family: Verdana, Arial;
  font-size : 10px;
  border: 0;
  border-bottom: 1px solid black;
  text-align: left;
  
}
.nutrition td#dailyval {
  white-space: nowrap;
  }
.nutrition td.dv {
  font-weight: bold;
  text-align: right;
}
.nutrition td.sub {
  text-indent: 10px;
  white-space: nowrap;
}
.nutrition td.sub2 {
  text-indent: 20px;
}
.nutrition td.alt {
  border: none;
  }
.nutrition td#disclaimer {
  font-size: 9px;
  border: none;
}
.nutrition strong {
  font-weight: bolder;
}

/* story detail / general content 
--------------------------------------------- */

/* article tools */

ul.tools {
  margin: 0 0 15px 0;
  }
ul.tools li {
  display: inline;
  margin: 0 15px 0 0;
  }
ul.tools li a {
  padding: 3px 0 3px 20px;
  color: #666;
  }
ul.tools li.print a {
  background: url(/images/css/icon-print.gif) no-repeat 0 50%;
  }
ul.tools li.send a {
  background: url(/images/css/icon-email.gif) no-repeat 0 50%;
  }
ul.tools li a:hover {
  color: #333;
  }
ul.tools li.screen { display: none; }

/* byline */

div.byline {
  margin: 15px 0;
  font-size: 1.2em;
  line-height: 1.5em;
  }
div.byline h2 {
  font-weight: normal;
  color: #666;
  }
div.byline h2 span.date, div.byline h2 span.feature {
  text-transform: uppercase;
  }

/* story body */

div.story-body {
  font-size: 1.2em;
  line-height: 1.5em;
  }
div.story-body p {
  margin: 0 0 15px 0;
  }
div.story-body h3,
h3.sub { /* sIFR */
  margin: 0 0 10px 0;
  padding: 0;
  font-family: Georgia, serif;
  font-size: 1.6em;
  line-height: 1em;
  font-weight: normal;
  color: #783f06;
  border-bottom: 1px solid #ccc;
  }
div.story-body img.thumb {
  float: left;
  margin: 0 15px 5px 0;
  }
div.story-body img.thumb-alt {
	float: right;
	margin: 0 0 5px 15px;
	}
	
/* similar to comments (below)
  but for category stories 
  ADDED MEH: 05 August 2008 */
  
div.story-cat h3 { /* sIFR */
  margin: 10px 0 0;
  padding: 0;
  font-family: Georgia, serif;
  font-size: 1.6em;
  line-height: 1em;
  font-weight: normal;
  color: #783f06;
  }
div.story-cat p.category {
  font-size: 1.6em;
  }

div.story-cat span.post-link {
  float: right;
  line-height: 1.4em;
  text-transform: none;
  padding: 0 0 5px;
}
div.byline {
  margin: 0 0 15px;
  font-size: 1.2em;
  line-height: 1.5em;
  }
/* div.byline a { color: #fee; } */


/* comments */

div.story-comments h3 { /* sIFR */
  margin: 0 0 10px 0;
  padding: 0;
  font-family: Georgia, serif;
  font-size: 1.6em;
  line-height: 1em;
  font-weight: normal;
  color: #783f06;
  border-bottom: 1px solid #ccc;
  }
div.story-comments div.h { /* required for sIFR-ized heading with "See all" link snug next to it */
  margin: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
  }
body#stories div.story-comments div.h {
	border-bottom: 0;
}
div.story-comments div.h h3 {
  float: left;
  margin: 0;
  border: none;
  }
div.story-comments div.h span.post-link {
  float: right;
  font-size: 1.2em;
  line-height: 1.4em;
  text-transform: none;
  margin: 0 0 5px;
  }
div.story-comments ol {
  margin: 15px 0 0 0;
  }
div.story-comments ol li {
  margin: 0 0 20px 0;
  font-size: 1.1em;
  line-height: 1.5em;
  }
div.story-comments ol li h4 {
  margin: 0 0 3px 0;
  font-weight: normal;
  color: #666;
  }
div.story-comments ol li h4 span.date {
  padding: 0 0 0 18px;
  text-transform: uppercase;
  background: url(/images/css/icon-comment.gif) no-repeat 0 2px;
  }
div.story-comments ol li img {
  float: left;
  margin: 0 10px 0 0;
  }
div.story-comments ol li p {
  margin-left: 58px;
  }
body#user div.story-comments ol li p {
  margin-left: 0;
  }
form#comment_form {
  margin: 15px 0 0 0;
  font-size: 1.2em
  }
form#comment_form label {
  float: left;
  margin: 5px 0 0 0;
  }
form#comment_form textarea {
  float: right;
  width: 300px;
  height: 100px;
  border: 1px solid #666;
  }
form#comment_form fieldset#post-comment-btn {
  margin: 10px 0 0 135px;
  }
  
form#comment_form label.check {
  float: none;
  width: auto;
  margin: 0;
  font-size: 1.1em;
  }

/* story list */

ul.story-lst {
  margin: 0 0 15px 0;
  }
ul.story-lst li {
  margin: 0 0 5px 0;
  font-size: 1.1em;
  line-height: 1.4em;
  }

/* compare us
--------------------------------------------- */

/* TabInterface styles */
.tabbed-on {
  padding: 3em 0 0;
  position: relative;
}
.tabbed-on .hidden {
  position: absolute;
  left: -999em;
}
.tabbed-on .folder {
  width: 667px;
  position: absolute;
  top: 0;
  left: -999em;
}
.tabbed-on .folder.visible {
  position: static;
}
ul.tab-list {
 border-bottom: 10px solid #415e07;
  margin: 0;
  padding: 0;
  position: absolute;
  top: -.5em;
  left: 0;
  right: 0;
  }
ul.tab-list li {
  float: left;
  margin: 0 3px 0 0;
  font-size: 1.2em;
  background: #85ad33 url(/images/css/tabs-l.gif) no-repeat top left;
  }
ul.tab-list li span {
  display: block;
  float: left;
  padding: 5px 10px;
  text-decoration: none;
  color: #333;
  background: url(/images/css/tabs-r.gif) no-repeat top right;
  }
ul.tab-list li span:hover {
  color: #fff;
  }
ul.tab-list li.active-tab {
  background: #415e07 url(/images/css/tabs-on-l.gif) no-repeat top left;
  }
ul.tab-list li.active-tab span {
  color: #fff;
  background: url(/images/css/tabs-on-r.gif) no-repeat top right;
  }

/* table */

table.compare {
  width: 100%;
  border-collapse: collapse;
  }
table.compare .gnu {
  width: 85px;
  font-weight: bold;
  background-color: #e0fba7;
  }
table.compare th {
  padding: 5px;
  font-size: 1.1em;
  text-align: left;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  }
table.compare .last {
  border-right: none;
  }
table.compare th em {
  display: block;
  font-weight: normal;
  }
table.compare th.section {
  padding: 10px 0 0 10px;
  line-height: 1em;
  border-bottom: 2px solid #666;
  }
table.compare td {
  padding: 5px;
  font-size: 1.1em;
  text-align: center;
  vertical-align: top;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  }
table.compare td.desc { 
  width: 180px;
  padding: 5px 10px;
  text-align: left;
  }
table.compare td span.icons {
  display: block;
  margin: 5px 0 0 0;
  text-align: center;
  }
table.compare td span.icons img {
  }

/* note class */

p.note {
  margin: 10px;
  font-style: italic;
  font-size: 1.1em;
  color: #666;
  }
p.alt {
  margin-left: 0;
  }

/* profile
--------------------------------------------- */

ul.profile-details {
  margin: 10px 0 15px 0;
  }
ul.profile-details li {
  margin: 0 0 4px 0;
  font-size: 1.2em;
  }
ul.profile-details li.avatar {
  margin: 0;
  }
img.profile-photo {
  float: left;
  margin: 6px 12px 0 0;
  }

/* story lists */

ol.profile {
  margin: 0 0 25px 18px;
  }
ol.profile li h4 {
  font-size: 1.1em;
  }
ol.profile li h5 {
  margin: 0 0 3px 0;
  font-size: .9em;
  font-weight: normal;
  color: #666;
  }
ol.profile li h5 span.date {
  padding: 0;
  text-transform: uppercase;
  background: none;
  }
ol.profile li a.comments {
  display: inline;
  margin: 5px 0 0 0;
  padding: 0 0 0 17px;
  background: url(/images/css/icon-comments.gif) no-repeat 0 50%;
  }

/* commments override */

body#profile div.story-comments ol li p {
  margin-left: 18px;
  font-size: 1.1em;
  line-height: 1.4em;
  }

/* cart styles 
--------------------------------------------- */

div.address, div.cc {
  margin: 10px 0 25px 0;
  padding: 0 0 10px;
  border-bottom: 1px solid #ccc;
  }
div.cc {
  width: 300px;
}
div.address h2, div.cc h2 {
  font-size: 1.1em;
  line-height: 1.7em;
  text-transform: uppercase;
  }
div.address h2 span, div.cc h2 span {
  font-weight: normal;
  text-transform: none;
  }
div.address address,
div.cc div.credit-card {
  font-size: 1.1em;
  font-style: normal;
  line-height: 1.5em;
  }
div.address div.btn,
div.cc div.btn {
  margin: 10px 0 0 0;
  }

div.h span.note {
  float: right;
  margin: 4px 0 0 0;
  }

/* form */

form.form, form#tell-friend, form#mailinglist_form, form#entryform, form.checkout {
  margin: 15px 0 0 0;
  }
form.form fieldset, form#tell-friend fieldset, form#tellafriend_form fieldset, form#mailinglist_form fieldset, form#entryform fieldset, fieldset.form, form.checkout li {
  margin: 0 0 15px 0;
  overflow: hidden;
  }
form.checkout li {
  clear: both;
}
form.form label, form#tell-friend label, form#tellafriend_form label, form#mailinglist_form label, form#entryform label, label.form, form.checkout label {
  float: left;
  width: 150px;
  margin: 0 10px;
  font-size: 1.1em;
  text-align: right;
  /*border: red solid 1px;*/
  }
form.checkout label {
  clear: both;
}
form.checkout p {
  margin: 0 0 15px;
}
form.checkout li.verify {
  margin-bottom: 0;
}
form.checkout li.verify label {
  width: auto;
  margin: 0 0 5px 0;
}
form.form label.check, form#tell-friend label.check, form#tellafriend_form label.check, form#mailinglist_form label.check, form#entryform label.check, label.check {
  float: none;
  width: auto;
  margin: 0;
  font-size: 1.1em;
  }
form.form input.form-text, form#tell-friend input.form-text, form#tellafriend_form input.form-text, form#mailinglist_form input.form-text, form#entryform input.form-text, input.form, form.checkout .form-text {
  width: 300px;
  font-size: 1.2em;
  }
form.form textarea, form#tell-friend textarea, form#tellafriend_form textarea, form#mailinglist_form textarea, form#entryform textarea, textarea.form {
  width: 300px;
  height: 100px;
  font-family: "Lucida Sans", "Lucida Grande", sans-serif;
  font-size: 1.2em;
  }
form.form fieldset p, form#tell-friend fieldset p, form#tellafriend_form fieldset p, form#mailinglist_form fieldset p, form#entryform fieldset p, p.form, form.checkout li em {
  font-style: normal;
  display: block;
  margin: 3px 0 0 120px;
  }
form.form div.finish, form#tell-friend div.finish, form#tellafriend_form div.finish, form#mailinglist_form div.finish, form#entryform div.finish, form.checkout div.finish {
  padding: 10px 0 0 120px;
  border-top: 1px solid #ccc;
  }
form.form fieldset.alert, fieldset.alert {
  padding: 5px 0;
  background: #ecd4d4;
  }
form.form fieldset.alert label {
  font-weight: bold;
  color: #900;
  }
form.checkout a.ref {
  color: inherit;
  text-decoration: none;
}
form.checkout .finish em {
  margin: 3px 0 10px 0;
}
fieldset.date, fieldset.radio { position: relative; margin-left: 120px; }
fieldset.date legend span, fieldset.radio legend span { position: absolute; top: 0; left: -110px; }
fieldset.date ol { display: inline; }
fieldset.date li { display: inline; clear: none; }
fieldset.date label { position: absolute; left: -999em; }
fieldset.radio label { width: auto; padding-left: 2em; position: relative; margin-left: 0; }
fieldset.radio label input { position: absolute; left: 0; }

form#entryform p.instructions {
  padding: 0 0 15px;
}

/* Tell a Friend Thank you View */
#tellfriend {
	border: 2px solid #ccc;
	}

#tellfriend .message {
	font-weight: bold;
	font-size: 1.1em; 
	}
 
/* BUTTONS */
  
button.continue {
  background: url("/images/css/btn-continue.gif") no-repeat;
  width: 90px; height: 22px;
  border: 0 none;
  cursor: pointer;
  text-indent: -2000px;
  }

button.go {
  background: url("/images/css/btn-go.gif") no-repeat;
  width: 38px; height: 22px;
  border: 0 none;
  margin: 5px 0 0;
  cursor: pointer;
  text-indent: -2000px;
  }
button.footer {
  background: url("/images/css/btn-go-footer.gif") no-repeat;
  width: 36px;
}

#locator-form span.hint {
  display: block;
  margin: 5px 0 0 121px;
  }
#locator-results .extended-address {
  display: block;
  }
#locator-results dt,
#locator-results dd {
  display: inline;
  }
#locator-results dt {
  font-weight: bold;
  }
#locator-results dt:after {
  content: ": ";
  }

/* shopping cart contents table */

form.cart {
  margin: 0 0 20px 0;
  }
table.cart {
  width: 100%;
  border-collapse: collapse;
  }
table.confirm {
  margin-bottom: 25px;
  }
table.cart th,
table.cart td {
  padding: 5px 10px 5px 5px;
  font-size: 1.1em;
  text-align: left;
  border-bottom: 1px solid #ccc;
  }
table.cart thead th {
  border-bottom: 2px solid #ccc;
  font-size: 1.2em;
  }
table.cart thead th.num {
  text-align: right;
  }
table.cart td.num {
  padding: 5px 5px 5px 30px;
  text-align: right;
  }
table.cart td.price,
span.num {
  font-size: 1.3em;
  color: #900;
  }
table.cart tr.last td {
  border: none;
  }
table.cart .remember-to-update {
  background: #fff url(/images/css/arrow.gif) top left no-repeat;
  padding: 10px 0 10px 50px;
  }
div.shipping {
  padding: 5px 0;
  font-size: 1.1em;
  line-height: 1.5em;
  text-align: right;
  }
div.shipping em {
  color: #666;
  }
fieldset#apply-coupons input#coupons {
  width: 250px;
  }
fieldset#apply-coupons label {
  display: block;
  margin: 5px 0 0 0;
  font-size: 1.1em;
  line-height: 1.5em;
  }
div.cart-btn {
  margin: 5px 0 0 0;
  padding: 8px 0 0 0;
  font-size: 1.1em;
  border-top: 2px solid #ccc;
  }
div.cart-btn input {
  margin: 0 4px 0 0;
  vertical-align: middle;
  }
address.cart-address {
  margin: 0 0 25px 0;
  font-size: 1.3em;
  line-height: 1.5em;
  font-style: normal;
  }
ul.cart-options {
  margin: 0 0 25px 0;
  }
ul.cart-options li {
  margin: 0 0 5px 0;
  font-size: 1.1em;
  }
p.gift-message {
  margin: 10px 0;
  font-size: 1.1em;
  line-height: 1.5em;
  }
p.cc {
  margin: 0 0 25px 0;
  font-size: 1.1em;
  line-height: 1.5em;
  }

/* sidebar cart styles */

table.order {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  }
table.order th,
table.order td {
  padding: 5px;
  font-size: 1.1em;
  }
table.order th {
  text-align: left;
  font-weight: normal;
  }
table.order tr td {
  text-align: right;
  }
table.order tr.total th {
  font-size: 1.3em;
  font-weight: bold;
  border-top: 1px solid #ccc;
  }
table.order tr.total td {
  white-space: nowrap;
  font-size: 1.3em;
  font-weight: bold;
  color: #900;
  border-top: 1px solid #ccc;
  }
table.order tr.last td,
table.order tr.last th {
  padding-top: 0;
  border: none;
  }
table.order tr.total td em {
  display: block;
  font-size: .8em;
  font-style: normal;
  }
strong.coupon-code {
  font-size: 1.1em;
  }

/* tell a friend styles 
--------------------------------------------- */

ol.choose {
  clear: both;
  margin: 10px 0 25px 0;
  }
div.double-1 ol.choose, div.double-2 ol.choose {
  clear: none;
  width: 217px;
  margin: 10px 0;
  }
ol.choose li {
  margin: 0 0 10px 0;
  padding: 15px;
  text-align: center;
  background: #fbfac0;
  }
ol.choose li label {
  float: none;
  width: auto;
  display: block;
  margin: 4px 0 0 0;
  padding: 0;
  font-size: 1.3em;
  font-weight: bold;
  }
p.action {
  margin: 20px 0;
  }
p.action img {
  margin: 0 5px 0 0;
  vertical-align: middle;
  }
div.card-preview {
  margin: 15px 0;
  text-align: center;
  }
div.card-preview img.card {
  padding: 5px;
  border: 1px solid #ddd;
  }
div.card-preview p.card-message {
  width: 432px;
  margin: 10px auto;
  font-size: 1.2em;
  line-height: 1.5em;
  text-align: left;
  }

/* search results
--------------------------------------------- */

div.results-dash {
  margin: 15px 0 15px 0;
  padding: 0 0 5px 0;
  border-bottom: 2px solid #ccc;
  }
div.bottom {
  border: none;
  }
div.results-dash h2 {
  float: left;
  font-size: 1.2em;
  font-weight: normal;
  }
div.results-dash p {
  float: right;
  font-size: 1.1em;
  }
div.results-dash p a {
  margin: 0 2px;
  }
div.results-dash p strong {
  padding: 2px 5px;
  color: #fff;
  background: #690;
  }
ol.results {
  margin: 20px 0;
  }
ol.results li {
  margin: 0 0 15px 20px;
  padding: 0 0 15px 0;
  list-style: decimal;
  border-bottom: 1px solid #ccc;
  }
ol.results li h3 {
  margin: 0 0 5px 0;
  font-size: 1.3em;
  line-height: 1.4em;
  } 
ol.results li p {
  font-size: 1.1em;
  line-height: 1.4em;
  }
ol.results li img.prod {
  float: left;
  margin: 4px 12px 0 0;
  }
ol.results li p.wprod {
  margin-left: 112px;
  }
  
/* microformats for search results 
--------------------------------------------- */
.vcard .distance {
  font-style: italic;
}
.vcard .street-address {
  display: block;
}


/* secondary styles 
--------------------------------------------- */

#secondary h3 {
  margin: 20px 0 6px 0;
  padding: 0;
  font-family: Georgia, serif;
  font-size: 1.2em;
  text-transform: uppercase;
  color: #00396d;
  border-bottom: 1px solid #ccc;
  }
#secondary div.h { /* required for sIFR-ized heading with "See all" link snug next to it */
  margin: 20px 0 6px 0;
  border-bottom: 1px solid #ccc;
  }
#secondary div.first,
#secondary h3.first {
  margin-top: 0;
  }
#secondary div.h h3 {
  float: left;
  margin: 0;
  border: none;
  }
#secondary div.h span.see-all {
  float: right;
  font-family: "Lucida Sans", "Lucida Grande", Verdana, sans-serif;
  font-size: 0.9em;
  font-weight: normal;
  line-height: 16px;
  text-transform: none;
  color: #666;
  }
#secondary div.h span.see-all a {
  color: #666;
  }
#secondary div.h span.see-all a:hover {
  color: #333;
  }
#secondary p {
  margin: 0 0 12px 0;
  font-size: 1.1em;
  line-height: 1.4em;
  }
#secondary p.alt {
  margin-bottom: 0;
  }

/* promos and figures */

#secondary div.figure {
  margin: 0 0 10px 0;
  }
#secondary img.thumb,
#secondary #secure a img {
  float: left;
  margin: 2px 10px 10px 0;
  }

/* press clip */

div.press-clip img {
  float: left;
  margin: 5px 10px 10px 0;
  border: 1px solid #ccc;
  }
div.press-clip blockquote {
  font-family: Georgia, serif;
  font-style: italic;
  color: #369;
  }
#secondary div.press-clip blockquote p, div.press-clip blockquote p {
  font-size: 1.4em;
  line-height: 1.3em;
  }
div.press-clip ul {
  margin: 0 0 0 25px;
  list-style: disc;
  }
div.press-clip ul li {
  margin: 0 0 5px 0;
  line-height: 1.5em;
  }

/* adjust font-size when lst in sidebar */

#secondary ol.lst li {
  font-size: 1em;
  line-height: 1.4em;
  }

/* find store form */

#find-store input {
  }
#find-store input#find-store-text {
  width: 100px;
  color: #666;
  }
  
/* jofc 
--------------------------------------------- */

ol.jofc-lst li {
  width: 435px;
  margin: 0 0 10px 0;
  font-size: 1.1em;
  line-height: 1.5em;
  background: #dcf4a6 url(/images/css/jofc-li-bottom.gif) no-repeat bottom left;
  }
ol.jofc-lst li div.inner {
  padding: 10px;
  background: url(/images/css/jofc-li-top.gif) no-repeat top left;
  }
ol.jofc-lst div.inner address,
ol.jofc-lst div.inner .credit-card {
  font-size: inherit;
  font-style: normal;
  margin: 10px;
  }
ol.jofc-lst li:target {
  color: #fff;
  background: #690 url(/images/css/jofc-alert-bottom.gif) no-repeat bottom left;
  }
ol.jofc-lst li:target div.inner {
  background: url(/images/css/jofc-alert-top.gif) no-repeat top left;
  }
ol.jofc-lst li:target a {
  color: #cf9;
  }
ol.jofc-lst li:target a:hover {
  color: #fff;
  }
p.jof-total {
  margin: 10px 0;
  font-size: 1.1em;
  }
ol.messages {
  margin: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
  }
ol.messages li {
  font-size: 1.3em;
  color: #333;
  background: #fbfac0 url(/images/css/jofc-goal-bottom.gif) no-repeat bottom left;
  }
ol.messages li div.inner {
  background: url(/images/css/jofc-goal-top.gif) no-repeat top left;
  }
ol.messages li.alert {
  color: #fff;
  background: #690 url(/images/css/jofc-alert-bottom.gif) no-repeat bottom left;
  }
ol.messages li.alert div.inner {
  background: url(/images/css/jofc-alert-top.gif) no-repeat top left;
  }
ol.messages li.alert a {
  color: #cf9;
  }
ol.messages li.alert a:hover {
  color: #fff;
  }
ol.messages li img.goal-star {
  float: left;
  margin: 3px 5px 5px 0;
  }
ol.jofc-lst li li {
  background: transparent;
}

/* form fields */

ol.jofc-lst li fieldset {
  margin: 6px 0 0 0;
  }
ol.jofc-lst li fieldset label.radio {
  display: block;
  margin: 0 0 5px 0;
  }
ol.jofc-lst li fieldset label.check {
  display: block;
  margin: 0 0 5px 0;
  }
ol.jofc-lst li fieldset input.form-text {
  width: 70%;
  font-size: 1.2em;
  }

/* footer 
--------------------------------------------- */

#footer-inner {
  position: relative;
  background: url(/images/css/footer-bg-top.gif) no-repeat top left;
  }
#footer.alt-1 #footer-inner { /* chocolate */
  background-image: url(/images/css/footer-bg-top-choc.gif);
  }
#footer.alt-2 #footer-inner { /* banana walnut */
  background-image: url(/images/css/footer-bg-top-ban.gif);
  }
#footer.alt-3 #footer-inner { /* orange cranberry */
  background-image: url(/images/css/footer-bg-top-ora.gif);
  }
#footer-content {
  padding: 108px 60px 54px 60px;
  font-size: 1.1em;
  color: #fff;
  background: url(/images/css/footer-bg-bottom.gif) no-repeat bottom left;
  }

/* linked gnu */

#gnu a:link,
#gnu a:visited {
  position: absolute;
  top: 0;
  right: 32px;
  display: block;
  width: 107px;
  height: 223px;
  background: url(/images/css/gnu.gif) no-repeat top left;
  }
#gnu a:hover {
  background-position: 0 -223px;
  }
#gnu img {
  height: 0;
  }

/* 3 columns */ 

#footer-a {
  float: left;
  width: 186px; 
  margin: 0 0 15px 0;
  padding: 0 15px 0 0;
  }
#footer-b {
  float: left;
  width: 165px;
  margin: 0 0 15px 0;
  padding: 0 15px 0 0;
  }
#footer-c {
  float: left;
  width: 150px;
  margin: 0 0 15px 15px;
  }

/* global rules */

#footer a {
  color: #cf9;
  }
#footer a:hover {
  color: #fff;
  }
#footer h4 {
  margin: 0 0 5px 0;
  text-transform: uppercase;
  color: #333;
  }
#footer p {
  line-height: 1.5em;
  }
#footer ul li {
  margin: 0 0 5px 0;
  padding: 0 0 0 10px;
  line-height: 1.4em;
  background: url(/images/css/footer-bullet.gif) no-repeat 0 6px;
  }

/* copyright row */

#footer p#copyright {
  clear: left;
  color: #333;
  padding: 10px 0 5px 0;
  border-top: 1px solid #517901;
  }
#footer p#copyright a {
  margin: 0 5px;
  }

/* where to buy form */

#buy input {
  }
#buy input#buy-text {
  width: 85px;
  margin: 0 1px 0 0;
  padding: 2px;
  color: #666;
  }

/* misc. 
--------------------------------------------- */

hr, .hide {
  display: none;
  }
a img {
  border: none;
  }
del {
  text-decoration: line-through;
  }
ins {
  font-weight: bold;
  text-decoration: none;
}
div.story-body ul,
div.story-body ol {
  margin: 0 0 15px;
  }
div.story-body ul {
  list-style-type: disc;
  }
div.story-body ul ul {
  list-style-type: circle;
  }
div.story-body ol {
  list-style-type: decimal;
  }
div.story-body ol ol {
  list-style-type: lower-alpha;
  }
div.story-body li {
  list-style-type: inherit;
  margin-left: 15px;
  }
div.story-body ol li {
  margin-left: 1.6em;
  }


/* self-clear floats */

.group:after {
  content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
    }
    

/* Form errors
--------------------------------------------- */
li.error label, fieldset.error legend { color: #8d0000; font-weight: bold; }
li.error input, li.error select, li.error textarea { color: #f00; border-color: #f00; background-color: #ffcfd1; }

/* Messager styles
--------------------------------------------- */
#MessagerJS_message {
  border: 10px solid;
  padding: 20px;
  text-align: center;
  position: fixed;
  left: 50%;
  width: 300px;
  margin-left: -150px;
  top: 50%;
  /* height and margin-top are established by the script */
}
#MessagerJS_message ol,
#MessagerJS_message ul {
  text-align: left;
}
#MessagerJS_message {
  border-color: #598411;
  background-color: #eff9fd;
}

/* offer util forms 
--------------------------------------------- */
form.offer-form { margin-top: 2em; }
form.offer-form ol, form.offer-form ul { list-style: none; margin: 0; padding: 0; }
form.offer-form li { margin: 0 0 10px; padding: 0; clear: both; }
form.offer-form label { display: block; float: left; width: 110px; margin-right: 10px; }
form.offer-form input.form-text { width: 270px; }
form.offer-form select, form.offer-form textarea { width: 270px; }
form.offer-form fieldset.date { margin-left: 100px; }
form.offer-form fieldset.date select { display: inline; width: auto; }
fieldset.options { position: relative; margin-left: 100px; }
fieldset.options legend span, form.offer-form fieldset.date legend span { position: absolute; top: 0; left: -100px; }
fieldset.options li { width: 270px; }
form.offer-form fieldset.options input, form.offer-form fieldset.options select { display: inline; width: auto; }
form.offer-form fieldset.options label { float: none; width: auto; display: inline; margin: 0; padding: 0; }
form.offer-form .hide { position: absolute; left: -999em; }
form.offer-form fieldset.options select.items { display: block; width: 230px; margin-left: 2em; }
form.offer-form fieldset.options input.dollars { width: 3em; }
form.offer-form div.finish { padding: 10px 0 0 130px; border-top: 1px solid #ccc; }
dl.offer dt { float: left; clear: both; width: 8em; font-weight: bold; }
dl.offer dt:after { content: ':'; }
table#offer-listing td { text-align: left; }
table#offer-listing td.new { text-align: right; }
table#offer-listing tfoot td { border: 0; }
table#offer-listing td.single { white-space: nowrap; }
table#offer-listing strong { font-weight: normal; white-space: nowrap; }
