/* Event Listing
------------------------------------------------------- */

/* List Browsing UI */

.tribe-filters-closed #tribe-events-header .tribe-events-sub-nav {
  clear: none !important;
}

.tribe-events-nav-pagination .tribe-events-sub-nav li {
  margin: 0 !important;
}

@media(min-width: 768px){
  .tribe-events-nav-pagination .tribe-events-sub-nav li ~ li {
    margin-left: 1em !important;
  }
}

.tribe-events-nav-pagination .tribe-events-sub-nav li a {
  margin: 0.1em 0;
  display: inline-flex !important;
}

@media(max-width: 767px){
  .tribe-events-nav-pagination .tribe-events-sub-nav .back-to-top-button-container {
    margin: 1em 0 !important;
  }

  .tribe-events-nav-pagination .tribe-events-sub-nav li {
    width: 100% !important;
    float: none !important;
  }

  .tribe-events-nav-pagination .tribe-events-sub-nav li a {
    display: block !important;
  }

  .tribe-events-nav-other,
  .tribe-events-nav-cities {
    margin-top: 1em;
  }
}

.tribe-events-list-controls a i,
.tribe-events-nav-pagination .back-to-top i,
.tribe-events-nav-pagination .tribe-events-sub-nav .tribe-events-nav-previous a i {
  padding-right: 0.5em;
}

.tribe-events-nav-pagination .tribe-events-sub-nav .tribe-events-nav-next a i {
  padding-left: 0.5em;
}

/**/

.tribe-events-list-controls {
  position: relative;
  z-index: 100;
  list-style-type: none;
  margin: 0;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}

.tribe-events-list-controls a {
  white-space: nowrap;
}

.tribe-events-nav-pagination .tribe-events-list-controls {
  margin-right: 0;
  float: left;
}

@media(max-width: 767px){
  .tribe-events-nav-pagination .tribe-events-list-controls {
    width: 100%;
  }
}

.tribe-events-list-controls li {
  display: inline-block;
  margin: 0 1em 0 0;
}

.tribe-events-list-controls li:last-child {
  margin-right: 0;
}

.tribe-events-list-controls li a {
  display: block;
}

.tribe-events-nav-browsing .tribe-events-list-controls li a::before {
  content: "+ ";
  display: inline-block;
  min-width: 1em;
}

.tribe-filters-open .tribe-events-nav-browsing .tribe-events-list-controls li a.toggle-filters::before {
  content: "- ";
}

.tribe-list-map-open .tribe-events-nav-browsing .tribe-events-list-controls li a.toggle-map::before {
  content: "- ";
}

.tribe-list-calendar-open .tribe-events-nav-browsing .tribe-events-list-controls li a.toggle-calendar::before {
  content: "- ";
}

.tribe-events-nav-browsing .tribe-events-list-controls li a.custom-toggle-icon::before {
  display: none;
}

#tribe_events_filter_item_tags,
#tribe_events_filter_item_event_year {
  display: none !important;
}

@media(max-width: 767px){
  .tribe-events-list-controls {
    margin-right: 0;
    flex-direction: column;
  }

  .tribe-events-list-controls li {
    max-width: 100%;
    margin-right: 0;
  }

  .tribe-events-list-controls li ~ li {
    margin-top: 0.1em;
  }
}

#list-navigation-divider {
  display: none;
  background: none;
  margin-top: 0;
}

.tribe-filters-open #list-navigation-divider,
.tribe-list-map-open #list-navigation-divider {
  display: block;
}

/* List Browsing UI > Wrapper and Tools */

#pre-list-content {
  position: relative;
  transition: 0.5s all ease-in-out;
  overflow: hidden;
  z-index: 110;
}

#pre-list-content.interacting {
  overflow: visible;
}

#pre-list-content .browsing-ui,
#pre-list-content .tribe-events-filters-horizontal {
  transition: all 0.5s ease-in-out;
}

#pre-list-content .tribe-events-filters-horizontal.active,
#pre-list-content .browsing-ui {
  position: relative !important;
  width: 100% !important;
  opacity: 1;
  pointer-events: all;
  overflow: visible !important;
  transform: translateY(0);
  z-index: 1;
  pointer-events: all;
}

#pre-list-content .tribe-events-filters-horizontal.active {
  height: auto;
}

#pre-list-content .browsing-ui.hidden,
#pre-list-content .tribe-events-filters-horizontal {
  overflow: hidden !important;
  opacity: 0;
  position: absolute !important;
  top: 0;
  left: 0;
  pointer-events: none;
  height: 1px;
}

@media(min-width: 981px){
  #pre-list-content .browsing-ui.hidden,
  #pre-list-content .tribe-events-filters-horizontal {
    transform: translateY(100%);
  }
}

#pre-list-hero {
  position: relative;
  top: 0;
  left: 0;
  transition: 0.5s all ease-in;
  opacity: 1;
}

#pre-list-hero.hidden {
  position: absolute;
  transition: 0.5s all ease-out;
  opacity: 0;
  pointer-events: none;
}

#pre-list-hero .et_pb_section {
  margin: 0;
}

#tribe-events-map-overview,
#tribe-events-calendar-overview {
  height: 30vw;
}

@media(max-width: 1365px){
  #tribe-events-map-overview,
  #tribe-events-calendar-overview {
    height: 37vw;
  }
}

@media(max-width: 767px){
  #tribe-events-map-overview,
  #tribe-events-calendar-overview {
    height: 300px;
  }
}

/* List Browsing UI > Location Overview */

#tribe-events-map-overview {
  position: relative;
}

#tribe-events-map-overview #tribe-geo-map-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 300px;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
}

#tribe-geo-map {
  width: 100%;
  height: 100%;
}

#tribe-geo-map > * {
  opacity: 1;
  transition: 0.33s all ease-in-out;
}

#tribe-geo-map.hide > * {
  opacity: 0;
}

/* List Browsing UI > Google Maps Overrides */

.gm-style .gm-style-iw-c {
  background-color: #173C4D !important;
  border-radius: 0 !important;
  padding: 1em 1.5em !important;
  max-width: 300px !important;
  max-height: 999px !important;
  box-shadow: none !important;
}

.gm-style .gm-style-iw-d {
  padding-right: 1em;
  overflow: hidden !important;
  max-height: 999px !important;
  max-width: 999px !important;
}

.gm-style .gm-style-iw-d div {
  padding: 0.25em 0;
}

.gm-style .gm-style-iw-d div span + span {
  color: #F49C86;
}

.gm-style .gm-style-iw-t::after {
  background: linear-gradient(45deg, #173C4D 50%, rgba(255,255,255, 0) 51%, rgba(255,255,255, 0) 100%) !important;
  box-shadow: none !important;
}

.gm-style .gm-style-iw-c button {
  font-size: 1.5em;
  top: 0 !important;
  right: 0 !important;
  width: 1.5em !important;
  height: auto !important;
  line-height: 1.5 !important;
  opacity: 1 !important;
}

.gm-style .gm-style-iw-c button img {
  display: none !important;
}

.gm-style .gm-style-iw-c button::before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
  content: "\f00d";
  color: #F5F4BA;
}

/* List Browsing UI > Calendar Overview */

#tribe-events-calendar-overview,
#tribe-events-calendar-overview .tribe-mini-calendar,
#tribe-events-calendar-overview .tribe-mini-calendar thead,
#tribe-events-calendar-overview tr th,
#tribe-events-calendar-overview tr td,
#tribe-events-calendar-overview a {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  opacity: 1;
  font-size: 1.25vw;
  font-weight: 600;
  line-height: 1.8;
}

#tribe-events-calendar-overview {
  padding: 1em;
  display: flex;
  align-items: center;
}

#tribe-events-calendar-overview .tribe-mini-calendar-grid-wrapper {
  margin: 0;
}

#tribe-events-calendar-overview .tribe-mini-calendar-wrapper {
  width: 90%;
  margin: 0 auto;
}

#tribe-events-calendar-overview {
  background-color: #F49C86;
}

#tribe-events-calendar-overview tr th,
#tribe-events-calendar-overview tr td {
  width: 14.2857142857142857%;
  padding: 0.5em 0;
}

#tribe-events-calendar-overview .tribe-events-othermonth {
  opacity: 0;
  pointer-events: none;
}

#tribe-events-calendar-overview a {
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  border-radius: 1em;
}

#tribe-events-calendar-overview a:hover,
#tribe-events-calendar-overview .tribe-events-present a {
  background-color: #F5F4BA;
}

@media(max-width: 1365px){
  #tribe-events-calendar-overview,
  #tribe-events-calendar-overview .tribe-mini-calendar,
  #tribe-events-calendar-overview .tribe-mini-calendar thead,
  #tribe-events-calendar-overview tr th,
  #tribe-events-calendar-overview tr td,
  #tribe-events-calendar-overview a  {
    font-size: 1.5vw;
  }
}

@media(max-width: 767px){
  #tribe-events-calendar-overview,
  #tribe-events-calendar-overview .tribe-mini-calendar,
  #tribe-events-calendar-overview .tribe-mini-calendar thead,
  #tribe-events-calendar-overview tr th,
  #tribe-events-calendar-overview tr td,
  #tribe-events-calendar-overview a  {
    font-size: 14px;
  }

  #tribe-events-calendar-overview .tribe-mini-calendar-wrapper {
    width: 100%;
  }
}

#tribe-events-calendar-overview .tribe-mini-calendar .tribe-mini-calendar-nav tr td {
  padding: 1em 0;
  vertical-align: middle;
  height: 1.75em;
}

#tribe-events-calendar-overview .tribe-mini-calendar-nav span {
  color: #042D3E;
  font-weight: 600;
}

#tribe-events-calendar-overview .tribe-mini-calendar-nav-link {
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
}

#tribe-events-calendar-overview .tribe-mini-calendar-nav span.active {
  display: none;
}

#tribe-events-calendar-overview .tribe-mini-calendar-nav-link span {
  display: none;
}

#tribe-events-calendar-overview .tribe-mini-calendar-nav-link.prev-month::before {
  content: "\f053";
}

#tribe-events-calendar-overview .tribe-mini-calendar-nav-link.next-month::before {
  content: "\f054";
}

#tribe-events-calendar-overview .tribe-mini-calendar-nav #ajax-loading-mini {
  width: auto;
  height: auto;
  margin: 0;
  position: static;
  text-transform: uppercase;
  -webkit-animation: loading-text 1s infinite;
  -moz-animation: loading-text 1s infinite;
  -o-animation: loading-text 1s infinite;
  animation: loading-text 1s infinite;
}

/* List Browsing UI > Filters */

.tribe-events-filter-view.tribe-filters-closed #tribe_events_filters_form,
.tribe-events-filter-view.tribe-filters-closed #tribe_events_filters_wrapper {
  display: block;
}

#tribe_events_filters_wrapper ul,
#tribe_events_filters_wrapper ul li {
  padding-left: 0 !important;
}

#tribe_events_filters_wrapper .tribe-events-filter-group ul li {
  padding: 9px !important;
}

#pre-list-content #tribe_events_filters_wrapper.tribe-events-filters-horizontal,
#tribe_events_filters_wrapper.tribe-events-filters-horizontal {
  margin: 0 auto !important;
  background: none !important;
  border: 1px solid #F5F4BA !important;
  padding: 1em !important;
}

.tribe-events-filter-group li {
  background: transparent;
}

#tribe_events_filters_wrapper.tribe-events-filters-horizontal .tribe-events-filters-label {
  margin-left: 1%;
}

.tribe-events-filters-horizontal .tribe_events_filter_control {
  margin-right: 1%;
}

#tribe_events_filters_wrapper.tribe-events-filters-horizontal .tribe-events-filters-label {
  font-size: 15px;
}

.tribe-events-filters-horizontal .tribe_events_filter_item,
.tribe-events-filters-horizontal .tribe_events_filter_item.active {
  width: 47.9%;
  margin: 1%;
  float: left;
}

.tribe-events-filters-horizontal .tribe-events-filters-content {
  background: none;
  border: none;
}

.tribe-events-filters-horizontal .tribe-events-filter-group {
  box-shadow: none;
  width: 100%;
}

.tribe-events-filters-horizontal .tribe-events-filter-group li:hover {
  background: none;
}

.tribe-events-filter-group label {
  padding: 3px 5px !important;
  border: none !important;
}

#tribe_events_filters_wrapper button {
  font-family: 'Montserrat', 'Lucida Grande', 'Lucida Sans', helvetica, arial, sans-serif !important;
  font-weight: normal;
}

.tribe-events-filters-horizontal .tribe_events_filter_control button {
  color: #F5F4BA;
  border: 1px solid #F5F4BA;
  padding: 5px 8px;
}

.tribe_events_filters_reset .tribe-reset-icon {
  display: none;
}

#tribe_events_filters_wrapper.tribe-events-filters-horizontal .tribe-events-filters-group-heading {
  padding: 5px 8px;
  height: 30px;
}

.tribe-filters-closed .tribe-events-filters-horizontal .tribe_events_filter_control,
.tribe-filters-open .tribe-events-filters-horizontal .tribe_events_filter_control {
  width: auto;
  float: right;
}

.tribe-filters-closed .tribe_events_filters_show_filters,
.tribe-filters-open .tribe_events_filters_show_filters,
.tribe-filters-closed .tribe_events_filters_close_filters,
.tribe-filters-open  .tribe_events_filters_close_filters {
  display: none !important;
}

.tribe-filters-open .tribe_events_filters_reset,
.tribe-filters-closed .tribe_events_filters_reset,
.tribe-events-filters-label {
  display: block !important;
}

@media(min-width: 768px){
  #tribe_events_filters_wrapper .tribe-filter-status {
    float: right;
    margin: 0;
  }
}

@media(max-width: 768px){
  .tribe-filters-closed .tribe-events-filters-horizontal .tribe_events_filter_control,
  .tribe-filters-open .tribe-events-filters-horizontal .tribe_events_filter_control {
    margin: 1em 0;
    width: 100%;
    display: none;
  }

  .tribe-events-filters-mobile-controls {
    display: block !important;
  }

  .tribe-filters-closed .tribe_events_filters_close_filters,
  .tribe-filters-open  .tribe_events_filters_close_filters {
    display: block !important;
  }

  .tribe-events-filters-horizontal .tribe_events_filter_control button {
    width: 100%;
  }

  .tribe-events-filters-horizontal .tribe-events-filters-content {
    padding: 0.5em;
  }

  .tribe_events_filter_control.tribe-events-filters-mobile-controls {
    margin: 0;
  }

  #tribe_events_filters_wrapper.tribe-events-filters-horizontal .tribe-events-filters-label {
    margin: 0 0 0.5em 0;
  }

  .tribe_events_filter_control {
    clear: both;
    margin-top: 10px;
  }

  #tribe_events_filters_wrapper,
  #tribe_events_filters_wrapper.tribe-events-filters-horizontal,
  #tribe_events_filters_wrapper.tribe-events-filters-vertical {
    position: static;
  }

  #tribe_events_filters_wrapper.tribe-events-filters-horizontal .tribe-events-filters-label,
  #tribe_events_filters_wrapper.tribe-events-filters-vertical .tribe-events-filters-label {
    border: none;
    padding: 0;
  }

  #tribe_events_filters_wrapper.tribe-events-filters-horizontal .tribe-events-filters-group-heading {
    padding: 8px 8px 5px 8px;
    line-height: 1.2;
    border-bottom: none;
    height: auto;
  }

  #tribe_events_filters_wrapper.tribe-events-filters-horizontal .tribe_events_slider_val {
    right: 8px;
  }

  .tribe-events-filters-horizontal .tribe_events_filter_control button {
    line-height: 1;
    height: auto;
    background: none;
    margin: 5px 0;
  }

  .tribe-events-filters-horizontal .tribe_events_filter_item,
  .tribe-events-filters-horizontal .tribe_events_filter_item.active {
    width: 100%;
    margin: 5px 0;
  }
}