/**
 * Reset ==============================================================
 * Based on http://meyerweb.com/eric/tools/css/reset
 */

html,
body,

/* Structures */
div,
span,
applet,
object,
iframe,

/* Text */
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,

/* Lists */
dl,
dt,
dd,
ol,
ul,
li,

/* Forms */
fieldset,
form,
input,
select,
textarea,
label,
legend,

/* Tables */
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin:0px;
  padding:0px;
  border:0px;
  outline:0px;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
  line-height:inherit;
  }

ol,
ul,
.item-list ul,
.item-list ul li {
  list-style:none;
  }

blockquote,
q { quotes:none; }

blockquote:before,
blockquote:after,
q:before, q:after {
  content:'';
  content:none;
  }

/* remember to define focus styles! */
:focus { outline:0px; }

/* remember to highlight inserts somehow! */
ins { text-decoration:none; }
del { text-decoration:line-through; }

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse:collapse;
  border-spacing:0px;
  }

/**
 * Font reset =========================================================
 *
 * Specifically targets form elements which browsers oftentimes give
 * special treatment.
 */
input,
select,
textarea,
body { font: 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; }

/*
** Markup free clearing
** Details: http://www.positioniseverything.net/easyclearing.html
*/
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  }

.clearfix { display: inline-block; }

/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

.wax-legends,
.wax-tooltip {
  position:absolute;
  z-index:999999;
  right:10px;
  }

.wax-legends { bottom:10px; }
.wax-tooltip { top:10px; }

.wax-legend,
.wax-tooltip {
  font:normal 13px/20px Arial,sans-serif;
  color:#222;
  min-width:180px;
  max-width:280px;
  max-height:400px;
  padding:4px 9px;
  border:1px solid #ccc;
  background:transparent url(/assets/tilestream/images/mask.png) repeat;
  overflow:auto;
  border-radius:3px;
  -moz-border-radius:3px;
  -webkit-border-radius:3px;
  box-shadow:rgba(0,0,0,0.1) 0px 1px 3px;
  -moz-box-shadow:rgba(0,0,0,0.1) 0px 1px 3px;
  -webkit-box-shadow:rgba(0,0,0,0.1) 0px 1px 3px;
  }

.wax-tooltip .close,
.zoomer {
  text-indent:-9999px;
  overflow:hidden;
  display:block;
  position:absolute;
  border:1px solid #ccc;
  text-indent:-9999px;
  overflow:hidden;
  }

.wax-tooltip .close:active,
.zoomer:active {
  margin-top:1px;
  border-color:#bbb;
  background-color:#ddd;
  box-shadow:inset rgba(0,0,0,0.1) 0px 1px 3px;
  -moz-box-shadow:inset rgba(0,0,0,0.1) 0px 1px 3px;
  -webkit-box-shadow:inset rgba(0,0,0,0.1) 0px 1px 3px;
  }

.wax-tooltip .close {
  top:4px;
  right:4px;
  width:18px;
  height:18px;
  background:#fff url(/assets/tilestream/images/controls.png) -6px -6px no-repeat;
  border-radius:3px;
  -moz-border-radius:3px;
  -webkit-border-radius:3px;
  }

.zoomer {
  left:10px;
  top:10px;
  width:28px;
  height:28px;
  background:#fff url(/assets/tilestream/images/controls.png) 30px 30px no-repeat;
  box-shadow:rgba(0,0,0,0.1) 0px 1px 3px;
  -moz-box-shadow:rgba(0,0,0,0.1) 0px 1px 3px;
  -webkit-box-shadow:rgba(0,0,0,0.1) 0px 1px 3px;
  }

.zoomin {
  background-position:-31px -1px;
  left:39px;
  border-radius:0px 3px 3px 0px;
  -moz-border-radius:0px 3px 3px 0px;
  -webkit-border-radius:0px 3px 3px 0px;
  }

.zoomout {
  background-position:-61px -1px;
  border-radius:3px 0px 0px 3px;
  -moz-border-radius:3px 0px 0px 3px;
  -webkit-border-radius:3px 0px 0px 3px;
  }

.zoombox-box,
.boxselector-box {
  margin:0;
  padding:0;
  border:1px dashed #888;
  background: rgba(255,255,255,0.25);
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  display: none;
  }

.zoombox-box-container,
.boxselector-box-container,
.pointselector-box-container {
  margin:0;
  padding:0;
  position:absolute;
  background: url(blank.gif);
  top:0;
  left:0;
  }

.wax-attribution {
  position:absolute;
  background-color:rgba(255, 255, 255, 0.7);
  color:#333;
  font-size:11px;
  line-height:20px;
  z-index:99999;
  text-align:center;
  padding:0 5px;
  bottom:0;
  left:0;
  }


@font-face {
  font-family:Droid;
  src:url('../fonts/DroidSans.ttf');
  }
@font-face {
  font-family:Droid;
  font-weight:bold;
  src:url('../fonts/DroidSansBold.ttf');
  }

input,
select,
textarea,
body { font-family:Droid,'Lucida Grande',sans-serif; }

body {
  padding:50px 0px 0px;
  background:#eee;
  color:#222;
  }

a {
  color:#222;
  text-decoration:none;
  }

.hud a { color:#5ab; }

.pane { padding:10px; }

/**
 * Icons ======================================================================
 */
.icon {
  display:block;
  width:20px;
  height:20px;
  background:url(../images/sprite.png) 20px 20px no-repeat;
  text-indent:-9999px;
  overflow:hidden;
  }

.icon.info          { background-position:-400px -200px; }
.icon.download      { background-position:-420px -200px; }

/**
 * Header =====================================================================
 */
.bleed {
  position:fixed;
  left:0px;
  right:0px;
  top:0px;
  z-index:1;
  height:32px;
  padding:9px 0px;
  background:#aaa url(../images/sprite.png) 0px 0px repeat-x;
  }

.header {
  position:relative;
  max-width:720px;
  height:30px;
  border:1px solid #888;
  border-radius:5px;
  margin:0px auto;
  background:#fff url(../images/sprite.png) 0px -50px repeat-x;
  box-shadow:inset rgba(0,0,0,.25) 0px 1px 2px;
  }

.header .breadcrumb { 
  position:absolute;
  font-weight:normal;
  left:0px;
  }

.header .breadcrumb a,
.header .breadcrumb span { float:left; }

.header .breadcrumb a {
  float:left;
  padding:5px 20px 5px 10px;
  background:url(../images/sprite.png) 100% -80px no-repeat;
  height:20px;
  }

.header .breadcrumb a.logo { padding-left:30px; }

.header .breadcrumb a.logo .icon {
  position:absolute;
  left:0px;
  top:0px;
  width:30px;
  height:30px;
  background:url(../images/sprite.png) -30px -150px no-repeat;
  }

.header .buttons {
  position:absolute;
  right:5px;
  top:5px;
  }

.header .buttons a { float:left; }
.header .buttons .icon {
  float:left;
  margin:-1px 5px -1px -5px;
  background-color:transparent;
  }

/**
 * Maps =======================================================================
 */
.maps {
  /* Fixes a variety of spacing problems when using `inline-block` */
  font:0px/0px;
  padding:20px 0px;
  text-align:center;
  }

.maps > span {
  font:13px/20px;
  display:inline-block;
  text-align:left;
  width:238px;
  height:238px;
  border:1px solid #ccc;
  margin:0px 5px 10px;
  position:relative;
  overflow:hidden;
  box-shadow:rgba(0,0,0,.1) 0px 1px 3px;
  }

.maps .empty {
  border-color:#ddd;
  background:#e4e4e4;
  box-shadow:none;
  }

.maps .empty span {
  position:absolute;
  top:110px;
  left:0px;
  width:240px;
  font-size:20px;
  text-align:center;
  white-space:nowrap;
  }

.maps span a,
.maps span span { display:block; }

.thumb {
  width:238px;
  height:238px;
  display:block;
  background:#fff url(../images/bg.png);
  position:relative;
  }

.thumb.error {
  background:#f33 url(../images/sprite.png) no-repeat -220px -220px;
  }

.thumb .thumb-layer {
  position:absolute;
  top:0px;
  left:0px;
  right:0px;
  bottom:0px;
  background-position:50% 50%;
  background-repeat:no-repeat;
  }

.thumb .thumb-name {
  position:absolute;
  left:0px;
  right:0px;
  bottom:0px;
  background:url(../images/mask.png);
  padding:5px 10px;
  min-height:20px;
  overflow:hidden;
  }

/**
 * Map ========================================================================
 */
.MapClient {
  background:#fff url(../images/bg.png);
  position:absolute;
  top:50px;
  left:0px;
  right:0px;
  bottom:0px;
  height:auto;
  width:auto;
  z-index:0;
  }

.zooms {
  background:#eee;
  border-radius:3px;
  }

.zooms .zoom {
  float:left;
  width:20px;
  text-align:center;
  font-size:11px;
  font-weight:bold;
  }

.zooms .zoom:first-child { border-radius:3px 0px 0px 3px; }

.zooms .active {
  color:#fff;
  background:#888;
  }

.hud.active,
.hud {
  position:fixed;
  right:-300px;
  top:70px;
  bottom:20px;
  width:280px;
  border:1px solid #ccc;
  border-radius:5px;
  background:url(../images/mask.png);
  box-shadow:rgba(0,0,0,.1) 0px 1px 3px;
  overflow-y:auto;
  overflow-x:hidden;
  z-index:-1;
  transition:right .25s, z-index .5s;
  -moz-transition:right .25s, z-index .5s;
  -webkit-transition:right .25s, z-index .5s;
  }

.hud.active {
  right:20px;
  z-index:80;
  }

.hud li {
  padding:10px 20px 9px;
  border-bottom:1px solid #eee;
  }

.hud .column {
  float:left;
  width:49.9%;
  }

form label,
form span.label,
.hud span.label,
.hud label {
  display:block;
  font-size:11px;
  text-transform:uppercase;
  font-weight:bold;
  }

.hud h1 { font-size:20px; }

.hud h1,
.hud .description { margin:10px 0px; }

.hud input.text { width:100%; }

.hud p { margin:0px 0px 10px; }

/* Special sauce */
div::-webkit-scrollbar {
  height:8px;
  width:8px;
  background:#f8f8f8;
  border-radius:4px;
  }

div::-webkit-scrollbar-thumb {
  border-radius:4px;
  background:#ccc;
  }

div::-webkit-scrollbar-thumb:vertical { height:25px; }
div::-webkit-scrollbar-thumb:horizontal { width:25px; }

/**
 * Download link ==============================================================
 */
a.download {
  display:block;
  position:relative;
  padding:14px 9px 14px 49px;
  border:1px solid #5ab;
  background:#74bccc;
  color:#fff;
  border-radius:5px;
  word-break:break-all;
  }

a.download .icon {
  position:absolute;
  left:4px;
  top:4px;
  width:40px;
  height:40px;
  background:url(../images/sprite.png) -80px -320px no-repeat;
  }

a.download .file { font-weight:bold; }

a.download .size {
  white-space:nowrap;
  margin-left:5px;
  border-radius:3px;
  padding:0px 5px;
  background:#5ab;
  color:#fff;
  }

/**
 * ErrorView ==================================================================
 */
.error {}

.error .message {
  width:600px;
  margin:0px auto;
  padding:80px 0px;
  text-align:center;
  font-size:20px;
  }

/**
 * Map controls ===============================================================
 * Override styles for map controls within the context of the TileStream UI.
 */
.wax-tooltip,
.wax-legends {
  transition:right .25s;
  -moz-transition:right .25s;
  -webkit-transition:right .25s;
  }

.wax-tooltip,
.wax-legends { right:20px; }

.wax-tooltip { top:20px; }
.wax-legends { bottom:20px; }

.hudActive .wax-legends,
.hudActive .wax-tooltip { right:320px; }

/**
 * Form elements
 */
select,
input.text,
textarea {
  line-height:18px;
  height:20px;
  background:#f8f8f8;
  border:1px solid #ccc;
  border-color:#ccc #ddd #ddd;
  padding:0px 2px;
  box-shadow:inset #ddd 0px 2px 3px;
  -moz-box-shadow:inset #ddd 0px 2px 3px;
  -webkit-box-shadow:inset #ddd 0px 2px 3px;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  }

textarea {
  height:auto;
  resize:none;
  }

.button,
a.button,
span.button,
.buttons a,
input.submit {
  font-size:11px;
  border:1px solid #5ab;
  line-height:20px;
  height:20px;
  cursor:pointer;
  padding:0px 10px;
  background:#74bccc url(../images/sprite.png) 0px -130px no-repeat;
  color:#fff;
  text-shadow:none;
  border-radius:3px;
  box-sizing:border-box;
  display:inline-block;
  }

.button:hover,
.buttons a:hover,
input.submit:hover { background-color:#8cd; }

.button:active,
.buttons .active,
.buttons .active:hover,
.buttons a:active,
input.submit:active {
  background-color:#888;
  border-color:#666;
  background-position:0px -110px;
  box-shadow:inset #999 0px -1px 0px;
  }

.buttons a {
  border-radius:0px;
  border-right-width:0px;
  }

.buttons a:first-child { border-radius:3px 0px 0px 3px; }

.buttons a:last-child {
  border-radius:0px 3px 3px 0px;
  border-right-width:1px;
  }

.buttons a:only-child { border-radius:3px; }

