/* ------- settings ------- */
/* ------- typography ------- */
html, body {
  margin: 0;
  padding: 0;
  font-family: "Open Sans", sans-serif; }

a, a:visited {
  color: black; }

h1 {
  font-size: 1.1em;
  margin: 0 0 10px; }

h2 {
  font-size: 1em;
  margin: 0 0 15px; }

h3 {
  font-size: 0.9em;
  margin: 0; }

p, ul {
  font-size: 0.9em; }

ul {
  margin: 0;
  padding: 0; }

p {
  margin: 0 0 30px; }

img {
  max-width: 100%; }

.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/* ------- layout ------- */
.container {
  width: 97%;
  margin: 10px auto 0; }
  @media only screen and (max-width: 768px) {
    .container {
      width: 95%; } }

/* ------- header ------- */
header {
  display: flex;
  justify-content: space-between;
  position: fixed;
  width: 100%;
  background-color: white;
  top: 0;
  z-index: 2;
  box-shadow: 0px 1px 3px #9a9a9a; }

#header {
  width: 35%; }
  @media only screen and (max-width: 768px) {
    #header {
      width: 80%; } }

header a {
  text-decoration: none; }

/* ------- menu ------- */
#menu {
  margin: 3px 0 0;
  width: 65%; }
  @media only screen and (max-width: 768px) {
    #menu {
      display: none; } }

#menu ul {
  list-style: none;
  display: flex;
  justify-content: flex-end; }

#menu a {
  text-decoration: none; }

#menu ul li {
  width: 33%;
  text-align: right;
  cursor: pointer; }

#mobile_menu_box, #mobile_menu_icon {
  display: none; }

@media only screen and (max-width: 768px) {
  #mobile_menu_icon {
    display: block; } }

/* ------- mobile menu ------- */
#mobile_menu_icon {
  padding: 5px 10px;
  background: url(../img/mobile-menu.svg) center center no-repeat;
  background-size: 55%;
  width: 30px;
  height: 30px; }

#mobile_menu_box {
  top: 45px;
  position: fixed;
  background-color: white;
  width: 100%;
  z-index: 1;
  box-shadow: 0px 1px 3px #bbbbbb; }

#mobile_menu_box a {
  text-decoration: none;
  padding: 20px 10px;
  display: block; }

/* ------- select box ------- */
#select_section_1, #select_section_2, #select_section_3 {
  margin-top: 45px;
  border-bottom: 1px solid #d6d5d5; }
  @media only screen and (max-width: 768px) {
    #select_section_1, #select_section_2, #select_section_3 {
      margin-top: 65px; } }
  @media only screen and (max-width: 400px) {
    #select_section_1, #select_section_2, #select_section_3 {
      margin-top: 75px; } }
  #select_section_1 .select_box, #select_section_2 .select_box, #select_section_3 .select_box {
    display: flex;
    height: 140px;
    width: 98%;
    justify-content: space-between;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      #select_section_1 .select_box, #select_section_2 .select_box, #select_section_3 .select_box {
        width: 100%;
        display: none;
        height: auto;
        flex-wrap: wrap; } }
    #select_section_1 .select_box .selector, #select_section_2 .select_box .selector, #select_section_3 .select_box .selector {
      padding-top: 50px;
      width: 32%;
      border-right: 1px solid #d6d5d5;
      width: 31%; }
      @media only screen and (max-width: 768px) {
        #select_section_1 .select_box .selector, #select_section_2 .select_box .selector, #select_section_3 .select_box .selector {
          width: 100%;
          height: 55px;
          margin: 0;
          padding-top: 0px;
          padding-left: 2.5%;
          border-right: none;
          border-bottom: 1px solid #d6d5d5;
          display: flex; } }
      #select_section_1 .select_box .selector .key, #select_section_2 .select_box .selector .key, #select_section_3 .select_box .selector .key {
        font-size: 0.8em;
        width: 40%;
        margin: 15px 0 0 0;
        top: 5px;
        position: relative; }
        @media only screen and (max-width: 768px) {
          #select_section_1 .select_box .selector .key, #select_section_2 .select_box .selector .key, #select_section_3 .select_box .selector .key {
            margin: 15px 0 0 0;
            width: 40%; } }
      #select_section_1 .select_box .selector .value, #select_section_2 .select_box .selector .value, #select_section_3 .select_box .selector .value {
        font-size: 1.1em;
        margin: 5px 0 0 0;
        width: 90%;
        background-color: white; }
        @media only screen and (max-width: 768px) {
          #select_section_1 .select_box .selector .value, #select_section_2 .select_box .selector .value, #select_section_3 .select_box .selector .value {
            margin: 0; } }
      #select_section_1 .select_box .selector .noselect, #select_section_2 .select_box .selector .noselect, #select_section_3 .select_box .selector .noselect {
        margin-top: 10px; }
      #select_section_1 .select_box .selector .select, #select_section_2 .select_box .selector .select, #select_section_3 .select_box .selector .select {
        font-family: "Open Sans", sans-serif;
        left: -5px;
        border: none;
        position: relative;
        display: inline-block;
        width: 90%;
        top: -5px;
        border-bottom: 1px solid #d6d5d5;
        background-color: white; }
        @media only screen and (max-width: 768px) {
          #select_section_1 .select_box .selector .select, #select_section_2 .select_box .selector .select, #select_section_3 .select_box .selector .select {
            border-bottom: none;
            width: 60%; } }
    #select_section_1 .select_box .selector:last-child, #select_section_2 .select_box .selector:last-child, #select_section_3 .select_box .selector:last-child {
      border: none; }

/* ------- column ------- */
.row {
  display: flex;
  justify-content: flex-start; }
  @media only screen and (max-width: 768px) {
    .row {
      display: block; } }

.column_2 {
  width: 50%;
  padding-right: 2%; }
  @media only screen and (max-width: 768px) {
    .column_2 {
      width: 100%;
      padding-right: 0; } }

.column_3 {
  width: 33%;
  padding-right: 2%; }
  @media only screen and (max-width: 768px) {
    .column_3 {
      width: 100%;
      padding-right: 0; } }
  .column_3 .section {
    margin-bottom: 2em; }

.column_4 {
  width: 25%;
  padding-right: 2%; }
  @media only screen and (max-width: 768px) {
    .column_4 {
      width: 100%;
      padding-right: 0; } }

/* ------- filter ------- */
#filter_button {
  display: none;
  border-bottom: 1px solid #d6d5d5;
  padding: 5px 0 10px; }
  @media only screen and (max-width: 768px) {
    #filter_button {
      display: flex;
      justify-content: space-between; } }

#filter_button .filter {
  width: 90%; }

#mobile_filter_icon {
  background: url("../img/arrow-down.svg") center center no-repeat;
  background-size: 55%;
  width: 30px;
  height: 30px;
  padding: 5px 10px; }

/* ------- dataviz and legend ------- */
@media only screen and (max-width: 450px) {
  .legend {
    text-align: center;
  }
}

.dataviz {
  overflow: hidden; 
}

@media only screen and (max-width: 768px) {
  .dataset {
    margin-top: 50px; } }
.dataset a {
  text-decoration: none; }

.dataset img {
  margin: 0 10px; }

.article {
  cursor: pointer; }

/* ------- footer ------- */
footer {
  border-top: 1px solid #d6d5d5; }
  footer ul {
    list-style: none; }
    footer ul li {
      padding-bottom: 20px; }

#colophon {
  padding: 20px 0; }

#sub_footer {
  border-top: 1px solid #d6d5d5;
  padding: 10px 0 0px; }
  #sub_footer p {
    margin: 0 0 20px; }
  #sub_footer a {
    text-decoration: none; }

/* ------- dataviz n. 1 ------- */
#dv1 {
  height: 75vh;
  margin-bottom: 60px; }

#yAxis .domain, #yAxis .tick line, #grid .domain {
  display: none; }

#grid .tick line {
  stroke: #e9e4e4; }

#dv_infobox ul {
  margin: 0 0 0 20px; }

/* ------- tooltip ------- */
.tooltip {
  position: absolute;
  text-align: left;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  color: #222;
  border-radius: 2px;
  pointer-events: none;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  font-size: 0.8em;
  font-weight: normal; }
  .tooltip p {
    line-height: 1.4em; }
  .tooltip table td {
    font-weight: normal;
    text-align: left;
    vertical-align: top; }
  .tooltip table .label {
    min-width: 30px;
    text-align: left; }
  .tooltip table .value {
    min-width: 40px;
    text-align: right; }
  .tooltip table .increase {
    display: block;
    padding: 0 0 5px;
    color: green; }
  .tooltip table .decrease {
    display: block;
    padding: 0 0 5px;
    color: red; }

#tooltip_dv1 th:nth-child(1) {
  min-width: 90px; }
#tooltip_dv1 th:nth-child(2) {
  min-width: 60px;
  text-align: right; }

#tooltip_dv2 th:nth-child(1) {
  min-width: 100px; }
#tooltip_dv2 th:nth-child(2) {
  min-width: 50px;
  text-align: right; }

/* ------- dataviz n. 2 ------- */
#dv2 {
  height: 75vh;
  margin-bottom: 60px; }

#dv2_legend_a, #dv2_legend_b {
  margin-top: 35px; }
  @media only screen and (max-width: 768px) {
    #dv2_legend_a, #dv2_legend_b {
      top: 0; } }

/*#yAxis_features .domain, #yAxis_issues .domain, #yAxis_features .tick line, #yAxis_issues .tick line, #grid .domain */
#axis_grid .domain, #axis .tick line {
  display: none; }

#grids #grid_issues .tick line, #grids #grid_features .tick line {
  stroke: #e9e4e4; }

/* ------- dataviz n. 3 ------- */
#dv3 {
  margin-bottom: 60px; }

#dv3_legend {
  margin-top: 35px; }

/*# sourceMappingURL=style.css.map */


/* To the top arrow */
.to-top-light {
  background: white;
  position: fixed;
  bottom: 16px;
  right:32px;
  width:50px;
  height:50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:32px;
  color:#1f1f1f;
  text-decoration: none;
  opacity:0;
  pointer-events: none;
  transition: all .4s;
}

.to-top.active {
  bottom:60px;
  pointer-events: auto;
  opacity:1;
}

.to-top-dark {
  background: #4B5563;
  position: fixed;
  bottom: 16px;
  right:32px;
  width:50px;
  height:50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:32px;
  color: white;
  text-decoration: none;
  opacity:0;
  pointer-events: none;
  transition: all .4s;
}

.to-top-dark.active {
  bottom:60px;
  pointer-events: auto;
  opacity:1;
}
.language_name:hover {
  color: brown;
  opacity: 0.7; /* Reduce opacity on hover */
}

#language {
	display: flex;
	margin: 0; 
	width: 10rem;
	padding: 4px 10px 2px 4px; 
	border-left: 1px solid #d6d5d5; 
	text-align: right; 
	background-color: #efefef; 
	
}

.language_icon {
	background: url(../../assets/img/language.svg) center center / 55% no-repeat;
	width: 27px;
}

.language_name {
	width: 8%;
	text-align: center; 
	font-size: .85rem;
	padding-top: 0.6rem;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

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

	.language_name {
		width: auto;
		padding-top: 0rem;
	}

}
