body {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  color: #0a0935;
  padding: 0;
  margin: 0;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[data-name] {
  cursor: pointer;
}
[data-name]:hover .st1 {
  fill: #3FA9F5;
}
[data-name="United States"].active .st1 {
  fill: #3FA9F5;
}
[data-name="Singapore"]:hover .st2{
  fill: #3FA9F5;
}
#map_svg,
#svg-container {
  width: 100%;
  height: 450px;
}

.bs-popover-auto[x-placement^=right] .arrow::after,
.bs-popover-right .arrow::after {
  left: 1px;
  border-right-color: #ee872a !important;
  z-index: -1;
}

.bs-popover-right .arrow::before {
  left: 0;
  border-right-color: #ee872a !important;
  z-index: -1;
}

.popover {
  border-radius: 7px;
  min-width: 196px;
  background-color: #ee872a;
  border: 1px solid transparent;
}

.popover-body {
  padding: 0;
  color: #212529;
}


.map-controls {
  position: absolute;
  z-index: 10;
  left: 0px;
  right: 0px;
  top: 0px;
  
}

.rounded-left {
  border-top-left-radius: 1rem !important;
  border-bottom-left-radius: 1rem !important;
}

.rounded-right {
  border-top-right-radius: 1rem !important;
  border-bottom-right-radius: 1rem !important;
}

.map-controls-inner {
  height: 37px;
  width: 290px;
}

.map-controls #zoom-in {
  position: absolute;
  left: 5px
}

.map-controls #zoom-out {
  position: absolute;
  right: 5px
}

.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active,
.show>.btn-secondary.dropdown-toggle {
  color: #000000;
  background-color: #fff;
  border-color: #fff;
}

.map-controls .btn-secondary {
  width: auto;
  border-color: #fff;
  background-color: transparent;
  height: 30px;
  width: 30px;
  border-width: 2px;
  border-radius: 50%;
  font-size: 0.6rem;
  
}

.map-controls .btn-secondary:hover {
  border-color: #fff;
  background-color: #fff;
}

.map-controls .btn-secondary:hover {
  border-color: #fff;
  background-color: #fff;
}

.map-controls .btn-secondary:hover i {
  color: #000000;
}

.map-controls #reset.btn-secondary {
  font-size: 1.2rem;
  background-color: #fff;
  width: 110px;
  line-height: 19px;
  border-radius: 1.7rem;
  color: #000000;
  height: 37px;
  margin-top: 0;
}
.map-controls #reset.btn-secondary:hover {
  background-color: #ee872a;
  border-color: #ee872a;
}

.line-height-1 {
  line-height: 1;
}

.details-control span {
  line-height: 36px !important;
}

.details-control {
  cursor: pointer;
  background-color: transparent !important;
  border: 1px solid #ee872a;
  border-radius: 0rem;
  margin: 0 5px !important;
  height: 36px;
  line-height: 29px;
  color: #ee872a;
}

.details-control:hover {
  color: #ffffff !important;
  background-color: #ee872a !important;
}

.details-control:hover i {
  color: #ffffff;
}

.details-control i {
  color: #ee872a;
}

.small,
small {
  font-size: 83%;
  font-weight: 600;
}

.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  width: 110px;
  display: inline-block;
  line-height: 29px;
  vertical-align: middle;
}


.dataTables_length,
.dataTables_paginate {
  display: none;
}

.rounded-bottom-big {
  border-bottom-right-radius: 2.25rem !important;
  border-bottom-left-radius: 2.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 1.45rem !important;
  border-bottom-left-radius: 1.45rem !important;
}

.rounded-top {
  border-top-right-radius: 1.5rem !important;
  border-top-left-radius: 1.5rem !important;
}

.border-orange {
  border: 6px solid #ee872a !important;
  border-radius: 80px;
}

.rounded-lg {
  border-radius: 1rem;
}

.icon {
  height: 40px;
  width: 40px;
  line-height: 40px;
  border-radius: 50%;
  position: absolute;
  right: -17px;
  top: 50%;
  transform: translate(-50%, -50%);
}


.fa-2x {
  font-size: 1.7rem;
  vertical-align: middle;
}

.bg-gray {
  background-color: #ebebeb;
}

.text-dark {
  color: #000000 !important;
}


.scroll-overflow {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.tooltip.show {
  opacity: 1;
}

.line-height-1 {
  line-height: 1 !important;
}


.overflow-hidden {
  overflow: hidden;
  position: relative;
}

a {
  color: #0000ee;
  text-decoration: underline;
  -webkit-text-decoration-skip: objects;
  
}


/* Typography */

.font-weight-bold {
  font-weight: 800 !important;
}

.font-weight-semi-bold {
  font-weight: 600 !important;
}


.font-weight-extra-bold {
  font-weight: 900 !important;
}

.font-style-italic {
  font-style: italic;
}

.header {
  background: url(../images/header.jpg) no-repeat center right;
  background-size: cover;
}

.divider {
  background-color: #3fa9f5;
  height: 5px;
  width: 135px;
  margin: auto;
  position: relative;
}

.header::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  
}

.content-bottom {
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
}

.bg-pink-light {
  background-color: #fbcce8;
}

.text-blue-dark {
  color: #0a0935;
}

.text-blue-lighter {
  color: #3fa9f5;
}


.bg-blue-dark {
  background-color: #0a0935;
}

.bg-orange {
  background-color: #f68c2a;
}

.text-orange {
  color: #f68c2a;
}

.bg-blue {
  background-color: #3fa9f5;
}

.bg-blue-light {
  background-color: #ceecfd;
}

.bg-green-light {
  background-color: #f3fcff;
}

.bg-orange {
  background-color: #ee872a;
}

.bg-dark {
  background-color: #000000 !important;
}

.rounded {
  border-radius: 10px !important;
}

.border-top {
  border-top: 3px solid #ee872a !important;
  border-left: 3px solid #ee872a;
  border-right: 3px solid #ee872a;
}

.img-square {
  padding-bottom: 70%;
  background-size: contain;
  background-position: center -36px;
  background-repeat: no-repeat;
}

.img-second {
  padding-bottom: 85% !important;
}
.img-second-size {
  background-size: 75%;
}
.title-th {
  display: flex;
  height: 64px;
  align-self: center;
  justify-content: center;
}

.control_lenght {
  background: #0a0935;
  color: #FFFFFF;
  padding: 0.5rem 1.5rem;
  text-decoration: none;
  border-radius: 25px;
  border: 1px solid #0a0935;
  display: inline-block;
}

.control_lenght:hover {
  text-decoration: none;
  color: #ee872a;
}

#methodology a,
.footer a {
  color: #0000ee;
  text-decoration: underline;
}


.rank-oval {
  background-color: #f68c2a;
  margin: auto;
  height: 35px;
  width: 35px;
  font-size: 1rem;
  line-height: 26px;
  border-radius: 50%;
  border: 4px solid white;
  margin-left: -28px;
  text-align: center;
}


.lead {
  font-size: 1rem;
  font-weight: 400;
}


.display-4 {
  font-size: 1.1rem;
}

.h5,
h5 {
  font-size: 1rem;
  line-height: 1.2;
}

.icon-th i {
  font-size: 1.3rem;
  
}

.heading-holder {
  position: relative;
  padding-bottom: 0;
  padding-top: 0;
  min-width: 91px;
  margin: 0;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background-color: #aee1ff;
}

.table tr th:last-child .heading-holder {
  min-width: 163px;
}


.table tr td:first-child .td-simulate {
  margin-left: 0;
}

.table tr td:last-child .td-simulate {
  margin-right: 0;
  
}


.sorting-icons {
  text-align: center;
  font-size: 1rem;
  margin: auto;
  color: #000000;
  
}

.table tr th.sorting_asc .heading-holder,
.table tr th.sorting_desc .heading-holder {
  background-color: #021d2d;
  color: #ee872a;
}
#data3.table tr th.sorting_asc .heading-holder,
#data3.table tr th.sorting_desc .heading-holder {
  background-color: #0a0935;
  color: #ee872a;
}
.table tr th.sorting_asc .heading-holder .sorting-icons i,
.table tr th.sorting_desc .heading-holder .sorting-icons i {
  color: #FFFFFF;
}

.table thead th {
  vertical-align: bottom;
  border-bottom: 0px solid transparent;
  padding-bottom: 0px !important;
  font-size: 1rem;
}

.dataTables_wrapper .row {
  margin-right: 0px;
  margin-left: 0px;
}


.dataTables_wrapper .col-6,
.dataTables_wrapper .col-12,
.dataTables_wrapper .col-sm-12 {
  padding-right: 0px;
  padding-left: 0px;
}

.sorting .fa-sort-up,
.sorting .fa-sort-down {
  display: none;
}

.sorting_asc .fa-sort-up,
.sorting_asc .fa-sort {
  display: none;
}

.sorting_desc .fa-sort-down,
.sorting_desc .fa-sort {
  display: none;
}


.table td,
.table th {
  vertical-align: middle;
  text-align: center;
  padding: 0;
}


table.dataTable {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
  border-collapse: collapse !important;
  
}

table.dataTable td.dataTables_empty,
table.dataTable th.dataTables_empty {
  text-align: center;
  padding: 50px;
}


div.dataTables_wrapper div.dataTables_filter {
  text-align: right;
  display: none;
}

table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:before,
table.dataTable thead .sorting_desc_disabled:after {
  display: none;
}

table.dataTable thead>tr>th.sorting_asc,
table.dataTable thead>tr>th.sorting_desc,
table.dataTable thead>tr>th.sorting,
table.dataTable thead>tr>td.sorting_asc,
table.dataTable thead>tr>td.sorting_desc,
table.dataTable thead>tr>td.sorting {
  padding-right: 0px;
  padding-left: 0px;
  position: relative;
}

.table th {
  color: #322e2f;
  font-size: 1rem;
  white-space: nowrap;
  border-top: 0;
}


.table td {
  border-top: 1px solid black;
  color: #000000;
  font-size: 1rem;
  white-space: nowrap;
}
#data3.table tr:first-child td {
  border-top:0; 
  color: #fff;
}
#data3.table td {
  border-top: 1px solid #FFFFFF;
  color: #fff;
}
#data3 .heading-holder {
  background-color: #3fa9f5;
}
.table tr td.sorting_1 .td-simulate {
  color: #000000;
  font-weight: 800;
  background-color: #a1d7fa;
}
#data3.table tr td.sorting_1 .td-simulate {
  color: #000000;
  font-weight: 800;
  background-color: #3fa9f5;
}

.table tr:last-child td {
  border-bottom: 1px solid black;
}

.table tr td.sorting_1 .td-simulate {
  font-weight: 800;
}

.table tr .td-simulate span {
  line-height: 51px;
}

.table td .td-simulate {
  display: block;
  font-weight: 600;
  line-height: 31px;
  margin: 0 4px;
}

/**** Headings ******/
.display-2 {
  font-size: 2.5rem;
}

.display-3 {
  font-size: 2.2rem;
}


.footer p {
  color: black;
}


.methodology a {
  color: #0000ee;
  text-decoration: underline;
}

.footer-logo {
  min-width: 239px;
  max-width: 200px;
}

.h3,
h3 {
  font-size: 1.4rem;
  line-height: 1.2;
}


.h2,
h2 {
  font-size: 1.3rem;
  line-height: 1;
}

.h4, h4 {
  font-size: 1.1rem;
}
.display-1 {
  font-size: 3rem;
}

.white-space-nowrap {
  white-space: nowrap;
}
.container-custom {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
.zebec {
  background-size: 94%;
  background-position: 9px -40px;
}

@media (min-width: 576px) {
  
  .display-1 {
    font-size: 2.8rem;
  }
  
  .h4,
  h4 {
    font-size: 1.4rem;
  }
  
  
  .h3,
  h3 {
    font-size: 2rem;
  }
  
  .display-4 {
    font-size: 2.5rem;
  }
  
  .display-3 {
    font-size: 4.7rem;
    
  }
  
  
}

@media (min-width: 768px) {
  .header::before {
    background: none;
  }
  .display-1 {
    font-size: 3.7rem;
  }
  
  .container-custom {
    max-width: 720px;
  }
  
  .h2,
  h2 {
    font-size: 1.7rem;
  }
  
  .h3,
  h3 {
    font-size: 1.5rem;
  }
  
  .h4,
  h4 {
    font-size: 1rem;
  }
  
  .display-4 {
    font-size: 1.4rem;
  }
  
  
  .display-3 {
    font-size: 2.7rem;
  }
  
  .icon {
    height: 64px;
    width: 64px;
    line-height: 64px;
    border-radius: 50%;
    right: -26px;
  }
  
  .divider {
    margin-left: 0;
  }
  
  .fa-2x {
    font-size: 2.5rem;
  }
}


@media (min-width: 992px) {
  
  #map_svg,
  #svg-container {
    width: 100%;
    height: 550px;
  }
  
  .container-custom {
    max-width: 960px;
  }
  
  .display-4 {
    font-size: 2.2rem;
  }
  
  .h3,
  h3 {
    font-size: 2.5rem;
    
  }
  .text-ellipsis {
    width: 103px;
  }

  .white-space-nowrap {
    white-space: nowrap;
  }
  
  .lead {
    font-size: 1.3em;
  }
  
  .h2,
  h2 {
    font-size: 1.8rem;
    line-height: 1.1;
  }
  
  .display-3 {
    font-size: 4.5rem;
  }
  
  .h4,
  h4 {
    font-size: 1.1rem;
  }
  
  
  .h3,
  h3 {
    font-size: 1.8rem;
  }
  
  .display-2 {
    font-size: 7rem;
    font-weight: 300;
    line-height: 1;
  }
  
  .display-1 {
    font-size: 4.9rem;
  }
  
  .lead {
    font-size: 1.4em;
    
  }

  .img-second {
    padding-bottom: 76% !important;
  }
}

@media (min-width: 1200px) {
  .text-ellipsis {
    width: 100px;
  }
  .img-second {
    padding-bottom: 70% !important;
  }
  #map_svg,
  #svg-container {
    width: 100%;
    height: 850px;
  }
  .container {
    max-width: 1130px;
}
  .container-custom {
    max-width: 1105px;
}
  .header.h3, .header h3 {
    font-size: 2.2rem;
  }
  
  .h4,
  h4 {
    font-size: 1.4rem;
  }
 
  
  .display-1 {
    font-size: 5.1rem;
  }
  
  .display-3 {
    font-size: 5.6rem;
  }
  
  .h2,
  h2 {
    font-size: 2.4rem;
    
  }
  
  .display-2 {
    font-size: 5rem;
    line-height: 1;
    
  }
  
  .lead {
    font-size: 1.4em;
  }
  
  #svg-container {
    position: relative;
  }
  
  .map-controls-inner {
    width: 315px;
  }
  
  .h3,
  h3 {
    font-size: 1.4rem;
  }
 
}

@media (min-width:1400px) {
  .text-ellipsis {
    width: 180px;
  }
  .container {
    max-width: 1255px;
  }
  .container-custom {
    max-width: 1345px;
  }
  
}

@media (min-width: 1600px) {
  
  .container-custom {
    max-width: 1545px;
  }
}
@media (min-width: 2200px) {
  .header.py-lg-4 {
    padding-top: 3.5rem!important;
    padding-bottom: 3.5rem!important;
  }
}