/* Map/Infobox */
#map-canvas {
  width: 100%;
  height: 475px;
  margin-bottom: 25px;
}

.infoBox {
  position: relative;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}

.infoBox:after {
  content: "";
  position: absolute;
  top: 5px;
  left: 100%;
  border: solid transparent;
  height: 0;
  width: 0;
  pointer-events: none;
  border-width: 12px;
}

.infoBox .wrap,
.infoBox .title {
  padding: 10px;
}

.infoBox > img {
  z-index: 1;
}

.infoBox .title {
  min-height: 73px;
}

.infoBox .title.grouped {
  min-height: inherit;
  margin-bottom: 20px;
  padding: 15px 10px;
}

.infoBox .title {
  position: relative;
}

.infoBox .title img {
  float: left;
  margin-right: 10px;
}

.infoBox .title h5 {
  line-height: 1;
  margin: 0;
}

.infoBox p {
  margin-bottom: 5px;
}

.infoBox ol {
  padding: 4px 16px 16px 32px;
  margin: 0;
  height: auto;
  max-height: 200px;
  overflow-y: scroll;
}

.infoBox ol li {
  padding: 0;
  font-size: 16px;
  line-height: 1.3;
}

.infoBox ol li:last-child {
  border-bottom: none;
}

.infoBox ol .group a {
  font-size: 16px;
  display: block;
}

.infoBox ol .time {
  display: block;
  font-size: 14px;
}

.infoBox .time,
.infoBox .location,
.infoBox .group {
  font-size: 14px;
  margin-bottom: 5px;
  display: block;
}

.infoBox .buttons {
  text-align: center;
}

.infoBox .buttons.grouped {
  margin: 0 16px;
}

.infoBox .buttons .btn {
  display: block;
  margin: 5px auto;
}

.infoBox .buttons .btn:only-of-type {
  margin: 5px auto 10px;
  display: block;
}

/* List */
#groupFinder .items {
  margin-bottom: 2em;
  padding-top: .5rem;
  border-width: 1px;
  border-style: solid;
}

#groupFinder .items .gF-heading {
  border: none;
  padding: 0 1rem;
  /* match article padding */
  position: relative;
}

#groupFinder .items .gF-heading span {
  border: none;
}

#groupFinder .items article {
  padding: 1rem;
  position: relative;
  box-sizing: border-box;
  text-align: left;
  overflow: hidden;
}

#groupFinder .items article:not(:first-of-type) {
  border-top: none !important;
}

#groupFinder .list-view article:nth-child(odd) {
  background-color: transparent !important;
}

#groupFinder article .wrap {
  overflow: hidden;
}

#groupFinder article h5 {
  margin-bottom: .25em;
}

#groupFinder article .meta {
  margin: 0;
}

.toggle-wrap {
  text-align: right;
  margin: 20px 0;
}

.view-toggle {
  display: inline-block;
  overflow: hidden;
  padding: 10px 0;
}

.view-toggle a {
  float: left;
  font-size: 20px;
  line-height: 1;
  padding: 8px 16px;
  vertical-align: middle;
  transition: opacity .25s ease-in-out;
  -moz-transition: opacity .25s ease-in-out;
  -webkit-transition: opacity .25s ease-in-out;
}

.view-toggle a.active:hover {
  cursor: default;
}

.view-toggle a:last-child {
  border-right: 0 !important;
}

.list-view img {
  display: none;
}

.list-view article .meta.wrap div span {
  font-weight: 500;
}

.list-view .meta div {
  float: left;
}

.list-view .time,
.list-view .location {
  margin-right: 1%;
}

.list-view .time {
  width: 35%;
}

.list-view .location {
  width: 62%;
}

.list-view .group {
  width: 32%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.grid-view {
  display: block;
}

.grid-view article {
  float: left;
  width: 48%;
  margin-right: 4%;
  margin-bottom: 4%;
  border: 0 !important;
  background-color: transparent !important;
}

.grid-view article:nth-child(even) {
  margin-right: 0;
}

.grid-view article h5 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.grid-view article img {
  float: left;
  margin-right: 10px;
}

.items {
  position: relative;
}

.items .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.8) url("/_assets/img/loaders/preloader.svg") center center no-repeat;
}

/* Detail */
#detailmap {
  width: 100%;
  height: 240px;
  margin: 1rem 0 2rem 0;
}

#groupFinder article.detail #map-display {
  width: 100%;
  height: 240px;
  padding: 0;
}

#groupFinder article.detail #map-display #gmap {
  width: 100%;
  height: 100%;
}

#groupFinder article.detail #map-display #gmap img {
  max-width: none;
}

#groupFinder article.detail {
  padding: 0;
  border: 0 !important;
  background: none !important;
  overflow: hidden;
  margin-bottom: 2rem;
}

#groupFinder article.detail header {
  cursor: default;
  overflow: hidden;
  padding: 0;
  margin: 0;
  background: none !important;
}

#detailmap .mapmarker-text ~ p {
  margin-bottom: 0px;
}

#groupFinder article.detail header img {
  float: none;
  width: 100%;
  margin-bottom: 1.5em;
  margin-right: 0;
}

@media (min-width: 992px) {
  #groupFinder article.detail header img {
    float: left;
    width: 33.33%;
    margin-bottom: 1.5em;
    margin-right: 3%;
  }
}

#groupFinder article.detail header section {
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}

#groupFinder article.detail header section .detail-button {
  margin-top: 20px;
  margin-right: 20px;
}

#groupFinder article.detail .title {
  font-size: 42px;
  margin-bottom: 0.30em;
}

#groupFinder article.detail h4 {
  margin-bottom: .25em;
}

#groupFinder article.detail .details {
  display: block;
  border-top: none;
  padding: 0;
  margin: 0;
  text-align: left;
}

#groupFinder article.detail .details p {
  margin-bottom: 1em;
}

#groupFinder article.detail .details aside {
  float: none;
  width: 100%;
  padding: 0;
  margin-right: 0;
  margin-bottom: 2em;
  text-align: left;
}

@media (min-width: 992px) {
  #groupFinder article.detail .details aside {
    float: left;
    width: 25%;
    padding: 0;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
    text-align: center;
  }
}

#groupFinder article.detail .details aside .btn-default {
  margin: 0 auto;
}

#groupFinder article.detail .details aside img {
  display: block;
  width: 100%;
  max-width: 200px;
  height: auto;
  margin-bottom: 1em;
}

@media (min-width: 992px) {
  #groupFinder article.detail .details aside img {
    max-width: none;
  }
}

#groupFinder article.detail .details aside h4 {
  font-weight: normal;
  text-align: center;
}

#groupFinder article.detail .details aside .btn-primary {
  display: block;
}

#groupFinder article.detail .details > section > h3 {
  line-height: 1;
}

/* Filters */
form#gF-filter .childcare {
  float: left;
  margin-left: 0px;
  position: relative;
  width: 200px;
  line-height: 44px;
  font-size: .9375rem;
  font-weight: 300;
  padding: 0 1.5%;
}

@media (min-width: 992px) {
  form#gF-filter .childcare {
    width: 120px;
  }
}

form#gF-filter .childcare input[type='checkbox'] {
  border: none;
  outline: none;
}

@media (min-width: 992px) {
  form#gF-filter .childcare input[type='checkbox'] {
    right: 1.5em;
  }
}

/* Mobile */
@media only screen and (max-width: 992px) {
  form#gF-filter .childcare {
    float: none;
    margin: 0 auto;
    text-align: center;
  }
  .gF-list h2.gF-heading {
    font-size: 16px;
  }
  #groupFinder article {
    padding: 5%;
  }
  .grid-view article,
  .list-view .meta div {
    float: none;
    width: 100%;
    height: auto;
  }
  .grid-view article {
    margin-right: 0;
  }
  .grid-view article h4 {
    text-overflow: visible;
  }
  #groupFinder article.detail header section .detail-button {
    display: block;
    width: 100%;
    margin: 1em 0;
  }
  #groupFinder article.detail .details section {
    float: none;
    width: 100%;
    padding: 0;
    margin: 2em 0;
  }
  #groupFinder article.detail .details aside {
    width: 100%;
    padding: 0;
    margin: 1em 0;
  }
  #groupFinder article.detail .details aside .button-light {
    max-width: none;
    min-width: 0;
  }
}
