/* EVENT SYSTEM STYLES */
h1.tribe-events-single-event-title {
  margin: 1rem 0 1.5rem;
}

.tribe_events .post-thumbnail {
  margin: 0 0 1rem;
}

.tribe_events .wp-caption-text,
.tribe_events figcaption {
  padding: 0;
  margin-bottom: 1rem;
}

.event_label {
  font-weight: bold;
  text-transform: uppercase;
  width: 100%;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
}

.venue_address,
.event_date,
.event_cost,
.organizer_contact,
.event_sharing_tools,
.event_related_list,
.event_description {
  width: 100%;
  padding: 0;
  margin: 0;
}

.event_related_list {
  margin-top: 1rem;
}

.more_label {
  line-height: 1.25;
  margin-top: 0.25rem;
}

.single-tribe_events .tribe-events-event-image {
  margin-bottom: 1rem;
}

.no_event_image {
  border-bottom: 2px solid #555;
  margin-bottom: 2rem;
}

.venue_address address {
  margin: 0;
  font-style: normal;
}

.event_sharing_tools {
  margin-top: 0.5rem;
}

.single_event_group,
.single_event_group.tribe-events-content {
  padding: 0;
  margin: 0 0 1rem;
  border-bottom: 1px solid #DDD;
  clear: both;
}

.single_event_group:last-child {
  border: none;
  padding: 0;
  margin: 0;
}

.single_event_group dl,
.single_event_group dd {
  margin: 0;
}

ul.organizer_contact {
  list-style: none;
}

.tribe-events-register span {
  font-weight: bold;
  text-transform: uppercase;
  display: block;
}

.tribe-venue {
  font-weight: bold;
}

.event_sharing_tools .at-resp-share-element .at-share-btn {
  margin: 0 0.25rem 0 0;
}

.tribe-venue-widget-list h3.tribe-related-events-title {
  margin-bottom: 0;
}

/* Event List tribe-events/list/... */
#tribe-events-content h1,
#tribe-bar-form h1 {
  border-bottom: 3px solid #595959;
  margin: 0 0 1.5rem 0;
  padding-bottom: 0.75rem;
}

.tribe-common .tribe-events-list-separator-month {
  font-size: 1.75rem;
  display: block;
  width: 100%;
  border-bottom: 1px solid #595959;
  margin-top: 4rem;
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
  font-weight: bold;
  line-height: 1.15;
}

.tribe-common .tribe-events-list-separator-month:first-child {
  margin-top: 0;
}

.event_category_description {
  margin-bottom: 3rem;
  border-bottom: 1px solid #DDD;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

/* ACCESSIBILITY -- dequeue tribe-events-accessibility-style in functions.php ------------------------------------ */
.tribe-accessible-hidden,
.tribe-js .tribe-accessible-js-hidden {
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* GENERAL STYLES -- dequeue tribe-events-calendar-style in functions.php ------------------------------------ */
.tribe-events-back {
  margin: 0 0 20px;
  font-size: 1rem;
  font-weight: bold;
}

.events-list .tribe-events-back.tribe-events-loop {
  margin: 0 auto 20px;
}

/* Event Notices */
.tribe-events-notices,
.tribe-events-register {
  margin: 0 0 2rem;
  background: #FFF4F4;
  color: #111;
  padding: 1rem 2rem;
  border-left: 8px solid #CC0000;
  word-break: break-word;
}

div.tribe-events-notices > ul,
div.tribe-events-notices > ul > li {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: bold;
}

.tribe-events .tribe-events-c-messages__message {
  padding: 2rem 0 0;
  margin: 1.5rem 0;
  font-weight: bold;
  border-top: 1px solid #595959;
}

/* Miscellaneous Helper Classes */
.clearfix:before,
.tribe-clearfix:before,
.clearfix:after,
.tribe-clearfix:after {
  content: '';
  display: table;
}

.clearfix:after,
.tribe-clearfix:after {
  clear: both;
}

.clearfix,
.tribe-clearfix {
  zoom: 1;
}

.tribe-clear {
  clear: both;
}

.tribe-events-visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.tribe-hide-text {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.tribe-events-error {
  display: none;
}

.tribe-events-multi-event-day {
  color: #0f81bb;
}

#tribe-events-content .tribe-events-abbr {
  border-bottom: 0;
  cursor: default;
}

/* Tribe Spinner */
.tribe-events-spinner,
.tribe-events-spinner-medium,
.tribe-events-spinner-small {
  margin-left: -8px;
}

.tribe-events-spinner {
  width: 32px;
  height: 32px;
}

.tribe-events-spinner-medium {
  width: 24px;
  height: 24px;
}

.tribe-events-spinner-small {
  width: 16px;
  height: 16px;
}

/* General Template Header/Footer Nav */
.tribe-events .tribe-events-calendar-list-nav {
  padding: 1rem 5px 2rem;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button-icon-svg {
  display: block;
  margin-left: 0.5rem;
  width: 1rem;
  height: 1rem;
  transition: transform 0.2s ease-in-out 0s;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button {
  align-items: center;
  display: flex;
  flex: none;
  color: #111;
  background: #FFF;
  text-align: center;
  text-decoration: none;
  vertical-align: initial;
  position: initial;
  border: 1px solid #CCC;
  font-weight: 700;
  line-height: 1;
  padding: 0.875rem 1rem;
  margin: 0;
  box-shadow: none;
  transition: none;
  -webkit-border-radius: 0;
  border-radius: 0;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button:focus {
  outline: 2px solid #687f2f;
  outline-offset: -2px;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button:hover {
  background: #DDD;
}

.tribe-events .datepicker th {
  background: #FFF;
}

.tribe-events .datepicker thead {
  background: #FFF;
  border-bottom: 2px solid #111;
  margin-top: 0.5rem;
}

.tribe-events .datepicker.dropdown-menu {
  border: 1px solid #DDD;
}

.tribe-events .datepicker .dow {
  padding-bottom: 0.5rem;
}

.tribe-events .tribe-events-header {
  margin: 0 0 1rem;
  padding: 0;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button--open {
  outline: 2px solid #687f2f;
  outline-offset: -2px;
}

.tribe-common .tribe-common-c-svgicon__svg-fill {
  fill: #111;
}

.tribe-events .tribe-events-c-nav__prev-icon-svg {
  width: 7px;
  margin-right: .5rem;
  fill: #595959;
  display: block
}

.tribe-events .tribe-events-c-nav__next-icon-svg {
  width: 7px;
  margin-left: .5rem;
  fill: #595959;
  display: block
}

/* General Template Header Nav */
#tribe-events-content li.tribe-events-nav-date {
  padding-top: 16px;
}

select.tribe-events-dropdown {
  width: auto;
  margin: 33px 9px 0 0;
}

#tribe-events-events-picker,
#tribe-events-picker {
  display: inline;
}

/* Single Event Template Styles @ Template:single-event.php ------------------------------------ */
/* Date Separators */
.tribe-events-list .type-tribe_events.tribe-event-end-month {
  border-bottom: 0;
  padding-bottom: 0;
}

/* Cal Links */
.single-tribe_events .tribe-events-cal-links {
  display: inline-block;
  zoom: 1;
  margin: 1rem 0 0;
  vertical-align: middle;
}

.single-tribe_events .tribe-events-cal-links a:link,
.single-tribe_events .tribe-events-cal-links a:visited {
  font-size: 1rem;
  font-weight: normal;
  padding: 0.375rem 0.5rem;
  color: #FFF;
  text-decoration: none;
  margin: 0 1rem 1rem 0;
  background: #595959;
}

.single-tribe_events .tribe-events-cal-links a:hover,
.single-tribe_events .tribe-events-cal-links a:active {
  background: #474747;
}

a.tribe-events-button.tribe-events-ics {
  display: none;
}

/* Loader */
.tribe-events-list .loader {
  z-index: 20000;
  position: absolute;
  width: 100%;
  height: 100%;
  background: transparent;
  overflow: hidden;
}

.tribe-events-list .loader-circle {
  border: 16px solid #999;
  border-top: 16px solid #595959;
  border-radius: 50%;
  width: 100px;
  height: 100px;
  animation: spin 2s linear infinite;
  -webkit-animation: spin 2s linear infinite;
  z-index: 20000;
  margin: 0 auto;
}

.tribe-events-list .loader-position {
  width: 180px;
  overflow: visible;
  text-align: center;
  margin: 0 auto;
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* Datepicker */
.datepicker.dropdown-menu {
  border-radius: 0;
  border: none;
}

.datepicker.datepicker-dropdown.dropdown-menu.datepicker-orient-left.datepicker-orient-top {
  z-index: 1000001 !important;
}

.datepicker.datepicker-dropdown td,
.datepicker.datepicker-dropdown th {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}

.datepicker table tr td.active.active,
.datepicker table tr td span.active.active {
  background: #666;
}

.datepicker table tr td.active.active:hover,
.datepicker table tr td span.active.active:hover {
  background: #dadada;
  color: inherit;
}

body.admin-bar .datepicker {
  margin-top: 32px;
}

#tribe-events-bar {
  clear: none;
  height: auto;
  min-width: 220px;
  position: relative;
  width: 100%;
  margin-bottom: 2rem;
}

#tribe-events-bar * {
  box-sizing: border-box;
}

#tribe-bar-form {
  background: #F7F7EE;
  margin: 0 auto;
  position: relative;
  border-bottom: 3px solid #CECEBF;
  padding: 1rem 1.5rem 1.5rem;
}

#tribe-bar-form label {
  text-transform: uppercase;
  font-size: 0.95rem;
  font-weight: bold;
  margin: 0 0 5px 0;
  padding: 0;
}

#tribe-bar-form .tribe-bar-filters {
  float: left;
  margin: 0;
  position: relative;
  width: 100%;
}

#tribe-bar-form #tribe-bar-views + .tribe-bar-filters {
  left: auto;
  right: 0;
  width: 83.3333%;
}

#tribe-bar-form #tribe-bar-views-inner label {
  padding: 0 15px;
  text-align: left;
}

#tribe-bar-form.tribe-bar-mini #tribe-bar-views {
  width: 16.66667%;
}

input[name*='tribe-bar-']::-webkit-input-placeholder,
input[name*='tribe-bar-']:-moz-placeholder,
.tribe-event-placeholder {
  color: #595959;
  font-weight: normal;
  line-height: 1.3;
}

#tribe-bar-dates .select2-choice {
  border-bottom: 1px dashed #b9b9b9;
}

.tribe-events .tribe-events-c-top-bar__datepicker-container {
  max-width: 100%;
}

.tribe-events .tribe-events-header--has-event-search .tribe-events-c-top-bar__datepicker-container {
  max-width: calc(100% + 29px);
}

select.fpdcc-event-loc {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 10 7' width='16' height='16' xmlns='http://www.w3.org/2000/svg'><g><path d='M1.008.609L5 4.6 8.992.61l.958.958L5 6.517.05 1.566l.958-.958z' fill='black'/></g></svg>") no-repeat;
  background-position: right 1rem top 50%;
  padding: 0.75rem 2.5rem 0.75rem 1rem;
}

select.fpdcc-event-loc:hover {
  background-color: #DDD;
}

.tribe-events .tribe-events-c-events-bar {
  width: 100%;
  margin-bottom: 1rem;
}

@media only screen and (min-width: 575px) {
  .tribe-events .tribe-events-c-events-bar {
    width: auto;
    margin-bottom: 0;
  }

  .tribe-events .tribe-events-header--has-event-search .tribe-events-c-top-bar__datepicker-container {
    max-width: calc(100% + 66px);
  }
}

@media only screen and (min-width: 768px) {
  #tribe-bar-form h1 {
    display: none;
  }

  #tribe-events-content h1 {
    display: inherit;
  }
}

@media only screen and (min-width: 1020px) {
  .event_label {
    width: 130px;
    float: left;
  }

  .venue_address,
  .event_date,
  .event_cost,
  .organizer_contact,
  .event_sharing_tools,
  .event_related_list,
  .event_description {
    width: 450px;
    float: right;
  }

  .event_related_list {
    margin-top: 0;
  }

  .tribe-event-url {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

/* v2 */
#tribe-events-pg-template {
  margin: 0;
  max-width: none;
  padding: 0;
}

#tribe-events-pg-template .tribe-events .tribe-events-l-container {
  padding: 0;
  margin: 0;
}