/* Global (most commonly shared styles) */
a {
   color: #3a6c96;
   text-decoration: none;
   outline: none;
}
a:hover {
   text-decoration: underline;
}
a:visited {
   color: #6d7985;
}
input {
   outline: none;
}

.topcap,
.bottomcap,
.clearboth,
.clearleft,
.clearright {
   display: block;
   height: 0;
   font-size: 0.01em;
   line-height: 0.01em;
}

.clearboth,
.bottomcap {
   clear: both;
}
.clearleft {
   clear: left;
}
.clearright {
   clear: right;
}

.smaller {
   font-size: 0.9em;
}
.larger {
   font-size: 1.1em;
}

.divider {
   margin: 0 0 15px 0;
   padding: 0 0 0 0;
   height: 1px;
   border: 1px solid #ccc;
   border-width: 0 0 1px 0;
   font-size: 0.01em;
   line-height: 0.01em;
}

/* Header */
#header h2 {
   float: left;
   display: block;
   width: 272px;
   height: 44px;
   overflow: hidden;
   background: transparent url(../img/garnish-bar.gif) no-repeat left top;
}
#header h3 {
   float: left;
   display: block;
   width: 204px;
   height: 23px;
   margin: 22px 0 0 28px;
   overflow: hidden;
   background: transparent url(../img/friends-tag.gif) no-repeat left top;
}
#header h2 a {
   display: block;
}
#header h2 span,
#header h3 span {
   display: block;
   padding-top: 100px;
}


/* Search */
#search label {
   display: block;
   margin: 0 0 0.5em;
}

#search input {
   float: left;
   width: 208px;
   height: 18px;
   padding: 6px 6px;
   background: transparent url(../img/search-input.gif) no-repeat left top;
   border: none;
   font-size: 1.2em;
}
#search input.submit {
   width: 70px;
   height: 30px;
   margin-left: 7px;
   padding: 0;
   background: none;
}


/* Navigation */
ul#nav {
   list-style: none outside none;
   font-size: 1.2em;
}
ul#nav li {
   margin-bottom: 1.0em;
}
ul#nav li a {
   display: block;
   overflow: hidden;
   height: 14px;
   padding: 8px 10px;
   line-height: 14px;
   vertical-align: middle;
   background: transparent url(../img/nav.gif) no-repeat 0 0;
   color: #3d99ae;
   font-weight: bold;
}
ul#nav li a:hover {
   background-position: 0 -30px;
   text-decoration: none;
}
ul#nav li.open a {
   background-position: 0 -60px;
}
ul#nav li.open a:hover {
   background-position: 0 -90px;
}
ul#nav li ul {
   list-style: none outside none;
   height: auto;
   margin: 1.0em 0 0 0;
}
ul#nav li ul li {
   margin-bottom: 0;
}
ul#nav li ul li a {
   overflow: auto;
   height: 1.7em;
   margin: 0;
   padding: 0 10px 0 10px;
   line-height: normal;
   background: none;
   font-weight: normal;
}
ul#nav li ul li a:hover {
   text-decoration: underline;
}

/* Social Navigation */
ul#nav-social {
   list-style: none outside none;
   font-size: 1.2em;
}
ul#nav-social li {
   margin-bottom: 1.0em;
   width: 220px;
   height: 40px;
}
ul#nav-social li a {
   display: block;
   width: 100%;
   height: 100%;
   color: #fff;
   font-weight: bold;
   overflow: hidden;
   background: transparent url(../img/nav-social.gif) no-repeat left 0;
}
ul#nav-social li a:hover {
   background-position: left -40px;
   text-decoration: none;
}
ul#nav-social li a span {
   display: block;
   margin: 7px 9px 0 9px;
   padding: 0 0 0 32px;
   line-height: 24px;
   vertical-align: middle;
   background: transparent none no-repeat left 0;
}
ul#nav-social li a:hover span {
   background-position: left -24px;
}
ul#nav-social li.facebook a span {
   background-image: url(../img/nav-social-icon-fb.gif);
}
ul#nav-social li.twitter a span {
   background-image: url(../img/nav-social-icon-twitter.gif);
}
ul#nav-social li.flickr a span {
   background-image: url(../img/nav-social-icon-flickr.gif);
}

/* Two Columns */
.left-column {
   float: left;
   width: 380px;
   margin: 0 20px 20px 0;
}
.right-column {
   float: left;
   width: 300px;
   margin: 0 0 20px 0;
}

/* Content Well */
.content-well {
   background: #fff;
}
.content-well .topcap {
   height: 4px;
   background: transparent url(../img/content-well-top.gif) no-repeat left top;
}
.content-well .bottomcap {
   height: 4px;
   background: transparent url(../img/content-well-bottom.gif) no-repeat left top;
}
.content-well .pad-in {
   padding: 20px;
}
.content-well .content {
   padding: 20px;
   font-size: 1.2em;
}
.content-well .left-column {
   float: left;
   width: 440px;
   margin: 0;
}
.content-well .right-column {
   float: left;
   width: 260px;
   margin: 0;
}
.content-well .right-column .content {
   padding-left: 0;
}

/* Tabbed Content Well */
.content-well.tabbed {
   background: none;
}
.content-well.tabbed ul.tabs {
   list-style: none outside none;
}
.content-well.tabbed ul.tabs li {
   height: 30px;
   float: left;
   min-width: 170px;
   margin-right: 10px;
   font-size: 1.2em;
   line-height: 30px;
   vertical-align: middle;
   text-align: center;
}
.content-well.tabbed ul.tabs li a {
   display: block;
   height: 30px;
   padding: 0 0 0 20px;
   background: #242425 url(../img/tab-left.gif) no-repeat left -30px;
   color: #999;
}
.content-well.tabbed ul.tabs li a span {
   display: block;
   height: 30px;
   padding: 0 20px 0 0;
   background: #242425 url(../img/tab-right.gif) no-repeat right -30px;   
}
.content-well.tabbed ul.tabs li.ui-tabs-selected a {
   background-color: #fff;
   background-position: left 0;
}
.content-well.tabbed ul.tabs li.ui-tabs-selected a span {
   background-color: #fff;
   background-position: right 0;
}

.content-well.tabbed .ui-tabs-hide {
   display: none;
}
.content-well.tabbed .tab-well {
   clear: left;
   background: #fff;
}
.content-well.tabbed .tab-well .topcap {
   height: 4px;
   background: transparent url(../img/content-well-tabbed-top.gif) no-repeat left top;
}


/* Footer */
#footer a {
   color: #3d99ae;
}
#footer ul {
   float: right;
   margin: 0 0 0.5em 0;
   padding: 0;
   list-style: none outside none;
}
#footer ul li {
   float: left;
   margin: 0 0 0 0.5em;
   padding: 0 0 0 0.5em;
   border: 1px solid #ccc;
   border-width: 0 0 0 1px;
}
#footer ul li.first {
   border: none;
   margin: 0;
   padding: 0;
}
#footer p {
   margin: 0;
   padding: 0;
   float: right;
   clear: right;
}

/* Search Columns */
.content-well.search .left-column {
   float: left;
   width: 180px;
   margin-right: 20px;
}

.content-well.search .right-column {
   float: left;
   width: 460px;
}

/* Typography */
.content h1 {
   margin: 0 0 1.0em 0;
   font-size: 1.5em;
}
.content h2 {
   margin: 0 0 0.75em 0;
   font-size: 1.35em;
}
.content h3 {
   margin: 0 0 0.5em 0;
   font-size: 1.2em;
}
.content h4 {
   margin: 0 0 0.25em 0;
   font-size: 1.1em;
}
.content h5 {
   margin: 0 0 0.25em 0;
   font-size: 1.0em;
}
.content p {
   margin: 0 0 1.0em 0;
   line-height: 1.45em;
}
.content ul {
   margin-bottom: 1.0em;
   margin-left: 1.7em;
   line-height: 1.45em;
   list-style: disc outside none;
}
.content ol {
   margin-bottom: 1.0em;
   margin-left: 1.7em;
   list-style-position: outside;
}

.content ul.nobullets {
   list-style: none outside none;
   margin-left: 0;
}
.content img {
   display: block;
   margin: 0 0 10px 0;
   padding: 2px;
   border: 1px solid #ddd;
}
.content img.hero {
   margin-left: auto;
   margin-right: auto;
}

/* Ingredient List */
.content ul.ingredients {
   float: left;
   width: 400px;
   list-style: none outside none;
   margin-bottom: 1.5em;
   margin-left: 0;
}
.content ul.ingredients li {
   float: left;
   clear: left;
   width: 400px;
   margin: 0 0 0.2em 0;
}
.content ul.ingredients li span {
   float: left;
   display: block;
   font-weight: bold;
   width: 65px;
}
.content ul.ingredients li a {
   float: left;
   padding-left: 5px;
}

/* Drink List */
ul.drinks {
   float: left;
   margin: 0 0 20px 0;
   list-style: none outside none;
   font-size: 1.2em;
}

ul.drinks li {
   float: left;
   margin: 0 0 10px 0;
   padding: 10px 0 0 0;
   border: 1px solid #ededed;
   border-width: 1px 0 0 0;
}

/* Drink List (Photos) */
ul.drinks.photos li a.image {
   float: left;
   width: 100px;
}
ul.drinks.photos li a.image img {
   display: block;
   margin: 0 auto;
   padding: 2px;
   border: 1px solid #ddd;   
}
ul.drinks.photos li div.description {
   float: left;
   width: 550px;
   padding: 0 0 0 10px;
}
ul.drinks.photos li div.description p {
   margin: 0;
}
ul.drinks.photos li div.description h5 {
   margin-bottom: 0.25em;
   font-weight: bold;
   font-size: 1.1em;
}

/* Drink List (Details) */
ul.drinks.details li {
   width: 660px;
   border: none;
}
ul.drinks.details h5 {
   margin-bottom: 0.25em;
   font-weight: bold;
   font-size: 1.1em;
}
ul.drinks.details table {
   width: 100%;
   border-collapse: collapse;
}
ul.drinks.details table th {
   width: 100px;
   text-align: left;
   font-weight: normal;
   padding: 1px 0;
   border: 1px solid #ededed;
   border-width: 0 0 1px 0;
}
ul.drinks.details table td {
   padding: 1px 0;
   border: 1px solid #ededed;
   border-width: 0 0 1px 0;
}

/* Flash Message */
#flash-messages {
   background: #a0bc6d;
}
#flash-messages .messages {
   margin: 0 auto;
   padding: 20px 0;
   width: 940px;
   color: #fff;
   font-size: 1.3em;
   font-weight: bold;
   text-align: center;
}
#flash-messages .messages p {
}

/* Tips */
.content.tip {
   font-size: 1.2em;
}
.content.tip p {
   margin-bottom: 0.25em;
}
.content.tip img {
   float: left;
   margin: 0 5px 5px 0;
}
.content.tip .divider {
   margin-bottom: 5px;
}

/* Paginator */
.paginator {
   clear: left;
   font-size: 1.2em;
   margin: 0 0 10px 0;
}
.paginator p {
   margin: 0 0 0.5em 0;
}
.paginator ul {
   clear: both;
   list-style: none outside none;
}
.paginator ul li {
   display: inline;
   padding-right: 5px;
}
.paginator ul li a {
   padding: 0.2em 0.6em;
   border: 1px solid #ccc;
}
.paginator ul li a:hover {
   border: 1px solid #aaa;
   text-decoration: none;
}
.paginator ul li strong {
   padding: 0.2em 0.1em;
}