body {
  font-size: 1rem;
  color: #353535;
  font-family: ryo-gothic-plusn, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#seoLink {
  color: #24b6b6;
}

.shadow-sm {
  box-shadow: 0.2rem 0.15rem 1.15rem rgba(0, 0, 0, .3) !important;
}

.card {
  border-radius: 0 !important;
}

.fa-times {
  font-size: 1rem;

}

.fa-times::after {
  position: absolute;
  content: "close";
  left: 0;
  right: 0;
  top: 30px;
  width: 20px;
  margin-left: -10px;
}

button.close {
  display: inline-block;
  margin: auto;
  opacity: 1;
  position: relative;
  float: none;
}


.modal-content {
  background-color: #fff;
  border-radius: 0;
  border: 0 !important;
}


.modal-backdrop {
  background-color: white;
}

.tooltip-inner {
  border-radius: 0;
  max-width: 250px;
}

.no-wrap {
  white-space: nowrap;
}


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

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

a:hover {
  color: #000000;
  text-decoration: none;
}


div#data_paginate,
div#data2_paginate,
.data_filter, .dataTables_length,
.dataTables_filter {
  display: none;
}

/* typography */
.display-1 {
  font-size: 3.6rem;
  line-height: 0.8;
}

.display-2 {
  font-size: 2.2rem;
  line-height: 0.8;
}

.display-3 {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.lead {
  font-size: 1.3rem;
}

.legend-key i {
  font-size: 1.2rem;
}

/********* Colors ********/

.text-pink {
  color: #e2bcae;
}

.text-gray-light {
  color: #667984;
}

.text-blue {
  color: #24b6b6;
}

.bg-blue {
  background-color: #24b6b6 !important;
}

.text-green {
  color: #519828;
}

.bg-green {
  background-color: #519828 !important;
}

.text-blue-dark {
  color: #008aca;
}

.bg-blue-dark {
  background-color: #008aca !important;
}

.text-red {
  color: #ec3d55;
}

.bg-red {
  background: #ec3d55;
}


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

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


.icon {
  height: 20px;
  width: 20px;
}

.divider {
  margin: auto;
  height: 2px;
  width: 200px;
  background-color: #0a0a0a;
}

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

.bg-gray-dark {
  background-color: #667984;
}

.number-rank {
  border-radius: 50%;
  height: 35px;
  width: 35px;
  line-height: 35px;

}


/* headers */

.header {
  background-image: url("images/header-alt.jpg");
  background-repeat: no-repeat;
  background-size: cover;

}

.border {
  border: 1px solid #000000 !important;
}

.img-oval {
  border-radius: 50%;
  height: 253px;
  width: 252px;
}

.img-square {
  padding-bottom: 70%;
  background-size: cover;
  background-position: center;
}

.top-towns {
  margin-top: -20px;
}

.top-towns .title {
  height: 80px;
}

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

.font-weight-semi-bold {
  font-weight: 700;
}

.h4, h4 {
  font-size: 1.7rem;
}


.table tr th.sorting_asc .icon-title, .table tr th.sorting_desc .icon-title {
  background-color: #dce0e1;
}

.table tr th.sorting_asc .sorting-icons, .table tr th.sorting_desc .sorting-icons {
  background-color: #b0bdbf;
}


.table td.highlighted .td-simulate, .table tr td.sorting_1 .td-simulate {
  color: #000000;
  background-color: #efefef;

}

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

/* table */

.sorting-icons {
  width: 100%;
  display: block;
  margin: auto;
  line-height: 29px;
  text-align: center;
  font-size: 13px;
  color: #000000;

}


.table i {
  font-size: 1.2rem;
}

.sorting-icons i {
  font-size: 1rem;
}

.table thead th {
  vertical-align: bottom;
  font-size: 1rem;
  position: relative;
  border-bottom: 0 solid transparent;

}

.table tr:first-child td {
  border-top: 1px solid #dbeaf3;
}

.table .table-subheading th {
  font-size: 1rem;
  padding-bottom: 0 !important;
  height: 10px;
  vertical-align: middle;
  line-height: 1.3rem;
}

.img-circle {
  padding-bottom: 100%;
  background-position: center;
  background-size: cover;
  border-radius: 50%;
}

.img-thumb {
  max-width: 220px;
  margin: auto;
}

.table i {
  font-size: 1.3rem;
}

.sorting-icons i {
  font-size: 1rem;
}

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

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

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


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

.scroll-hint-icon {
  top: calc(120px);
}

table.dataTable {
  margin-top: 0px !important;
  margin-bottom: 0px !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;
}

.table td {
  border: 1px solid #eff2f4;
  color: #000000;
}

.table th {
  border: 0px solid transparent !important;
  color: #000000;
}

.table thead tr {
  border-top: 1px solid transparent;
  border-bottom: 1px solid #eff2f4;
}

table.dataTable {
  border-collapse: collapse !important;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, .0);
}

.table td, .table th {
  border: 1px solid transparent;
  color: #000000;
}

.table tbody tr td {
  border-bottom: 1px solid #dee2e6;
}

.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;
}


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

.btn-dark {
  color: #000;
  background-color: #fff;
  border-color: #000;
}

.heading-holder {
  text-align: center;
  font-weight: 400;
  position: relative;
  white-space: nowrap;
  padding: 0;
  margin: auto;
  border-top-right-radius: 6px;
  border-top-left-radius: 6px;
  background-color: #dce0e1;
}

.heading-holder i {
  font-size: 1.5rem;
}


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

#data .col-6,
#data .col-12 {
  padding-right: 0px;
  padding-left: 0px;
}

#data .table tr td.sorting_1 .td-simulate {
  font-weight: bold;
}

.sorting_asc .title-th,
.sorting_desc .title-th {
  color: #000;
}

.table th {
  padding: 0;
  vertical-align: top;
  border-top: 1px solid transparent;
}

.table td {
  padding: .75rem 0.2rem;
  vertical-align: top;
  border-top: 1px solid transparent;
}


#data .sorting_asc .heading-holder .sorting-icons, #data .sorting_desc .heading-holder .sorting-icons {
  color: #000000;
}


tr.odd {
  background-color: #ffffff;

}

/*****/

.heading-holder .sorting-icons i {
  margin-bottom: 0px;
  font-size: 1rem;
}

.control_lenght {
  color: #ffffff !important;
  text-decoration: none;
  margin: auto;
  text-align: center;
  border: 1px solid #353535;
  background-color: #353535;
}

.control_lenght:hover {
  background-color: #111111;
}


.table td {
  padding: 0;
  line-height: 36px;
}


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

}

.table tr th:first-child {
  padding-left: 0;
}

.table tr th:last-child {
  padding-right: 0rem;
}


.table .title-icon {
  margin: auto;
  padding: 0;
  color: #000;
  display: block;
  background-color: #eff2f4;

}

.table .title-th {
  height: 25px;
}

#data .sorting_asc .heading-holder .title-th, #data .sorting_desc .heading-holder .title-th {
  color: #000 !important;
  background-color: #fff;

}

#data.table td {
  padding: 0;
  text-align: center;
  vertical-align: middle;
  line-height: 40px;
}

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

.table tr td:nth-child(4) .td-simulate {
  margin-right: 0;

}

.table tr td:nth-child(5) .td-simulate {
  margin-left: 0;
  margin-right: 0;
}

.table tr td:nth-child(6) .td-simulate {
  margin-left: 0;
}


.table tr td:nth-child(7) .td-simulate {
  margin-right: 0;

}

.table tr td:nth-child(8) .td-simulate {
  margin-left: 0;
  margin-right: 0;
}

.table tr td:nth-child(9) .td-simulate {
  margin-left: 0;
}


.table tr td:nth-child(10) .td-simulate {
  margin-right: 0;

}

.table tr td:nth-child(11) .td-simulate {
  margin-left: 0;
  margin-right: 0;
}

.table tr td:nth-child(12) .td-simulate {
  margin-left: 0;

}

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

.td-simulate {
  display: block;
  white-space: nowrap;
  font-weight: bold;
  margin: 0 4px;
}

.table tr {
  border: 1px solid transparent;
}

.tooltip.show {
  opacity: 1;
}

.plus-icon {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);

}

.icon-square {
  height: 55px;
  width: 55px;
  line-height: 55px;
  text-align: center;
}

#top-town-for a {
  color: #343a40;
}

#methodology a {
  text-decoration: none;
  color: #343a40;
}

.link {
  color: #0000ee !important;
  text-decoration: underline !important;
}

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

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

.btn-secondary:not(:disabled):not(.disabled).active:focus, .btn-secondary:not(:disabled):not(.disabled):active:focus, .show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: none;
}

.btn-primary {
  background-color: #ffffff;
  border-color: #ffffff;
  height: 45px;
  width: 45px;
  color: #0a0a0a;
  border-radius: 5px;
}

.btn-primary i {
  font-size: 1.3rem;
  vertical-align: middle;
}

.btn-primary:hover {
  background-color: #353535;
  border: 1px solid #353535;
}


.btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-primary.dropdown-toggle:focus {
  box-shadow: none;
}


.btn-primary.active span, .btn-secondary.active span, .btn-danger.active span, .btn-info.active span, .btn-warning.active span {
  color: #fff !important;
  font-weight: 600;
}

.btn-group-lg > .btn, .btn-lg {
  font-size: 0.9rem;
  line-height: 1rem;
  white-space: nowrap;
}


.methodology-bg a {
  color: #0000ee;
}

#methodology i {
  font-size: 1.3rem;
}

.footer a {
  text-decoration: underline;

}

.h2, h2 {
  font-size: 1.6rem;
}


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


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

.display-3 {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.2;
}

.h3, h3 {
  font-size: 1.7rem;
}

.white-space-nowrap {
  white-space: nowrap;
}


.footer-logo {
  min-width: 190px;
}

.sub-heading::before, .sub-heading::after {
  background-color: #0a0a0a;
  content: "";
  position: absolute;
  top: 15px;
  width: 112px;
  height: 1px;
}

.sub-heading::before {
  left: 10px;
}

.sub-heading::after {
  right: 10px;
}

.top-town-for .slick-dots {
  bottom: -16px;
}

.slick-dots li button:before {
  font-size: 8px;
}
#carousel-methodology {

}

@media (min-width: 450px) {
  .display-3 {
    font-size: 2.5rem;

  }

  .display-2 {
    font-size: 2.8rem;
  }
}

@media (max-width: 550px) {
  .top-towns .title {
    height: 56px;
  }
}

@media (min-width: 576px) {
  #carousel-methodology {
    height: 300px;
  }

  .h2, h2 {
    font-size: 2.2rem;
  }


  .display-2 {
    font-size: 3.6rem;
    line-height: 0.8;
  }

  .display-1 {
    font-size: 4.5rem;
    line-height: 0.8;
  }

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

@media (min-width: 768px) {
  .sub-heading::before, .sub-heading::after {
    width: 290px;
  }

  .sub-heading::before {
    left: 0;
  }

  .sub-heading::after {
    right: 0;
  }

  .display-3 {
    font-size: 3.3rem;
    line-height: 1.2;
  }

  .display-2 {
    font-size: 2.5rem;
    line-height: 0.8;
  }

  .display-1 {
    font-size: 5.5rem;
    line-height: 0.8;
  }


  .h2, h2 {
    font-size: 2.6rem;
  }

}


@media (min-width: 992px) {
  .sub-heading::before, .sub-heading::after {
    width: 414px;
  }
  .top-towns .title {
    height: auto;
  }
  .number-rank {
    margin-left: 0;
  }

  .h4, h4 {
    font-size: 1.5rem;
  }

  .h3, h3 {
    font-size: 2.35rem;
  }

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

  .modal-dialog {
    max-width: 950px;
  }

  .display-3 {
    font-size: 5rem;
    line-height: 0.8;

  }

  .display-1 {
    font-size: 7.5rem;
    line-height: 0.8;
  }

}


@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
    line-height: 0.8;
  }

  .sub-heading::before, .sub-heading::after {
    width: 560px;
  }

  button.arrow-next {
    right: 90px;
  }

  button.arrow-prev {
    left: 90px;
  }

  .container {
    max-width: 1298px;
  }

  .custom-container {
    max-width: 1670px;
  }

}

@media (min-width: 1900px) {
  button.arrow-next {
    right: 330px;
  }

  button.arrow-prev {
    left: 330px;
  }
}
