/* Position the dark mode switch */
.dark-mode-switch {
  position: absolute;
  top: 3px;
  right: 20px;
}

/* Toggle Switch */
.switch {
  position: relative;
  display: inline-block;
  width: 35px;
  height: 20px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 13;
  left: 0;
  right: 0;
  bottom: -13;
  background-color: white;
  transition: .4s;
  border-radius: 200px;
  box-shadow: inset 0px 5px 15px rgba(0, 0, 0, 0.4), inset 0px -5px 15px rgba(255, 255, 255, 0.4);
}

.slider:before {
  position: absolute;
  content: "\f185"; /* Unicode for sun */
  font-family: FontAwesome;
  transition: 0.9s;
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  color: #ff4d00;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .4s;
  border-radius: 200%;
  box-shadow: inset 0px 5px 15px rgba(0, 0, 0, 0.4), inset 0px -5px 15px rgba(255, 255, 255, 0.4);
}

input:checked + .slider {
  background-color: #555;
}

input:checked + .slider:before {
  transform: translateX(30px);
  content: "\f186"; /* Unicode for moon */
  transition: 0.9s;
  color: white;
  background-color: black;
  height: 16px;
  left: -13px;
}

/* Dark mode styles */
body.dark-mode {
  background-color: #212529;
  color: #e0e0e0;
}


body.dark-mode .header,
body.dark-mode .footer {
  background-color: #212529;
}

body.dark-mode .about {
  background-color: #212529;
}

body.dark-mode .leaflet-popup-content-wrapper {
  background-color: #212529;
  color: #FFFFFF !important;
  box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}

body.dark-mode .about .item .content .sub-title {
  background-color: #212529;
  color: white;
}

body.dark-mode .navbar-fixed-top .main-nav .nav .nav-item a {
  color: #ff4d00 !important;
}

body.dark-mode .btn-success {
  background-color: #ff4d00;
  border-color: #212529;
  color: white;
}

body.dark-mode .map {
  background-color: #212529;
  color: #ff4d00;
}

body.dark-mode .container {
  background-color: #212529;
}

body.dark-mode .navbar {
  background-color: #212529;
}

body.dark-mode .stats {
  background-color: #212529;
}

body.dark-mode .table a {
	color: #ff4d00;
}

body.dark-mode .navbar-default .navbar-nav>li>a {
  color: #ff4d00;
}

body.dark-mode .form-inline .form-control {
  background-color: #212529;
  color: #ff4d00;
  border-color: #797c7e;
}

body.dark-mode .panel-info .panel-heading {
  background-color: #212529;
  border-color: #ff4d00;
}

body.dark-mode .swiper-slide {
  background-color: #212529;
}

body.dark-mode .swiper-pagination-bullet {
  background-color: #FFFFFF;
}

body.dark-mode .features {
  padding: 80px 0;
  background: #212529;
  background-image:url(../images/about-bg.png);
  background-repeat:no-repeat;
  background-position: center;
  color: #fff;
  font-size:17px;
}

body.dark-mode .news-link {
  color: #e0e0e0;
}

body.dark-mode .join {
  background-color: #212529;
}

body.dark-mode .table {
  color: #e0e0e0;
  border-top-color: #ff4d00;
}

body.dark-mode .news-posted-by {
  color: white;
}

body.dark-mode .navbar-right .dropdown-menu {
  background-color: #212529;
}

body.dark-mode .table-striped>tbody>tr:nth-child(odd) {
  background-color: #212529;
}

body.dark-mode .panel-default>.panel-heading {
  background-color: #212529;
}

body.dark-mode .footer i:hover {
  color: #ff4d00;
}

body.dark-mode .title {
  color: #ff4d00;
}

body.dark-mode .table i {
  color: #ff4d00;
}

body.dark-mode .panel-title {
  color: #e0e0e0;
}

body.dark-mode .header .main-nav .nav .nav-item a {
  color: #ff4d00 !important;
}

body.dark-mode .header .dropdown-menu a {
  color: #FFFFFF !important;
}

body.dark-mode .navbar-default {
  border-color: #797c7e;
}

body.dark-mode .panel {
  border-color: #797c7e;
}

body.dark-mode .list-group-item {
  border-color: #797c7e;
}

body.dark-mode .panel-default>.panel-heading {
  border-color: #797c7e;
}

body.dark-mode .panel-body {
  background-color: #212529;
}

body.dark-mode .footer .copyright {
  color: #ff4d00;
}

body.dark-mode .container .jumbotron {
  background-color: #212529;
  border-color: #797c7e;
  border: 1px solid #797c7e;
}

body.dark-mode .list-group-item {
  background-color: #212529;
}

body.dark-mode .form-control {
  background-color: #212529;
  color: #e0e0e0;
  border-color: #797c7e;
}

body.dark-mode .news-posted-by-main {
  color: #e0e0e0;
}

body.dark-mode .help-block {
  color: white;
}

body.dark-mode .btn-default {
  background-color: #ff4d00;
  color: white;
  border-color: #212529;
}

body.dark-mode .footer i {
  color: #FFFFFF;
}

body.dark-mode .panel-info>.panel-heading {
  background-color: #212529;
  border-color: #ff4d00;
}

body.dark-mode .btn-cta-primary {
  background: #ff4d00;
  border: 1px solid #ff4d00;
  color: #fff;
}

body.dark-mode .btn-cta-primary:hover {
  background: #9a67ea;
  border: 1px solid #9a67ea;
  color: #fff;
}

body.dark-mode .card {
  border: 1px solid #ff4d00;
}

body.dark-mode .card-text {
  color: white;
}

/*PROFILE SECTION*/

body.dark-mode .card-text strong {
    color: #FFFFFF;
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
  .dark-mode-switch {
    top: 3px;
    right: 20px;
  }

  .switch {
    width: 30px;
    height: 15px;
  }

  .slider:before {
    height: 14px;
    width: 14px;
    left: 1px;
    bottom: 1px;
  }

  input:checked + .slider:before {
    transform: translateX(15px);
    height: 14px;
    left: -10px;
  }

  body.dark-mode .container,
  body.dark-mode .header,
  body.dark-mode .footer,
  body.dark-mode .about,
  body.dark-mode .stats,
  body.dark-mode .map,
  body.dark-mode .navbar,
  body.dark-mode .features,
  body.dark-mode .join,
  body.dark-mode .panel-body {
    padding: 10px;
  }

  body.dark-mode .navbar-default .navbar-nav>li>a,
  body.dark-mode .navbar-fixed-top .main-nav .nav .nav-item a,
  body.dark-mode .header .main-nav .nav .nav-item a {
    font-size: 14px;
  }

  body.dark-mode .btn-cta-primary,
  body.dark-mode .btn-success,
  body.dark-mode .btn-default {
    font-size: 14px;
    padding: 10px 15px;
  }

  body.dark-mode .form-control {
    font-size: 14px;
    padding: 5px 10px;
  }
}
