html, body {
   margin: 0;
   padding: 0;
   position: relative;
}

#mapcontainer, #matrix {
   -webkit-user-select: none;
   -webkit-touch-callout: none;
   -webkit-tap-highlight-color: rgba(0,0,0,0);
   -webkit-touch-callout: none;
   background-color: #e9e9e9;
   font-family: Arial, Helvetica, sans;
   font-size: 13px;
   line-height: 20px;
   background-color: #fff;
   margin: 0 auto;
   position: relative;
}

#mapcontainer {
   width: 750px;
}

#mapcontainer #map, #mapcontainer #legend {
   border-left: 1px solid rgb(191,191,191);
   border-right: 1px solid rgb(191,191,191);
}

#mapcontainer #legend {
   border-bottom: 1px solid rgb(191,191,191);
}

#matrix {
   width: 750px;
   line-height: 15px;
}

#logo, #matrix > h1 {
   font-family: Georgia;
   font-size: 22px;
   font-weight: bold;
   color: #3c73a9;
}

#logo {
   background-image: url(../images/imfsprlogo.png);
   background-position: 10px 6px;
   background-repeat: no-repeat;
   height: 50px;
   line-height: 50px;
   padding-left: 53px;
}

#popup, #busy {
   display: none;
   position: absolute;
}

#popup {
   width: 90%;
   border: 1px solid #c0c0c0;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
   color: #202020;
   top: 80px;
   margin-left: 5%;
   background-color: white;
}

#popup > h1 {
   margin: 0;
   padding: 0;
   color: white;
   font-size: 12px;
   line-height: 27px;
   height: 27px;
   padding: 0 10px;
}

#popup > div {
   padding: 10px;
   max-height: 370px;
   _height: 370px;
   overflow: auto;
}

#busy {
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
}

#menu {
   position: relative;
}

#menu > ul {
   margin: 0;
   padding: 0;
   background-color: white;
   position: absolute;
   left: 0;
   width: 100%;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
   border: 1px solid #cfd0c3;
   z-index: 10;
}

#menu.opened {
   z-index: 10;
}

#matrix #menu > h1 {
   background-image: url(../images/pulldown_plus.png);
   background-repeat: no-repeat;
   background-position: 100% 50%;
   min-width: 200px;
}

#mapcontainer #menu > h1 {
   background-image: url(../images/folder.png);
   background-position: 5px 4px;
   background-repeat: no-repeat;
   padding-left: 35px;
}

#menu > h1 {
   color: white;
   font-size: 13px !important;
   margin: 0;
   height: 24px;
   line-height: 24px;
   cursor: pointer;
}

#menu li {
   display: block;
   font-size: 13px;
   line-height: 24px;
   height: 24px;
   padding-left: 0.8em;
   color: #505050;
}

#mapcontainer #menu li {
   padding-left: 35px;
}

#menu li:hover {
   background-color: #91b5d9;
   color: white;
   cursor: pointer;
}

#control {
   clear: both;
   background-color: #cfd0d1;
   height: 24px;
}

#legend {
   padding: 8px 8px 4px;
   overflow: hidden;
}

#legend > div {
   float: left;
   line-height: 24px;
   color: #505050;
   margin-right: 10px;
}

.swatch {
   position: relative;
   top: 6px;
   width: 12px;
   height: 12px;
   float: left;
   margin-right: 5px;
}

.gradientblue {
   background-color: #719cc6;
   background-image: linear-gradient(bottom, #91b5d9 0%, #6e9ac5 100%);
   background-image: -o-linear-gradient(bottom, #91b5d9 0%, #6e9ac5 100%);
   background-image: -moz-linear-gradient(bottom, #91b5d9 0%, #6e9ac5 100%);
   background-image: -webkit-linear-gradient(bottom, #91b5d9 0%, #6e9ac5 100%);
   background-image: -ms-linear-gradient(bottom, #91b5d9 0%, #6e9ac5 100%);
   background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0, #91b5d9),color-stop(1, #6e9ac5));
}

.gradientgray {
   background-color: #797a80;
   background-image: linear-gradient(bottom, #797a80 0%, #505050 100%);
   background-image: -o-linear-gradient(bottom, #797a80 0%, #505050 100%);
   background-image: -moz-linear-gradient(bottom, #797a80 0%, #505050 100%);
   background-image: -webkit-linear-gradient(bottom, #797a80 0%, #505050 100%);
   background-image: -ms-linear-gradient(bottom, #797a80 0%, #505050 100%);
   background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0, #797a80),color-stop(1, #505050));
}

.gradientblue:hover {
   background-color: #90b3d8;
   background-image: none;
}

.shadow {
  -moz-box-shadow: 3px 3px 4px #ccc;
  -webkit-box-shadow: 3px 3px 4px #ccc;
  box-shadow: 3px 3px 4px #ccc;
  -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#cccccc')";
  filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#cccccc');
}

#play, #export {
   border: none;
   padding-right: 8px;
   width: 65px;
   height: 24px;
   color: #505050;
   font-weight: bold;
   cursor: pointer;
   float: left;
   background-color: transparent;
}

#play:hover {
   background-image: url(../images/play_button_up.png);
}

#play {
   background-image: url(../images/play_button_down.png);
   background-repeat: no-repeat;
   background-position: 5px 6px;
   padding-left: 24px;
   border-right: 1px solid white;
}

#export {
   margin-left: 5px;
   border-left: 1px solid white;
}

.close {
   color: #cfd0d1;
   border: none;
   position: absolute;
   top: 2px;
   right: 5px;
   padding-right: 16px;
   background-color: transparent;
   background-image: url(../images/popup_close_down.png);
   background-repeat: no-repeat;
   background-position: right;
   cursor: pointer;
   width: 60px;
}

.close:hover {
   background-image: url(../images/popup_close_up.png);
}

.slider {
   position: relative;
   height: 100%;
   width: 680px;
   float: left;
}

.slider .labels div {
   position: absolute;
   color: #505050;
   top: 3px;
   width: 52px;
   text-align: center;
}

#control .handle {
   position: absolute;
   top: 2px;
   text-align: center;
   cursor: pointer;
   width: 48px;
   height: 19px;
   background-image: url(../images/year_button_down.png);
   background-repeat: no-repeat;
   background-position: 1px 2px;
   color: white;
   font-weight: bold;
   font-size: 11px;
}

#control .handle:hover {
   background-image: url(../images/year_button_up.png);
}

#map {
   position: relative;
}

#tooltipwrapper {
   position: absolute;
   top: 0px;
   left: 0px;
}

#tooltip {
   display: none;
   position: absolute;
   background-color: rgb(63,116,170);
   background-color: rgba(63,116,170,0.9);
   *background-color: rgb(63,116,170);
   padding: 5px;
   color: #fff;
}

#mapcontainer #tooltip {
   min-width: 100px;
}

#tooltip .tip {
   width: 20px;
   height: 20px;
   position: absolute;
   bottom: -20px;
   left: 10px;
   background-image: url(../images/hover-arrow.png);
}

#tooltip a {
   color: white;
   text-decoration: underline;
}

#tooltip .label {
   font-weight: bold;
   color: #dbe7f2;
   white-space: nowrap;
}

#tooltip .value, #tooltip td {
   white-space: nowrap;
}

#tooltip td {
   padding: 2px;
}

#tooltip td.no {
   color: #7c9bc5;
}

#canvas .zoomcontrol {
   width: 20px;
   height: 168px;
   position: absolute;
   right: 0px;
   bottom: 10px;
   background-image: url(../images/zoom_bg.png);
}

#canvas .zoomcontrol .handle {
   position: absolute;
   width: 10px;
   height: 60px;
   left: 5px;
   background-image: url(../images/zoom_button_down.png);
   cursor: pointer;
}

#canvas .zoomcontrol .handle:hover {
   background-image: url(../images/zoom_button_up.png);
}

#matrix > h1 {
   line-height: 30px;
   margin: 0;
   padding: 3px 0 7px 5px;
}

#matrix #menu.opened > h1 {
   background-image: url(../images/pulldown_minus.png);
}

#rows {
   border: 1px solid rgb(191,191,191);
   width: 100%;
   cursor: default;
}

#rows th {
   text-align: left;
   font-weight: normal;
}

#rows .main th {
   border-right: 1px solid rgb(191,191,191);
}

#rows .opened.main th, #rows .opened.main td {
   border-bottom: 1px solid rgb(191,191,191);
}

#rows th div {
   padding-top: 4px;
   padding-bottom: 4px;
   color: #505050;
}

#rows td div {
   border-right: 1px solid white;
}

#rows td div {
   height: 15px;
}

#rows .sub {
   display: none;
}

#rows .sub th div {
   color: #707070;
   padding-left: 12px;
}

#rows td div.year {
   margin-left: -40%;
   *margin-left: 0;
   width: 100%;
   text-align: center;
   border-right: none;
   height: auto;
}

#rows td div.last.year {
   margin-left: 0;
}

#rows tr.main {
   cursor: pointer;
}

#rows tr.main.hover th, #rows tr.main.opened th {
   font-weight: bold !important;
}

#matrix th, #matrix #menu {
   white-space: nowrap;
   padding-left: 1em;
}

#rows .header {
   background-color: rgb(239,239,238);
}

#rows .header td {
   border: none;
   border-bottom: 1px solid rgb(191,191,191);
}

#rows .no {
   background-color: white;
}
