body {
  font-family: Helvetica, arial, sans-serif;
}

a {
  color: steelblue;
  text-decoration: underline;
}

a:hover {
  color: rgba(97, 193, 233, 1);
  text-decoration: none;
}

.rectangle {
  /*fill: #0071bc;*/
  fill: rgba(97, 193, 233, 1);
}
.rectangle:hover {
  fill: steelblue;
}

.rectangle.distrito_selected {
  fill: purple;
}

.axis {
  font: 10px sans-serif;
}

.axis path,
.axis line {
  fill: none;
  stroke: #000;
  shape-rendering: crispEdges;
}

div.selectors {
  text-align: center;
  margin: 0 auto;
}

div.selectors div {
  display: inline-block;
}

div.center {
  margin: 0 auto;
  text-align: center;
}

div#chart {
  margin: 0 auto;
  display: block;
}

div#chart svg {
  fill:red;
}

div#chart_info {
  margin: 0 auto;
  text-align: center;
}

.x.axis .tick{
  /*visibility:display;*/
}

.y.label {
  /*font-family: 'Roboto Mono', monospace;*/
  font-weight: normal;
  fill: #000;

}

/* Tips */
.d3-tip {
  line-height: 1;
  font-weight: 400;
  padding: 12px;
  /*background: rgba(0, 0, 0, 0.8);*/
  color: #fff;
  border-radius: 3px;
  pointer-events: none;
  /*font-family: 'Roboto Mono', monospace;*/
  text-align: center;
  font-size: 14px;
  background: rgba( 70,  130, 180, 0.9);
}

/* Creates a small triangle extender for the tooltip */
.d3-tip:after {
  box-sizing: border-box;
  display: inline;
  font-size: 10px;
  width: 100%;
  line-height: 1;
  /*color: rgba(0, 0, 0, 0.8);*/
  color: rgba( 70,  130, 180, 0.9);
  position: absolute;
  pointer-events: none;
}

/* Northward tooltips */
.d3-tip.n:after {
  content: "\25BC";
  margin: -1px 0 0 0;
  top: 100%;
  left: 0;
  text-align: center;
}

/* Eastward tooltips */
.d3-tip.e:after {
  content: "\25C0";
  margin: -4px 0 0 0;
  top: 50%;
  left: -8px;
}

/* Southward tooltips */
.d3-tip.s:after {
  content: "\25B2";
  margin: 0 0 1px 0;
  top: -8px;
  left: 0;
  text-align: center;
}

/* Westward tooltips */
.d3-tip.w:after {
  content: "\25B6";
  margin: -4px 0 0 -1px;
  top: 50%;
  left: 100%;
}

.d3-tip span.concelho {
  font-weight: normal;
  font-size: 12px;
  display: inline-block;
  margin-top: 6px;
  font-family: 300;
}

.d3-tip .tip_dias_value {
  display: inline-block;
  margin-top: 10px;
  font-size: 14px;
  font-family: 300;
}


/* Content */

/* Header */
header {
  height: 500px;
  position: relative;
  background-color: #81cef0;
  background-image:url('../img/header_02.jpg');
  background-size:cover;
  text-align:center; 
}

header .share_buttons {
  text-align: center;
  margin-top: 20px;
}

header .share_buttons a {
  margin-right: 10px;
}

header .share_buttons a:hover {

}

header .share_buttons a img {
  width: 30px;
  height: 30px;
  opacity: 0.6;
}

header .share_buttons a:hover img {
  opacity: 1;
}

.logos_mobile {
  display: none;
}

header .logos {
  margin-top: 100px;
}

.logo_fronteiras {
  margin-top: 10px;
  text-align: right;
}

.logo_ffms {
  margin-top: 10px;
  text-align: left;
}

.logo_ffms img {
  width: 144px;
  height: 48px;
  opacity: 0.7;
}

.logo_fronteiras img {
  width: 203px;
  height: 48px;
  opacity: 0.7;
}

.logo_fronteiras img:hover,
.logo_ffms img:hover {
  opacity: 1;
}

header h1 {
  text-align: center;
  color: #FFF;
  margin-top: 135px;
  text-transform: uppercase;
  font-size: 54px;
  font-weight: 700;
  font-family: 'Rubik', helvetica, arial, sans-serif;
  letter-spacing: 3px;
  text-shadow: 2px 4px 3px rgba(0,0,0,0.3);
  text-shadow: 0px 4px 3px rgba(0,0,0,0.4),
             0px 8px 13px rgba(0,0,0,0.1),
             0px 18px 23px rgba(0,0,0,0.1);
  vertical-align:middle;;
}



header h3 {
  text-align: center;
  color: #FFF;
  text-shadow: 1px 2px 1px rgba(0,0,0,0.2);
  font-size: 22px;
  font-weight: 300;
}


p {
  text-align: center;
}





.item h2 {
  font-family: 'Rubik', arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  font-size: 38px;
  margin-bottom: 18px;
}


.item p {
  text-align: left;
  font-weight: 300;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 14px;
  margin-top: 0px;
  padding-top: 0px;
}

.item .intro p {
  font-size: 16px;
  font-family: Helvetica, Arial, sans-serif;
  text-align: center;
}

.container-fluid {

}

.container-fluid.alternate {
  background-color: rgba(242,247,251,0.9 );
}

.item {
  padding-top: 80px;
  padding-bottom: 80px;

}

.item .intro h2 img {
  margin-bottom: 20px;
}

.chart_controls {
  margin-top: 40px;

}




/* Contadores */
.contadores {
  margin-top: -40px;
}

.contadores .dados {
  margin-top: 40px;
}

.contadores  .dados p {
  text-align: center;
  font-weight: 900;
  font-size: 42px;
}

.contadores .dados p span.info {
  font-weight: 300;
  font-size: 14px;
  display: block;
}

.contadores span.normal_text {
  font-weight: normal;
  font-weight: 300;
}

/* Tempos de Espera */

.tempos_de_espera_mobile {
  display: none;
}

.tempos_de_espera .row.notes {
  /*margin-bottom: 80px;*/
}

.chart_controls {

}


.chart_controls .main_control {
  margin-bottom: 40px;
}

.chart_controls .main_control p {
  text-align: center;
  margin: 0 auto;
  font-size: 14px;
  font-weight: bold;
}

.chart_controls .secondary_control {
  text-align: center;
}

.chart_controls .secondary_control div {
  position: relative;
}

.chart_controls .secondary_control select {
  position: relative;
}

.chart_controls .secondary_control p {
  text-align: left;
  font-size: 14px;
  font-weight: bold;
}

.chart_controls .main_control p span, 
.chart_controls .secondary_control p span {
  text-align: left;
  font-weight: 300;
  display: inline-block;
  margin-top: 5px;
}


.tempos_de_espera_chart {
  margin: 0 auto;
  text-align: center;
  margin-top: 10px;
}

.chart_info {
  /*font-family: 'Roboto Mono', monospace;*/
  font-size: 12px;
  font-weight: 400;
}

p.notes {
  /*font-family: 'Roboto Mono', monospace;*/
  font-size: 10px;
  font-weight: 300;
  text-align: center;
  margin-top: 15px;
}

.y.axis .tick text {
  /*font-family: 'Roboto Mono', monospace;*/
  fill: #000;
  font-weight: 400;
  font-size: 10px;
}

.tempos_de_espera .chart_controls select {
  box-sizing: content-box;
  padding: 3px;
  outline: 0;
  /*-webkit-appearance: none;*/
}

.tempos_de_espera .chart_controls select option {
}



/* Hospitais */
.hospitais_chart {
  margin-top: 40px;
}

.hospitais p.data_label {
  font-size: 14px;
  text-align: center;
  margin-top: 24px;
}

.hospitais span.box_label {
  width: 12px;
  height: 12px;
  display: inline-block;
  margin-right: 6px;
}

.hospitais span.box_label.publicos {
  background-color: #2a80b9;
}

.hospitais span.box_label.privados {
  background-color: #e84c3d;
  margin-left: 12px;
}

/* Seguro de Saúde */
.seguro_de_saude .dados,
.tempos_de_espera_mobile .dados {
  margin-top: 40px;
}

.seguro_de_saude .dados p,
.tempos_de_espera_mobile .dados p {
  text-align: center;
  font-weight: 900;
  font-size: 42px;
}

.seguro_de_saude .dados p span,
.tempos_de_espera_mobile .dados p span {
  font-weight: 300;
  font-size: 14px;
  display: block;
}

/* Farmacias */
.farmacias .concelho_dropdown {
  margin-top: 40px;
}


.farmacias .dados {
  margin-top: 40px;
}

.farmacias .dados p span.numero_farmacias,
.farmacias .dados p span.numero_habitantes {
  text-align: center;
  font-weight: 900;
  font-size: 42px;
}

.farmacias .dados p span {
  font-weight: 300;
  font-size: 14px;
  display: block;
  text-align: center;
}



/* oferta_sectores */
.oferta_sectores p.data_label {
  font-size: 14px;
  text-align: center;
  margin-top: 24px;
}

.oferta_sectores span.box_label {
  width: 12px;
  height: 12px;
  display: inline-block;
  margin-right: 6px;
}

.oferta_sectores span.box_label.publicos {
  background-color: #2a80b9;
}

.oferta_sectores span.box_label.privados {
  background-color: #e84c3d;
  margin-left: 12px;
}

.oferta_sectores .dados {
  margin-top: 40px;
}

.oferta_sectores .dados p {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  display: block;
  margin: 0;
  padding: 0;
}

.oferta_sectores .dados p span {
  font-weight: normal;
  display: block;
  font-size: 14px;
}

.oferta_sectores #bb_sector_camas {
  margin-bottom: 0;
  padding-bottom: 0;
}

.oferta_sectores text.bb-chart-arcs-title tspan {
  font-size: 14px;
  font-weight: normal;
  baseline-shift: -8px;
}

.oferta_sectores text.bb-chart-arcs-title tspan:first-child {
  font-size: 22px;
  font-weight: bold;
  baseline-shift: 0px;
}


/* Supermercados vs Farmácias */
.supermercados_farmacias p.data_label {
  font-size: 14px;
  text-align: center;
  margin-top: 24px;
}

.supermercados_farmacias span.box_label {
  width: 12px;
  height: 12px;
  display: inline-block;
  margin-right: 6px;
}

.supermercados_farmacias span.box_label.farmacias {
  background-color: #945da4;
}

.supermercados_farmacias span.box_label.fora {
  background-color: #4cba6b;
  margin-left: 12px;
}

.supermercados_farmacias .dados p {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  display: block;
  margin: 0;
  padding: 0;
}

.supermercados_farmacias .dados p span {
  font-weight: normal;
  display: block;
}

#bb_supermercados_ano_2007 .bb-chart-arcs-title,
#bb_supermercados_ano_2016 .bb-chart-arcs-title {
  font-weight: bold;
  font-size: 22px;
}


/* pacientes_internados */

.pacientes_chart {
  margin-top: 40px;
}

.pacientes_internados p.data_label {
  font-size: 14px;
  text-align: center;
  margin-top: 24px;
}

.pacientes_internados span.box_label {
  width: 12px;
  height: 12px;
  display: inline-block;
  margin-right: 6px;
}

.pacientes_internados span.box_label.publicos {
  background-color: #2a80b9;
}

.pacientes_internados span.box_label.privados {
  background-color: #e84c3d;
  margin-left: 12px;
}


/* medicamentos */
.medicamentos .dados {
  margin-top: 40px;
}

.medicamentos .dados p {
  text-align: center;
  font-weight: 900;
  font-size: 42px;
}

.medicamentos .dados p span {
  font-weight: 300;
  font-size: 14px;
  display: block;
}

/* medicamentos gasta mais */
.medicamentos_gasta_mais_chart {
  margin-top: 40px;
}

.medicamentos_gasta_mais_chart #bb_medicamentos_gasta_mais_chart .bb-chart-arc text {
 /* fill: #f00;
  font-size: 15px;
  font-weight: bold;*/
}

.medicamentos_gasta_mais_chart .bb-chart-arcs-title {
  font-size: 22px;
  font-weight: bold;
}



/* Footer */

.footer {
  background-color: #FFF;
  margin-top: 60px;
  margin-bottom: 80px;
}


.footer_main {
  border-top: 1px solid #CCC;
  padding-top: 40px;
}

.footer_main p {
  text-align: left;
  font-weight: 300;
  margin-bottom: 15px;
}

.footer_main p strong {
  color: #666;
  font-weight: normal;
}

.footer_main a {
  color: #666;
  text-decoration: underline;
  display: block;
  margin-bottom: 5px;
}

.footer_main a:hover {
  text-decoration: none;
}

.footer_main h4 {
  text-transform: uppercase;
  font-size: 16px;
  color: #666;
  margin-top: 0px;
}

.footer_main .creditos {
  margin-bottom: 40px;
}

.footer_main .creditos a {
  display: inline;
}

.footer_main .fontes {
  margin-bottom: 40px;
}

.footer_main .fontes h4 {
  text-align: left;
}

.footer_main .creditos h4 {
  text-align: left;
}

.footer_main .produtores {
  text-align: center;
  margin-bottom: 40px;
}

.footer_main .produtores a {
  display: block;
  margin-bottom: 20px;
}

.footer_main .produtores a.fronteiras img {
  width: 203px;
  height: 48px;
}

.footer_main .produtores a.ffms img {
  width: 144px;
  height: 48px;
}

/* Billboard overrides */
.bb-shape.bb-shape.bb-arc:hover {
  cursor: default !important;
}

/* Fixes */
.invisible {
  visibility: hidden;
}

select option[disabled] {
    display: none;
}

/* Mobile */
@media only screen and (max-width: 768px) {

  .top .logo_ffms,
  .top .logo_fronteiras {
    display: none;
  }

  .logos_mobile {
    display: block;
  }

  header .logos_mobile {
    margin-top: 30px;
  }

  .logo_ffms,
  .logo_fronteiras {
    text-align: center;
  }

  .logo_ffms img {
    width: 107px;
    height: 36px;
  }

  .logo_fronteiras img {
    width: 152px;
    height: 36px;
  }

  header h1 {
    margin-top: 20px;
    font-size: 46px;
  }

  header h3 {
    font-size: 20px;
  }
  
  .tempos_de_espera {
    display: none;
  }

  .tempos_de_espera_mobile {
    display: block;
  }

  .tempos_de_espera_mobile .dados span.meses {
    font-weight: normal;
    font-size: 32px;
    display: inline;
  }

  .footer_main .produtores {
    text-align: center;
  }

  .data_label span.label_line {
    display: block;
  }

  .item h2 {
    font-size: 32px;
  }


} /* End of mobile specific CSS */



/* Helpers */

