/* =============================================================================
   Base Button
   ========================================================================== */
.button {
  position: relative;
  overflow: visible;
  display: inline-block;
  padding: .4em .7em;
  border: 1px solid #125939;
  margin: 0;
  text-decoration: none;
  text-align: center;
  font: 0.9rem/normal sans-serif;
  color: #125939;
  white-space: nowrap;
  cursor: pointer;
  outline: none;
  min-width: 6em;
  background-color: #dbfaec;
  -moz-background-clip: padding;
  /* for Firefox 3.6 */
  background-clip: padding-box;
  border-radius: .1em;
  /* IE hacks */
  zoom: 1;
  *display: inline;
  /* iOS hacks */
  -webkit-appearance: none; }

.button.calendar {
  margin-left: .5em;
  min-width: 1em; }

.button.main, .button.sub {
  min-width: 8em; }

.button.main {
  color: #ffffff;
  background-color: #1a8353;
  padding: 0.8em 1.3em; }

.button.main:hover, .button.main:focus, .button.main:active, .button.main.active {
  color: #ffffff;
  background-color: #125939; }

.button.sub {
  color: #1a8353;
  background-color: #ffffff;
  padding: 0.8em 1.3em; }

.button:hover, .button:focus, .button:active, .button.active {
  text-decoration: none;
  color: #ffffff;
  background-color: #125939; }

/* overrides extra padding on button elements in Firefox */
.button::-moz-focus-inner {
  padding: 0;
  border: 0; }

/* =============================================================================
   Button icons
   ========================================================================== */
.button.icon:before {
  content: "";
  position: relative;
  top: 1px;
  float: left;
  width: 12px;
  height: 12px;
  margin: 0 0.75em 0 -0.25em;
  background: url(../img/icons.png) 0 99px no-repeat; }

.button.arrowup.icon:before {
  background-position: 0 0; }

.button.arrowup.icon:hover:before,
.button.arrowup.icon:focus:before,
.button.arrowup.icon:active:before {
  background-position: -12px 0; }

.button.arrowdown.icon:before {
  background-position: 0 -12px; }

.button.arrowdown.icon:hover:before,
.button.arrowdown.icon:focus:before,
.button.arrowdown.icon:active:before {
  background-position: -12px -12px; }

.button.arrowleft.icon:before {
  background-position: 0 -24px; }

.button.arrowleft.icon:hover:before,
.button.arrowleft.icon:focus:before,
.button.arrowleft.icon:active:before {
  background-position: -12px -24px; }

.button.arrowright.icon:before {
  float: right;
  margin: 0 -0.25em 0 0.5em;
  background-position: 0 -36px; }

.button.arrowright.icon:hover:before,
.button.arrowright.icon:focus:before,
.button.arrowright.icon:active:before {
  background-position: -12px -36px; }

.button.approve.icon:before {
  background-position: 0 -48px; }

.button.approve.icon:hover:before,
.button.approve.icon:focus:before,
.button.approve.icon:active:before {
  background-position: -12px -48px; }

.button.add.icon:before {
  background-position: 0 -288px; }

.button.add.icon:hover:before,
.button.add.icon:focus:before,
.button.add.icon:active:before {
  background-position: -12px -288px; }

.button.remove.icon:before {
  background-position: 0 -60px; }

.button.remove.icon:hover:before,
.button.remove.icon:focus:before,
.button.remove.icon:active:before {
  background-position: -12px -60px; }

.button.log.icon:before {
  background-position: 0 -72px; }

.button.log.icon:hover:before,
.button.log.icon:focus:before,
.button.log.icon:active:before {
  background-position: -12px -72px; }

.button.calendar.icon:before {
  background-position: 0 -84px; }

.button.calendar.icon:hover:before,
.button.calendar.icon:focus:before,
.button.calendar.icon:active:before {
  background-position: -12px -84px; }

.button.chat.icon:before {
  background-position: 0 -96px; }

.button.chat.icon:hover:before,
.button.chat.icon:focus:before,
.button.chat.icon:active:before {
  background-position: -12px -96px; }

.button.clock.icon:before {
  background-position: 0 -108px; }

.button.clock.icon:hover:before,
.button.clock.icon:focus:before,
.button.clock.icon:active:before {
  background-position: -12px -108px; }

.button.settings.icon:before {
  background-position: 0 -120px; }

.button.settings.icon:hover:before,
.button.settings.icon:focus:before,
.button.settings.icon:active:before {
  background-position: -12px -120px; }

.button.comment.icon:before {
  background-position: 0 -132px; }

.button.comment.icon:hover:before,
.button.comment.icon:focus:before,
.button.comment.icon:active:before {
  background-position: -12px -132px; }

.button.fork.icon:before {
  background-position: 0 -144px; }

.button.fork.icon:hover:before,
.button.fork.icon:focus:before,
.button.fork.icon:active:before {
  background-position: -12px -144px; }

.button.like.icon:before {
  background-position: 0 -156px; }

.button.like.icon:hover:before,
.button.like.icon:focus:before,
.button.like.icon:active:before {
  background-position: -12px -156px; }

.button.favorite.icon:before {
  background-position: 0 -348px; }

.button.favorite.icon:hover:before,
.button.favorite.icon:focus:before,
.button.favorite.icon:active:before {
  background-position: -12px -348px; }

.button.home.icon:before {
  background-position: 0 -168px; }

.button.home.icon:hover:before,
.button.home.icon:focus:before,
.button.home.icon:active:before {
  background-position: -12px -168px; }

.button.key.icon:before {
  background-position: 0 -180px; }

.button.key.icon:hover:before,
.button.key.icon:focus:before,
.button.key.icon:active:before {
  background-position: -12px -180px; }

.button.lock.icon:before {
  background-position: 0 -192px; }

.button.lock.icon:hover:before,
.button.lock.icon:focus:before,
.button.lock.icon:active:before {
  background-position: -12px -192px; }

.button.unlock.icon:before {
  background-position: 0 -204px; }

.button.unlock.icon:hover:before,
.button.unlock.icon:focus:before,
.button.unlock.icon:active:before {
  background-position: -12px -204px; }

.button.loop.icon:before {
  background-position: 0 -216px; }

.button.loop.icon:hover:before,
.button.loop.icon:focus:before,
.button.loop.icon:active:before {
  background-position: -12px -216px; }

.button.search.icon:before {
  background-position: 0 -228px; }

.button.search.icon:hover:before,
.button.search.icon:focus:before,
.button.search.icon:active:before {
  background-position: -12px -228px; }

.button.mail.icon:before {
  background-position: 0 -240px; }

.button.mail.icon:hover:before,
.button.mail.icon:focus:before,
.button.mail.icon:active:before {
  background-position: -12px -240px; }

.button.move.icon:before {
  background-position: 0 -252px; }

.button.move.icon:hover:before,
.button.move.icon:focus:before,
.button.move.icon:active:before {
  background-position: -12px -252px; }

.button.edit.icon:before {
  background-position: 0 -264px; }

.button.edit.icon:hover:before,
.button.edit.icon:focus:before,
.button.edit.icon:active:before {
  background-position: -12px -264px; }

.button.pin.icon:before {
  background-position: 0 -276px; }

.button.pin.icon:hover:before,
.button.pin.icon:focus:before,
.button.pin.icon:active:before {
  background-position: -12px -276px; }

.button.reload.icon:before {
  background-position: 0 -300px; }

.button.reload.icon:hover:before,
.button.reload.icon:focus:before,
.button.reload.icon:active:before {
  background-position: -12px -300px; }

.button.rss.icon:before {
  background-position: 0 -312px; }

.button.rss.icon:hover:before,
.button.rss.icon:focus:before,
.button.rss.icon:active:before {
  background-position: -12px -312px; }

.button.tag.icon:before {
  background-position: 0 -324px; }

.button.tag.icon:hover:before,
.button.tag.icon:focus:before,
.button.tag.icon:active:before {
  background-position: -12px -324px; }

.button.trash.icon:before {
  background-position: 0 -336px; }

.button.trash.icon:hover:before,
.button.trash.icon:focus:before,
.button.trash.icon:active:before {
  background-position: -12px -336px; }

.button.user.icon:before {
  background-position: 0 -360px; }

.button.user.icon:hover:before,
.button.user.icon:focus:before,
.button.user.icon:active:before {
  background-position: -12px -360px; }

/* =============================================================================
   Button extensions
   ========================================================================== */
/* Primary button
   ========================================================================== */
.button.primary {
  font-weight: bold; }

/* Danger button
   ========================================================================== */
.button.danger {
  color: #900;
  border-color: #a0302a;
  background-color: #ffffff; }

.button.danger:hover,
.button.danger:focus,
.button.danger:active {
  border-color: #a0302a;
  color: #fff;
  background-color: #dc5f59; }

.button.danger:active,
.button.danger.active {
  border-color: #a0302a;
  background-color: #b33630; }

/* Pill button
   ========================================================================== */
.button.pill {
  border-radius: 50em; }

/* Disabled button
   ========================================================================== */
.button.disable {
  opacity: 0.5; }

/* Big button
   ========================================================================== */
.button.big {
  font-size: 14px; }

.button.big.icon:before {
  top: 0; }

/* =============================================================================
   Button groups
   ========================================================================== */
/* Standard group
   ========================================================================== */
.button_group {
  display: inline-block;
  list-style: none;
  padding: 0;
  margin: 0;
  /* IE hacks */
  zoom: 1;
  *display: inline; }

.button + .button,
.button + script + .button,
.button + .button_group,
.button_group + .button,
.button_group + .button_group {
  margin-left: 15px; }

.button_group .button.main,
.button_group .button.sub {
  padding: .5em 1em; }

.button_group li {
  float: left;
  padding: 0;
  margin: 0; }

.button_group .button {
  float: left;
  margin-left: -1px; }

.button_group > .button:not(:first-child):not(:last-child),
.button_group li:not(:first-child):not(:last-child) .button {
  border-radius: 0; }

.button_group > .button:first-child,
.button_group li:first-child .button {
  margin-left: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.button_group > .button:last-child,
.button_group li:last-child > .button {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

/* Minor group
   ========================================================================== */
.button_group.minor-group .button {
  border: 1px solid #d4d4d4;
  text-shadow: none;
  background-image: none;
  background-color: #fff; }

.button_group.minor-group .button:hover,
.button_group.minor-group .button:focus {
  background-color: #599bdc; }

.button_group.minor-group .button:active,
.button_group.minor-group .button.active {
  background-color: #3072b3; }

.button_group.minor-group .button.icon:before {
  opacity: 0.8; }

/* =============================================================================
   Button container (mixing buttons and groups, e.g., nav bar)
   ========================================================================== */
.button_container .button,
.button_container .button_group {
  vertical-align: top; }
