@keyframes loader {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(180deg);
  }
  50% {
    transform: rotate(180deg);
  }
  75% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes loader-inner {
  0% {
    height: 0%;
  }
  25% {
    height: 0%;
  }
  50% {
    height: 100%;
  }
  75% {
    height: 100%;
  }
  100% {
    height: 0%;
  }
}

#filters-wrapper {
  float: left;
  position: relative;
  margin: 0px 0px 60px 0px;
  width: 100%;
  z-index: 1;
}

#filters-wrapper ul.nav-tabs {
  margin-left: 0px;
  background-color: #BC5000;
  float: left;
  width: 100%;
  border-bottom: none;
  -webkit-border-radius: 30px 30px 0px 0px;
  -moz-border-radius: 30px 30px 0px 0px;
  -ms-border-radius: 30px 30px 0px 0px;
  border-radius: 30px 30px 0px 0px;
}

#filters-wrapper ul.nav-tabs > li {
  margin-bottom: -2px;
}

#filters-wrapper ul.nav-tabs > li > a {
  color: #FFFFFF;
  text-decoration: none;
  font-family: "Spot Normal";
  font-size: 1.6rem;
  padding: 15px 40px;
  margin-right: 0px;
  border: none;
}

#filters-wrapper ul.nav-tabs > li > a:hover {
  color: #FFFFFF;
  background-color: #EB5F00;
  border: none;
  border-bottom-color: transparent;
  -webkit-border-radius: 30px 30px 0px 0px;
  -moz-border-radius: 30px 30px 0px 0px;
  -ms-border-radius: 30px 30px 0px 0px;
  border-radius: 30px 30px 0px 0px;
}

#filters-wrapper ul.nav-tabs > li.active a {
  color: #FFFFFF;
  background-color: #EB5F00;
  border: none;
  border-bottom-color: transparent;
  -webkit-border-radius: 30px 30px 0px 0px;
  -moz-border-radius: 30px 30px 0px 0px;
  -ms-border-radius: 30px 30px 0px 0px;
  border-radius: 30px 30px 0px 0px;
}

#filters-wrapper .tab-content {
  background-color: #EB5F00;
  float: left;
  width: 100%;
  -webkit-border-radius: 0px 0px 30px 30px;
  -moz-border-radius: 0px 0px 30px 30px;
  -ms-border-radius: 0px 0px 30px 30px;
  border-radius: 0px 0px 30px 30px;
  position: relative;
  min-height: 225px;
}

#filters-wrapper .tab-content #search-button {
  position: absolute;
  right: 50px;
  bottom: 20px;
}

#filters-wrapper .tab-content #filter {
  float: left;
  width: 100%;
  padding: 40px 30px;
}

#filters-wrapper .tab-content #location {
  float: left;
  width: 100%;
  padding: 40px 30px;
}

#filters-wrapper .tab-content #location label {
  font-family: "Spot Normal";
  color: #FFFFFF;
  font-weight: normal;
  font-size: 1.4rem;
  display: block;
  margin-bottom: 10px;
}

#filters-wrapper .tab-content #location input {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  border-radius: 20px;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  height: 45px;
  font-size: 1rem;
  color: #000000;
}

#filters-wrapper .tab-content #school {
  float: left;
  width: 100%;
  padding: 40px 30px;
}

#filters-wrapper .tab-content #school label {
  font-family: "Spot Normal";
  color: #FFFFFF;
  font-weight: normal;
  font-size: 1.4rem;
  display: block;
  margin-bottom: 10px;
}

#filters-wrapper .tab-content #school input {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  border-radius: 20px;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  height: 45px;
  font-size: 1rem;
  color: #000000;
}

#filters-wrapper .filter-location label {
  font-family: "Spot Normal";
  color: #FFFFFF;
  font-weight: normal;
  font-size: 1.4rem;
  display: block;
  margin-bottom: 10px;
}

#filters-wrapper .filter-location input {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  border-radius: 20px;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  height: 45px;
  font-size: 1rem;
  color: #000000;
}

#results-wrapper {
  float: left;
  width: 100%;
  position: relative;
  margin-bottom: 60px;
}

#results-wrapper h2 {
  color: #312855;
}

#results-wrapper .results-item {
  background-color: #FFFFFF;
  float: left;
  padding: 15px;
  margin-bottom: 15px;
  width: 100%;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  border-radius: 20px;
}

#results-wrapper .results-item .afstand {
  color: #EB5F00;
  font-family: "Spot Normal";
  font-size: 1rem;
}

#results-wrapper .results-item h3 {
  margin-top: 0px;
}

#results-wrapper .results-item span.address {
  display: block;
  font-size: 1rem;
  margin-bottom: 10px;
}

#results-wrapper .results-item ul.direction-list {
  margin: 10px 0px;
  padding: 0px;
  list-style-type: none;
  float: left;
  width: 100%;
}

#results-wrapper .results-item ul.direction-list li.direction-label {
  background-color: #312855;
  color: #FFFFFF;
  padding: 0px 11px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  border-radius: 20px;
  float: left;
  font-size: 0.8rem;
  margin: 0px 4px 4px 0px;
  text-transform: lowercase;
}

#results-wrapper .results-item .information {
  float: right;
  color: #34AFB6;
  text-decoration: none;
}

#results-wrapper .paging {
  display: flex;
  justify-content: center;
  width: 100%;
}

#results-wrapper .paging .pagination > li > a {
  color: #000000;
  border: 1px solid #D1D5D8;
}

#results-wrapper .paging .pagination > li > span {
  color: #000000;
  border: 1px solid #D1D5D8;
}

#results-wrapper .paging .pagination > .active > a {
  background-color: #312855;
  color: #FFFFFF;
}

#results-wrapper .paging .pagination > .active > a:focus {
  background-color: #312855;
  color: #FFFFFF;
}

#results-wrapper .paging .pagination > .active > a:hover {
  background-color: #312855;
  color: #FFFFFF;
}

#results-wrapper .paging .pagination > .active > span {
  background-color: #312855;
  color: #FFFFFF;
}

#results-wrapper .paging .pagination > .active > span:focus {
  background-color: #312855;
  color: #FFFFFF;
}

#results-wrapper .paging .pagination > .active > span:hover {
  background-color: #312855;
  color: #FFFFFF;
}

#results-wrapper .results-map {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  border-radius: 30px;
}

.maps-item-wrapper {
  position: relative;
  float: left;
  width: 100%;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  border-radius: 20px;
}

.maps-item-wrapper .maps-item {
  background-color: #eaeff3;
  padding: 25px;
  padding-right: 60px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  border-radius: 20px;
}

.maps-item-wrapper .maps-item h3 {
  margin-top: 0px;
  font-size: 1.2rem;
  color: #000000;
}

.maps-item-wrapper .maps-item span.address {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 10px;
  color: #000000;
}

.maps-item-wrapper .maps-item .information {
  font-size: 0.9rem;
  color: #34AFB6;
  text-decoration: none;
}

.maps-item-wrapper .arrow-down {
  width: 0px;
  height: 0px;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #eaeff3;
  position: absolute;
  left: 0px;
  top: 100%;
  margin: 0px auto;
  bottom: 0px;
  right: 0px;
}

.control {
  display: block;
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  font-size: 1rem;
  line-height: 160%;
  font-weight: 400;
  margin-bottom: 0px;
  text-transform: lowercase;
  color: #FFFFFF;
}

.control input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.control input:focus ~ .control-indicator {
  background: #D1D5D8;
}

.control input:checked ~ .control-indicator {
  background: #312855;
}

.control input:checked ~ .control-indicator:after {
  display: block;
}

.control input:checked:focus ~ .control-indicator {
  background: #312855;
}

.control input:disabled ~ .control-indicator {
  background: #e6e6e6;
  opacity: 0.6;
  pointer-events: none;
}

.control:hover input ~ .control-indicator {
  background: #D1D5D8;
}

.control:hover input:not([disabled]):checked ~ .control-indicator {
  background: #312855;
}

.control-indicator {
  position: absolute;
  top: 0px;
  left: 0;
  height: 25px;
  width: 25px;
  background: #FFFFFF;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  -ms-border-radius: 7px;
  border-radius: 7px;
}

.control-indicator:after {
  content: '';
  position: absolute;
  display: none;
}

.control-checkbox input:disabled ~ .control-indicator:after {
  border-color: #7b7b7b;
}

ul.filter-checkboxes {
  margin: 50px 0px;
  padding: 0px;
  list-style-type: none;
  float: left;
  width: 100%;
}

ul.filter-checkboxes li {
  margin: 0px 0px 20px 0px;
  float: left;
  width: 33.3333%;
}

.custom-scroll {
  overflow-y: auto;
  height: 555px;
}

.custom-scroll::-webkit-scrollbar {
  width: 7px;
}

.custom-scroll::-webkit-scrollbar-track {
  background: #D1D5D8;
  border-radius: 10px;
}

.custom-scroll::-webkit-scrollbar-thumb {
  background: #312855;
  border-radius: 10px;
}

.custom-scroll::-webkit-scrollbar-thumb:hover {
  background: #312855;
}

.gm-style .gm-style-iw-t::after {
  height: 25px;
  width: 25px;
  background: #eaeff3 !important;
}

.gm-style .gm-style-iw-c {
  background-color: transparent;
  -webkit-border-radius: 20px !important;
  -moz-border-radius: 20px !important;
  -ms-border-radius: 20px !important;
  border-radius: 20px !important;
  padding: 0px !important;
}

.gm-style .gm-style-iw-d {
  overflow: hidden !important;
}

.gm-ui-hover-effect {
  right: 2px !important;
  top: 2px !important;
}

#loader-container {
  text-align: center;
  height: 600px;
}

.loader {
  display: inline-block;
  width: 55px;
  height: 55px;
  position: relative;
  border: 4px solid #EB5F00;
  top: 50%;
  animation: loader 2s infinite ease;
}

.loader-inner {
  vertical-align: top;
  display: inline-block;
  width: 100%;
  background-color: #EB5F00;
  animation: loader-inner 2s infinite ease-in;
}

@media (max-width: 575px) {
  .custom-scroll {
    overflow-y: unset;
    height: auto;
  }
  .filter-btn {
    margin-bottom: 10px !important;
  }
  ul.filter-checkboxes li {
    margin: 5px 0px 5px 0px;
    width: 100%;
  }
  #filters-wrapper ul.nav-tabs > li > a {
    font-size: 1.2rem;
    padding: 12px 18px;
    -webkit-border-radius: 20px 20px 0px 0px !important;
    -moz-border-radius: 20px 20px 0px 0px !important;
    -ms-border-radius: 20px 20px 0px 0px !important;
    border-radius: 20px 20px 0px 0px !important;
  }
  #filters-wrapper .tab-content #filter {
    padding: 30px 10px;
  }
  #filters-wrapper .tab-content #filter #search-button {
    margin: 20px 0px 0px 20px;
  }
  #filters-wrapper .tab-content #location {
    padding: 30px 10px;
  }
  #filters-wrapper .tab-content #location input {
    margin-bottom: 20px;
  }
  #filters-wrapper .tab-content #location #search-button {
    margin: 0px 0px 0px 20px;
  }
  #filters-wrapper .tab-content #school {
    padding: 30px 10px;
  }
  #filters-wrapper .tab-content #school #search-button {
    margin: 20px 0px 0px 20px;
  }
  #filters-wrapper .tab-content #search-button {
    position: unset;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .custom-scroll {
    overflow-y: unset;
    height: auto;
  }
  ul.filter-checkboxes li {
    margin: 5px 0px 5px 0px;
    width: 50%;
  }
  #filters-wrapper ul.nav-tabs > li > a {
    font-size: 1.2rem;
    padding: 12px 18px;
    -webkit-border-radius: 20px 20px 0px 0px !important;
    -moz-border-radius: 20px 20px 0px 0px !important;
    -ms-border-radius: 20px 20px 0px 0px !important;
    border-radius: 20px 20px 0px 0px !important;
  }
  #filters-wrapper .tab-content #filter {
    padding: 30px 10px;
  }
  #filters-wrapper .tab-content #filter #search-button {
    margin: 20px 0px 0px 20px;
  }
  #filters-wrapper .tab-content #location {
    padding: 30px 10px;
  }
  #filters-wrapper .tab-content #location input {
    margin-bottom: 20px;
  }
  #filters-wrapper .tab-content #location #search-button {
    margin: 0px 0px 0px 20px;
  }
  #filters-wrapper .tab-content #school {
    padding: 30px 10px;
  }
  #filters-wrapper .tab-content #school #search-button {
    margin: 20px 0px 0px 20px;
  }
  #filters-wrapper .tab-content #search-button {
    position: unset;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  #filters-wrapper ul.nav-tabs > li > a {
    font-size: 1.2rem;
  }
  #filters-wrapper .tab-content #location input {
    margin-bottom: 20px;
  }
  ul.filter-checkboxes li {
    margin: 5px 0px 5px 0px;
    width: 50%;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  ul.filter-checkboxes li {
    margin: 5px 0px 5px 0px;
    width: 30%;
  }
}
