/* latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: local('Open Sans Regular'), local('OpenSans-Regular'), url(../fonts/OpenSans/OpenSans-Regular.ttf) format('ttf');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(../fonts/OpenSans/OpenSans-Semibold.ttf) format('ttf');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src: local('Open Sans Bold'), local('OpenSans-Bold'), url(../fonts/OpenSans/OpenSans-Bold.ttf) format('ttf');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html,
body {
    width: 100%;
    overflow-x: hidden;
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #2f2f2f;
    background: #ffffff;
}

.container-fluid {
    max-width: 1500px;
}

.header {
    background: #fcfcfa;
    z-index: 999999;
    position: relative;
    box-shadow:  0px 1px 10px 0px rgba(0, 0, 0, 0.15);
}

.header .menu-link {
    color: #074372;
    font-weight: 700;
    padding: 10px 23px;
    position: relative;
    text-decoration: none
}

.header .menu-link:hover, .header .menu-link.active {
    background: #05314c;
    color: white;
    border-radius: 5px
}

.header .navbar-nav li {
    position: relative;
}

.logo {
    max-width: 150px
}

#worldMap {
    width: 100% !important;
}

#trMapChart {
    width: 100% !important;
}

.chart-content-cover {}

.chart-content {
    display: none
}

.chart-cover {
    position: relative;
    z-index: 1;
}

.chart-body {
    border-radius: 5px 5px 25px 25px;
    min-height: 400px;
    position: relative;
    padding-top: 30px;
    padding-bottom: 30px;
}

#chartLoader {
    background-color: white;
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 999999;
    top: 0;
    left: 0;
}

#chartLoader:before {
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #FFFFFF;
    opacity: .6;
}

#chartLoader:after {
    border-top: 6px solid #6fa3dd;
}

.chart-header {}

.chart-main-btn {
    background-color: #ffffff;
    color: #2f2f2f;
    text-decoration: none;
    padding: 9px 20px;
    font-weight: 700;
    border-radius: 5px;
    text-transform: uppercase;
    box-shadow: 0px 0px 7px -3px black;
    display: inline-block;
    margin-bottom: 7px;
    font-size: 13px;
    width:100%
}

.chart-main-btn svg{
    height: 20px;
    width: 30px;
    float: left;
    margin-right: 5px;
    fill: #05314c;
}

.chart-main-btn.active svg{
    fill: #ffffff;
}


.chart-main-btn:last-child {
    margin-right: 0
}

.chart-main-btn:hover {
    text-decoration: none;
}

.active.chart-main-btn{
    color: white;
    z-index: 9;
    background-color: #05314c;
    position: relative;
    box-shadow: 0px 4px 12px -6px black;
}
.function-menu .active.chart-main-btn{
    background-color: #0e6296;
}

.btn-bg-1 {
    background-color: #b4bcd8
}

.btn-bg-2 {
    background-color: #a2c1cd
}

.btn-bg-3 {
    background-color: #a8c6bf
}

.active.btn-bg-1,
.btn-bg-1:hover {
    background-color: #7587c5;
    color: white
}

.active.btn-bg-2,
.btn-bg-2:hover {
    background-color: #59a3bf;
    color: white
}

.active.btn-bg-3,
.btn-bg-3:hover {
    background-color: #66bda9;
    color: white
}

#list {
    height: 550px !important;
    position: relative;
    background: #fff;
    padding:10px;
    border-radius: .3rem;
    box-shadow: 0px 0px 10px -5px black;
}
#list h3{
    margin:5px
}
#list canvas{
    padding:0 0 30px
}
#graph {
    padding: 15px 150px 0 0
}

@media (min-width: 768px) {
    .morris-default-style {
    top: -17px !important;
    width: 95%;
    left: 0 !important;
    display: flex;
    justify-content: space-evenly;
    font-family: 'Quicksand' !important;
    font-size: 1rem !important;
    }
}

.morris-hover-point {
    cursor: pointer;
}

.morris-hover-point:hover {
 text-decoration: underline;
}

.select2-container--default .select2-selection--single {
    border: 2px solid #d0d4d8;
    border-radius: 3px;
}

/* footer */
.footer {
    padding: 30px 0;
    background-color: #05314c;
    position: relative;
}

.footer-nav {
    text-align: center;
}

.footer-nav a {
    color: white;
    padding: 10px 15px;
    text-decoration: none;
    display: inline-block;
    font-weight: bolder;
    text-transform: uppercase;
}

.footer-promt-cover {
    text-align: center;
}

.footer-promt {
    background: white;
    display: inline-block;
    width: 75%;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0px 0px 8px -2px black;
    margin-top: 30px;
    text-align: left;
}

.page-title {
    font-size: 22px;
    margin-bottom: 30px;
    font-weight: 700;
}

/* google map */
.gm-svpc {
    display: none !important
}

.gm-style-cc {
    display: none;
}

.gm-fullscreen-control {
    display: none !important
}

.gm-style a>div>img {
    display: none !important
}

.gm-style-mtc {
    display: none !important
}

.gmnoprint {
    display: none !important
}

/*city card*/
#citycard {
    /*display: none;*/
    width: 83%;
    height: 92.5%;
    background: #e4f4fc;
    z-index: 9;
    position: absolute;
    top: 0;
    right: 0;
    padding: 15px 15px;
    /*overflow-y: scroll;*/
}

.close-city {
    position: absolute;
    right: 15px;
    top: 16px;
    cursor: pointer;
    font-size: 28px !important;
    color: #de2727;
    z-index: 9;

}

.city-content {
    margin-top: 15px
}


.city-panel {
    background: #fff;
    border: 2px solid white;
    box-shadow: 0px 0px 9px -4px black;
    border-radius: .3rem;
    margin-top: 15px;
    overflow: hidden;
}

.city-panel-header {
    padding: 15px;
}

.city-panel-header h4 {
    font-size: 16px;
    color: #2e2e2e;
    font-weight: 700;
}

.city-panel-content {
    padding: 15px;
    height: 310px;
    min-height: 310px;
    overflow-y: scroll;
    width: 100%;
}

.city-panel-row,
.city-panel-row h4 {
    font-size: 14px;
    font-weight: 700
}

.city-panel-row span,
.city-panel-detail span,
.city-panel-header span {
    text-align: center;
    display: block;
    margin: 0 auto;
}

.city-panel-header {
    font-weight: bold;
}


.city-panel-detail,
.city-panel-detail h4 {
    font-size: 13px;
    font-weight: 400
}

.city-panel-detail h4,
.city-panel-row h4 {
    margin-bottom: 0
}

.city-panel-detail,
.city-panel-row {
    margin-bottom: 4px;
    line-height: 18px;
}

.city-content h2 {
    color: #6fabc3;
    text-align: center
}

.city_header {
    font-weight: 900;
    font-size: 25px;
    padding: 15px;
    background: #fff;
    box-shadow: 1px 1px 8px -6px black;
    border-radius: .3rem;
    position: relative;
}

.city-header-info {
    display: block;
    font-size: 14px;
    font-weight: 800
}

.cityRankCircle span,
.cityIndexCircle span {
    width: 35px !important;
    height: 35px !important;
    border-radius: 50%;
    display: block
}

.divider {
    width: 100%;
    height: 15px;
    background: #909eb6;
}

.city-panel-col:nth-child(1) .divider {
    background: #909eb6;
}

.city-panel-col:nth-child(2) .divider {
    background: #c5cf9d;
}

.city-panel-col:nth-child(3) .divider {
    background: #d7bda0;
}

.p-0 {
    padding: 0 !important
}

.optgroup {
    font-weight: bold;
}

.optchild {
    padding-left: 15px;
}

/*team*/
.team-card {
    margin-bottom: 30px;
    border: none
}

.team-card .card-body {
    background: #05314c;
    color: #a0a0a0;
    text-align: center;
    padding: 12px 15px;
    border-radius: 0 0 15px 15px;
}

.team-card .card-body p {
    font-size: 13px;
    line-height: 16px;
}

.team-card img {
    box-shadow: 0px 0px 8px -4px black;
    object-fit: cover;
    width: 100%;
    height: 270px;
}

.team-card h3 {
    font-size: 17px;
    text-transform: uppercase;
}

/*video*/
.gallery {
    margin-bottom: 15px;
    position: relative;
    box-shadow: 1px 1px 10px -6px black;
}

.gallery_content {
    padding: 15px;
    padding-top: 0;
    background: #0e76bc;
    color: white;
    font-size: 12px;
    border-radius: 0 0 15px 15px;
}

.gallery img {
    box-shadow: 0px 0px 8px -4px black;
    object-fit: cover;
    width: 100%;
    height: 270px;
}

.gallery .title {
    color: inherit;
    text-decoration: none;
    display: block
}

.gallery h3 {
    padding: 15px 0 0 0;
    font-size: 16px;
    font-weight: 800;
}

.hover-effect {
    position: relative;
    display: inline-block;
    width: 100%
}

.note-video-clip {
    width: 100%
}

.form-control {
    border-radius: 15px;
    font-style: italic;
}

.hover-effect .icon-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
    color: #fff;
    border-color: #fff;
    -webkit-transition: all 500ms ease-in-out;
    -moz-transition: all 500ms ease-in-out;
    -o-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
    opacity: 0;
    filter: alpha(opacity=0);
    font-size: 31px;
    border: 2px solid white;
    border-radius: 50%;
    padding: 18px;
    line-height: 17px;
}

.hover-effect:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    background: rgba(5,49,76, .8);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    -webkit-transition: all 500ms ease-in-out;
    -moz-transition: all 500ms ease-in-out;
    -o-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
    opacity: 0;
    filter: alpha(opacity=0);
    overflow: hidden;
}

.hover-effect:hover .icon-circle {
    opacity: 1;
    filter: alpha(opacity=100);
    box-shadow: 0px 7px 10px rgba(0, 0, 0,1);
}
.hover-effect:hover .icon-circle:hover{
    transform: translateY(-3px);
    box-shadow: 0px 7px 10px rgba(0, 0, 0,.5);
} 

.hover-effect:hover:before {
    width: 100%;
    height: 100%;
    opacity: 1;
    filter: alpha(opacity=100);
}


.icon-circle {
  display: block;
  position: relative;
  overflow: hidden;
}

.icon-circle:after {
  -webkit-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  position: absolute;
  top: -20%;
  left: -230%;
  width: 200%;
  height: 200%;
  transform: rotate(-30deg);
  background: rgba(255, 255, 255, 0.13);
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.13)), color-stop(77%, rgba(255, 255, 255, 0.13)), color-stop(92%, rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
  background: -o-linear-gradient(left, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
  content: "";
  opacity: 0;
  pointer-events: none;
}

.icon-circle:hover:after {
  -webkit-transition-duration: 0.7s, 0.7s, 0.15s;
  -o-transition-duration: 0.7s, 0.7s, 0.15s;
  -webkit-transition-property: left, top, opacity;
  -o-transition-property: left, top, opacity;
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  top: -50%;
  left: -50%;
  opacity: 1;
  transition-duration: 0.7s, 0.7s, 0.15s;
  transition-property: left, top, opacity;
  transition-timing-function: ease;
}

.icon-circle:active:after {
  opacity: 0;
}

.pagination>li>a,
.pagination>li>span {
    background-color: #FFFFFF;
    border: 1px solid #DDDDDD;
    color: inherit;
    float: left;
    line-height: 1.42857;
    margin-left: -1px;
    padding: 4px 10px;
    position: relative;
    text-decoration: none;
}

.pagination>.active>a,
.pagination>.active>span,
.pagination>.active>a:hover,
.pagination>.active>span:hover,
.pagination>.active>a:focus,
.pagination>.active>span:focus {
    background-color: #f4f4f4;
    border-color: #DDDDDD;
    color: inherit;
    cursor: default;
    z-index: 2;
}

.btn-social {
    background-color: #eff1f1;
    color: #9eb6cb;
    margin-right: 5px
}

.footer-promt img {
    width: 100%;
    height: 78px;
    object-fit: contain;
}

.side-nav .nav-link {
    background: #e8ebf0;
    color: #292b2d;
    font-weight: 700;
    border-bottom: 1px solid white;
    font-size: 14px;
    padding: 15px;
    border-radius: 3px
}

.side-nav .nav-link.active {
    background: #05314c;
    color: white;
}

.select2-container {
    max-width: 100%
}

.scala {
    position: absolute;
    left: 285px;
    bottom: 225px;
    /*background: white;*/
    padding: 5px 15px;
    display: none
}

.scala-circle {
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 50%;
    margin-right: 15px;
}

.scala-number {
    margin-top: 21px;
    display: block;
    position: relative;
    font-size: 13px;
}

.scala-number:after {
    content: '';
    width: 1px;
    height: 9px;
    background: #c1c1c1;
    position: absolute;
    top: -6px;
    left: 7px;
}

.scala-line {
    width: 100%;
    height: 1px;
    background: #c1c1c1;
    display: block;
    position: absolute;
    top: 27px;
    left: 0;
}

.select-city-info {
    transform: translate(-50%, -50%);
    position: absolute;
    left: 50%;
    top: 50%;
    font-size: 50px;
    font-weight: 900;
    color: grey;
    width: 100%;
    text-align: center;
}

p {
    font-size: 16px;
}

.cityCardSelect .select2-container .select2-selection--single {
    border: none;
    background: transparent;
}

.cityCardSelect .select2-container .select2-selection--single,
.cityCardSelect .select2-selection__rendered,
.cityCardSelect .select2-selection__arrow {
    height: 40px;
    line-height: 40px;

}

.cityCardSelect .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-width: 10px 10px 0 10px;
    margin-left: -15px;
    margin-top: -5px
}

.translate-cover {
    background: white;
    margin-left: 12px;
}

.translate-link {
    color: black;
    font-size: 13px;
    margin-right: 12px;
}

.city_link {
    position: absolute;
    right: 70px;
    z-index: 9
}


#city_full {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: white;
    padding: 15px;
    padding-top: 30px;
    z-index: 99999999;
    display: none;
}

.select2-dropdown {
    z-index: 999999999999 !important;
}

#city_full .city-panel-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 100% !important;
}

#city_full .city-panel-content {
    height: auto !important;
    overflow-y: hidden;
    width: 100%;
}

#ranking{
    /*position: absolute;
    top: 116px;
    right: 10px;*/
    width: 100%;
    z-index: 999;
    background: white;
    overflow: auto;
    padding: 10px;
    height: 538px;
    border-radius:.3rem;
    box-shadow: 0px 0px 10px -5px black;
}
#rankContent::-webkit-scrollbar, .city-panel-content::-webkit-scrollbar{
  width: 5px;
}

#rankContent::-webkit-scrollbar-track, .city-panel-content::-webkit-scrollbar-track {
  background: #f1f1f1; 
}
 
#rankContent::-webkit-scrollbar-thumb, .city-panel-content::-webkit-scrollbar-thumb {
  background: #888; 
}

#rankContent::-webkit-scrollbar-thumb:hover, .city-panel-content::-webkit-scrollbar-thumb:hover {
  background: #555; 
}

.close-ranking{
    position: absolute;
    right: 25px;
    top: 10px;
    font-size: 30px !important;
     color: #de2727;
    text-shadow: -1px 0px 3px;
    cursor: pointer;
}
