:root {
    --tec-grid-gutter: 48px;
    --tec-grid-gutter-negative: calc(var(--tec-grid-gutter) * -1);
    --tec-grid-gutter-half: calc(var(--tec-grid-gutter) /2);
    --tec-grid-gutter-half-negative: calc(var(--tec-grid-gutter-half) * -1);
    --tec-grid-gutter-small: 42px;
    --tec-grid-gutter-small-negative: calc(var(--tec-grid-gutter-small) * -1);
    --tec-grid-gutter-small-half: calc(var(--tec-grid-gutter-small) /2);
    --tec-grid-gutter-small-half-negative: calc(var(--tec-grid-gutter-small-half) * -1);
    --tec-grid-gutter-page: 42px;
    --tec-grid-gutter-page-small: 19.5px;
    --tec-grid-width-default: 1176px;
    --tec-grid-width-min: 320px;
    --tec-grid-width: calc(var(--tec-grid-width-default) + var(--tec-grid-gutter-page) * 2);
    --tec-grid-width-1-of-2: 50%;
    --tec-grid-width-1-of-3: 33.333%;
    --tec-grid-width-1-of-4: 25%;
    --tec-grid-width-1-of-5: 20%;
    --tec-grid-width-1-of-7: 14.285%;
    --tec-grid-width-1-of-8: 12.5%;
    --tec-grid-width-1-of-9: 11.111%;
    --tec-spacer-0: 4px;
    --tec-spacer-1: 8px;
    --tec-spacer-2: 12px;
    --tec-spacer-3: 16px;
    --tec-spacer-4: 20px;
    --tec-spacer-5: 24px;
    --tec-spacer-6: 28px;
    --tec-spacer-7: 32px;
    --tec-spacer-8: 40px;
    --tec-spacer-9: 48px;
    --tec-spacer-10: 56px;
    --tec-spacer-11: 64px;
    --tec-spacer-12: 80px;
    --tec-spacer-13: 96px;
    --tec-spacer-14: 160px;
    --tec-z-index-spinner-container: 100;
    --tec-z-index-views-selector: 30;
    --tec-z-index-dropdown: 30;
    --tec-z-index-events-bar-button: 20;
    --tec-z-index-search: 10;
    --tec-z-index-filters: 9;
    --tec-z-index-scroller: 7;
    --tec-z-index-week-event-hover: 5;
    --tec-z-index-map-event-hover: 5;
    --tec-z-index-map-event-hover-actions: 6;
    --tec-z-index-multiday-event: 5;
    --tec-z-index-multiday-event-bar: 2;
    --tec-color-text-primary: #004C97;
    --tec-color-text-primary-light: #004C979e;
    --tec-color-text-secondary: #004C97;
    --tec-color-text-disabled: #d5d5d5;
    --tec-color-text-events-title: var(--tec-color-text-primary);
    --tec-color-text-event-title: var(--tec-color-text-events-title);
    --tec-color-text-event-date: var(--tec-color-text-primary);
    --tec-color-text-secondary-event-date: var(--tec-color-text-secondary);
    --tec-color-icon-primary: #004C97;
    --tec-color-icon-primary-alt: #757575;
    --tec-color-icon-secondary: #bababa;
    --tec-color-icon-active: #004C97;
    --tec-color-icon-disabled: #d5d5d5;
    --tec-color-icon-focus: #FF8200;
    --tec-color-icon-error: #da394d;
    --tec-color-event-icon: #004C97;
    --tec-color-event-icon-hover: #FF8200;
    --tec-color-accent-primary: #FF8200;
    --tec-color-accent-primary-hover: #FF8200cc;
    --tec-color-accent-primary-active: #FF8200e6;
    --tec-color-accent-primary-background: #FF820012;
    --tec-color-accent-secondary: #004C97;
    --tec-color-accent-secondary-hover: #004C97cc;
    --tec-color-accent-secondary-active: #004C97e6;
    --tec-color-accent-secondary-background: #004C9712;
    --tec-color-button-primary: var(--tec-color-accent-primary);
    --tec-color-button-primary-hover: var(--tec-color-accent-primary-hover);
    --tec-color-button-primary-active: var(--tec-color-accent-primary-active);
    --tec-color-button-primary-background: var(--tec-color-accent-primary-background);
    --tec-color-button-secondary: var(--tec-color-accent-secondary);
    --tec-color-button-secondary-hover: var(--tec-color-accent-secondary-hover);
    --tec-color-button-secondary-active: var(--tec-color-accent-secondary-active);
    --tec-color-button-secondary-background: var(--tec-color-accent-secondary-background);
    --tec-color-link-primary: var(--tec-color-text-primary);
    --tec-color-link-accent: var(--tec-color-accent-primary);
    --tec-color-link-accent-hover: #FF8200cc;
    --tec-color-border-default: #d5d5d5;
    --tec-color-border-secondary: #e4e4e4;
    --tec-color-border-tertiary: #7d7d7d;
    --tec-color-border-hover: #004C97;
    --tec-color-border-active: #004C97;
    --tec-color-background: #fff;
    --tec-color-background-events: #0000;
    --tec-color-background-transparent: #ecf0ffb3;
    --tec-color-background-secondary: #f7f6f6;
    --tec-color-background-messages: #004C9712;
    --tec-color-background-secondary-hover: #f0eeee;
    --tec-color-background-error: #da394d14;
    --tec-color-box-shadow: rgba(#000, 0.14);
    --tec-color-box-shadow-secondary: rgba(#000, 0.1);
    --tec-color-scroll-track: rgba(#000, 0.25);
    --tec-color-scroll-bar: rgba(#000, 0.5);
    --tec-color-background-primary-multiday: #FF82003d;
    --tec-color-background-primary-multiday-hover: #FF820057;
    --tec-color-background-secondary-multiday: #004C973d;
    --tec-color-background-secondary-multiday-hover: #004C9757;
    --tec-color-accent-primary-week-event: #FF82001a;
    --tec-color-accent-primary-week-event-hover: #FF820033;
    --tec-color-accent-primary-week-event-featured: #FF82000a;
    --tec-color-accent-primary-week-event-featured-hover: #FF820024;
    --tec-color-background-secondary-datepicker: var(--tec-color-background-secondary);
    --tec-color-accent-primary-background-datepicker: var(--tec-color-accent-primary-background);
    --tec-border-radius-default: 50px;
    --tec-border-width-week-event: 2px;
    --tec-box-shadow-default: 0 2px 5px 0 var(--tec-color-box-shadow);
    --tec-box-shadow-tooltip: 0 2px 12px 0 var(--tec-color-box-shadow);
    --tec-box-shadow-card: 0 1px 6px 2px var(--tec-color-box-shadow);
    --tec-box-shadow-multiday: 16px 6px 6px -2px var(--tec-color-box-shadow-secondary);
    --tec-form-color-background: var(--tec-color-background);
    --tec-form-color-border-default: var(--tec-color-text-primary);
    --tec-form-color-border-active: var(--tec-color-accent-secondary);
    --tec-form-color-border-secondary: var(--tec-color-border-tertiary);
    --tec-form-color-accent-primary: var(--tec-color-accent-primary);
    --tec-form-box-shadow-default: var(--tec-box-shadow-default);
    --tec-opacity-background: 0.07;
    --tec-opacity-select-highlighted: 0.3;
    --tec-opacity-icon-hover: 0.8;
    --tec-opacity-icon-active: 0.9;
    --tec-opacity-default: 1;
    --tec-outline-width-default: 2px;
    --tec-outline-style-default: solid;
    --tec-outline-color-default: var(--tec-color-border-active, #1a202c);
    --tec-outline-offset-default: 2px;
    --tec-outline-active-default: var(--tec-outline-width-default) var(--tec-outline-style-default) var(--tec-outline-color-default);
    --tec-transition: all 0.2s ease;
    --tec-transition-background-color: background-color 0.2s ease;
    --tec-transition-color-border-color: color 0.2s ease, border-color 0.2s ease;
    --tec-transition-transform: transform 0.2s ease;
    --tec-transition-border-color: border-color 0.2s ease;
    --tec-transition-color: color 0.2s ease;
    --tec-transition-opacity: opacity 0.2s ease;
    --tec-font-family-sans-serif: "Source Sans 3", sans-serif, Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
    --tec-font-weight-regular: 400;
    --tec-font-weight-bold: 700;
    --tec-font-size-0: 11px;
    --tec-font-size-1: 12px;
    --tec-font-size-2: 14px;
    --tec-font-size-3: 16px;
    --tec-font-size-4: 18px;
    --tec-font-size-5: 20px;
    --tec-font-size-6: 22px;
    --tec-font-size-7: 24px;
    --tec-font-size-8: 28px;
    --tec-font-size-9: 32px;
    --tec-font-size-10: 42px;
    --tec-line-height-0: 1.38;
    --tec-line-height-1: 1.42;
    --tec-line-height-2: 1.5;
    --tec-line-height-3: 1.62;

    --tec-color-background-events-bar: #FDFBFF;
    --tec-color-border-events-bar: #FDFBFF;
}

.tribe-events-page-template .site {
    background-color: #ECF0FF !important;
}

.tribe-events-single .tribe_events {
    background-color: #FDFBFF !important;
    padding: var(--tec-spacer-8) !important;
    border-radius: var(--tec-border-radius-default) !important;
}

.tooltipster-base,
.tribe-events .datepicker,
.tribe-events-c-subscribe-dropdown__list {
    border-radius: 24px !important;
    /* padding-top: var(--tec-spacer-8) !important; */
}

.tribe-common,
.tribe-common a,
.tribe-events-c-subscribe-dropdown__list a {
    text-decoration: none !important;
}

.tribe-events .datepicker button {
    border: none !important;
}

.tribe-events-c-top-bar__datepicker-container {
    max-width: 240px !important;
}

.tribe-events-c-top-bar__datepicker-container td {
    background-color: transparent !important;
}

.tribe-events-c-top-bar__datepicker-container td .datepicker-grid {
    gap: 12px !important;
}

.tribe-events-c-top-bar__datepicker-container td .datepicker-grid>button {
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
}

.tribe-events .datepicker .day,
.tribe-events .datepicker .month {
    width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    font-size: var(--tec-font-size-2);
    border: none !important;
}

.tribe-events .datepicker .datepicker-switch, 
.tribe-events .datepicker .next, 
.tribe-events .datepicker .prev {
    padding: var(--tec-spacer-1) 0;
    vertical-align: middle;
    font-size: var(--tec-font-size-2) !important;
}

.tribe-events .datepicker th {
    padding: 0 !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

.tribe-common-l-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;

    padding-top: var(--tec-spacer-8) !important;
    padding-bottom: var(--tec-spacer-8) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background-color: transparent !important;
}

.tribe-events-calendar-list,
.tribe-events-calendar-month {
    background-color: #FDFBFF !important;
    border-radius: var(--tec-border-radius-default) !important;

    padding-top: var(--tec-spacer-8) !important;
    padding-bottom: var(--tec-spacer-8) !important;
    padding-left: var(--tec-spacer-8) !important;
    padding-right: var(--tec-spacer-8) !important;

    overflow: hidden !important;
}

.tribe-events-calendar-month thead th {
    border: none !important;
    padding-bottom: var(--tec-spacer-4) !important;
    padding-top: var(--tec-spacer-6) !important;
    padding-left: var(--tec-spacer-3) !important;
}

.tribe-events-header__messages {
    column-span: all !important;
}

.tribe-events li,
.tribe-events-single li {
    list-style: none;
}

.tribe-common-c-btn-border-small {
    background-color: transparent !important;
    border-color: var(--tec-color-text-secondary) !important;
    font-size: var(--tec-font-size-3) !important;
    padding: 10px 24px !important;
    margin: 0px !important;

    font-weight: 600 !important;
    white-space: nowrap !important;
}

.tribe-events-c-top-bar__datepicker {
    flex: initial !important;
}

.tribe-events-c-top-bar__datepicker-button {
    color: #FDFBFF !important;
    font-size: var(--tec-font-size-3) !important;
    background-color: var(--tec-color-text-secondary) !important;
    border: 1px solid var(--tec-color-text-secondary) !important;
    border-radius: var(--tec-border-radius-default) !important;
    padding: 10px 24px !important;
    margin: 0px !important;
}

.tribe-events-c-top-bar__datepicker-button .tribe-common-c-svgicon__svg-fill {
    fill: #FDFBFF !important;
}

.tribe-common-c-btn-icon:disabled {
    opacity: 0.5 !important;
    /* cursor: not-allowed !important; */
}

.tribe-events-c-subscribe-dropdown__button,
.tribe-events-c-top-bar__datepicker-button,
.tribe-events-c-view-selector__list-item-text {
    font-weight: 600 !important;
    font-size: var(--tec-font-size-3) !important;
}

.tribe-events-calendar-list__event-title-link,
.tribe-events-calendar-list__event-title-link > a,
.tribe-events-calendar-latest-past__event-title-link,
.tribe-events-calendar-latest-past__event-title-link > a {
    font-size: var(--tec-font-size-7) !important;
    text-decoration: none !important;
}

.tribe-common-c-btn-icon,
.tribe-events-c-nav__list-item a,
.tribe-events-c-nav__list-item button,
.tribe-events-single .tribe-events-back a,
.tribe-events-c-view-selector__list-item-link,
.tribe-events-nav-pagination .tribe-events-nav-next a,
.tribe-events-nav-pagination .tribe-events-nav-previous a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: var(--tec-color-text-secondary) !important;
    background-color: transparent !important;
    font-size: var(--tec-font-size-3) !important;
    border: 1px solid var(--tec-color-text-secondary) !important;
    border-radius: var(--tec-border-radius-default) !important;
    /* padding: 8px 24px !important; */
    font-weight: 600 !important;
    text-decoration: none !important;

    height: 44px !important;
}

.tribe-events-back {
    margin-bottom: var(--tec-spacer-8) !important;
}

.tribe-events-c-nav__list-item {
    width: auto !important;
}

.tribe-events-single .tribe-events-back a,
.tribe-events-c-nav__list-item a,
.tribe-events-c-nav__list-item button,
.tribe-events-nav-pagination .tribe-events-nav-next a,
.tribe-events-nav-pagination .tribe-events-nav-previous a {
    padding: 0px 16px !important;
}

.tribe-events-c-nav__list-item button:disabled {
    opacity: 0.5 !important;
}

.tribe-events-c-nav__list-item button path {
    fill: var(--tec-color-text-secondary) !important;
}

.tribe-events-c-view-selector__list-item-link {
    padding: 8px 24px !important;
}

.tribe-events-c-view-selector__list-item-link:after {
    display: none !important;
}

.tribe-common-c-btn-icon {
    width: 44px !important;
}

.tribe-common-c-btn-icon svg {
    width: 14px !important;
    height: 14px !important;
}

.tribe-common-c-btn-icon path {
    fill: var(--tec-color-text-secondary) !important;
}

.tribe-events-nav-pagination .tribe-events-nav-next a:after,
.tribe-events-nav-pagination .tribe-events-nav-previous a:before {
    background-size: 7px !important;
}

.tribe-events-c-top-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end !important;
    gap: var(--tec-spacer-2);
}

.tribe-events-c-subscribe-dropdown {
    margin: 0 !important;
    margin-left: auto !important;
}

.tribe-events-c-top-bar__nav-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--tec-spacer-1);
    
    display: none !important;
}

.tribe-events-c-top-bar__nav-list > * {
    padding: 0 !important;
}

.tribe-events-single-event-title {
    font-size: var(--tec-font-size-10) !important;
}

.tribe-common-b2 {
    font-size: var(--tec-font-size-3) !important;
}

.tribe-events-schedule,
.tribe-events-calendar-list__month-separator h3,
.tribe-events-calendar-list__month-separator h3 time {
    /* position: relative; */
    /* left: -10px; */
    /* display: inline-flex; */
    /* background-color: #ECF0FF !important; */
    /* border-radius: var(--tec-border-radius-default) !important; */
    /* padding: var(--tec-spacer-1) var(--tec-spacer-2) !important; */
    font-size: var(--tec-font-size-6) !important;
    font-weight: var(--tec-font-weight-regular) !important;
    color: var(--tec-color-text-secondary) !important;
}

.tribe-events-schedule {
    margin-top: var(--tec-spacer-1) !important;
}


.tribe-events-header {
    display: grid !important;
    grid-template-columns: 0px 1fr 1fr;
    gap: 8px;
}

.tribe-events-header--has-event-search {
    grid-template-columns: 1fr 350px !important;
    grid-template-rows: auto auto !important;
}

.tribe-events-header--has-event-search > *:first-child {
    grid-column: 1 / -1;
}

.tribe-events-header__messages {
    margin: 0 !important;
}

.tribe-events-c-top-bar,
.tribe-events-header__events-bar {
    background-color: transparent !important;
    border: none !important;
    margin: 0 !important;
}

.tribe-events-c-top-bar__actions {
    order: -1 !important;
}

.tribe-events-c-view-selector__content,
.tribe-events-c-events-bar__search-container {
    background-color: transparent !important;
    flex: initial !important;
}

.tribe-event-tags-label,
.tribe-events-calendar-list__month-separator::after {
    display: none !important;
}

.tribe-events-calendar-list__event-date-tag {
    align-items: flex-start !important;
}

.tribe-events-calendar-list__event-date-tag-datetime {
    display: inline-flex;
    background-color: #fff !important;
    border-radius: 12px !important;

    height: auto !important;

    padding-top: var(--tec-spacer-1) !important;
    padding-bottom: var(--tec-spacer-1) !important;

    color: var(--tec-color-text-secondary) !important;
    background-color: #ECF0FF !important;
    font-size: var(--tec-font-size-3) !important;
    /* border: 1px solid var(--tec-color-text-secondary) !important; */
    border-radius: 6px !important;
}

.tribe-events-calendar-list__event-date-tag-weekday {
    font-size: var(--tec-font-size-2) !important;
}

/* Events List Nav */
.tribe-events-calendar-list-nav {
    padding-top: var(--tec-spacer-0) !important;
    border: none !important;
}

/* Event Title */
.tribe-events-calendar-month__calendar-event-title {
    font-size: var(--tec-font-size-2) !important;
}

.tribe-events-calendar-month__calendar-event-datetime {
    font-size: var(--tec-font-size-1) !important;
    opacity: 0.7 !important;
}

/* Tab Like Buttons */
.tribe-events-c-view-selector__content {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.tribe-events-c-view-selector__list {
    height: auto !important;

    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.tribe-events-c-view-selector__list-item {
    background-color: transparent !important;
    padding: 0 !important;
}

.tribe-events-c-view-selector__list-item--active a,
.tribe-events-c-view-selector__list-item--active span {
    background-color: var(--tec-color-text-secondary) !important;
    color: #fff !important;
}

/* Search */
.tribe-events-c-search {
    max-width: 500px !important;
    gap: 8px !important;
}

.tribe-common-form-control-text__input {
    background-color: #fff !important;
    font-size: var(--tec-font-size-3) !important;

    height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    border-radius: 50px !important;
}

.tribe-events-c-search__input-control {
    border: 2px solid var(--tec-color-text-secondary) !important;
    border-radius: var(--tec-border-radius-default) !important;

    margin: 0;
    padding: 0;
    height: 44px;
}

.tribe-events-c-search__input-group input {
    background-color: transparent !important;
    border: none !important;
    color: var(--tec-color-text-secondary) !important;
}

/* Events Listing Image */
.tribe-events-calendar-list__event-featured-image-wrapper {
    display: flex !important;
    align-self: flex-start !important;
    max-width: 280px !important;

    overflow: hidden !important;
}

.tribe-events-calendar-list__event-featured-image-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 12px !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-details {
    width: calc(var(--tec-grid-width-1-of-8)*6);
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
    width: calc(var(--tec-grid-width-1-of-8)*2);
}

/* Event Content */
.tribe-events-single .tribe-events-c-subscribe-dropdown  {
    margin-top: var(--tec-spacer-4) !important;
    margin-bottom: var(--tec-spacer-8) !important;
}

.tribe-events-single .tribe-events-meta-list,
.tribe-events-single .tribe-events-single-section-title  {
    font-size: var(--tec-font-size-3) !important;
}    

.tribe-events-single .tribe-events-single-section {
    border: none !important;
    background-color: #D6E3FF !important;
    width: 100% !important;
    padding: var(--tec-spacer-8) var(--tec-spacer-10) !important;
    border-radius: var(--tec-border-radius-default) !important;
    
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: var(--tec-spacer-8) !important;
}

.tribe-events-single .tribe-events-single-section > * {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

.tribe-events-single .tribe-events-single-section:before {
    display: none !important;
}

.tribe-events-single .tribe-events-meta-group {
    padding: 0 !important;
    margin: 0 !important;
}

.tribe-events-single .tribe-events-event-image {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

#tribe-events-footer {
    border: none !important;
}

.tribe-event-tags {
    color: transparent !important;
}

@media (max-width: 991px) {
    .tribe-common-l-container {
        gap: var(--tec-spacer-2) !important;
    }

    .tribe-events-header__events-bar,
    .tribe-events-c-nav__list-item--today {
        display: none !important;
        visibility: hidden !important;
    }
    
    .tribe-common-a11y-hidden.tribe-events-c-top-bar__today-button {
        display: flex !important;
        visibility: visible !important;
    }

    .tribe-events-header--has-event-search {
        grid-template-columns: 1fr !important;
    }

    .tribe-events-header__messages {
        order: 1 !important;
    }

    .tribe-events-pg-template {
        padding-left: var(--tec-spacer-0) !important;
        padding-right: var(--tec-spacer-0) !important;
    }

    .tribe-events-single .tribe_events {
        padding: var(--tec-spacer-8) var(--tec-spacer-6) !important;
    }

    .tribe-events-single .tribe-events-single-section {
        padding: var(--tec-spacer-6) var(--tec-spacer-6) !important;
        grid-template-columns: 1fr !important;
        gap: var(--tec-spacer-4) !important;
    }

    .tribe-events-c-subscribe-dropdown {
        margin-left: 0 !important;
    }

    .tribe-events-c-subscribe-dropdown__button {
        width: 100% !important;
    }

    .tribe-events-calendar-list,
    .tribe-events-calendar-month {
        background-color: #FDFBFF !important;
        border-radius: 20px !important;

        padding-top: var(--tec-spacer-6) !important;
        padding-bottom: var(--tec-spacer-6) !important;
        padding-left: var(--tec-spacer-4) !important;
        padding-right: var(--tec-spacer-4) !important;
    }

    .tribe-common-g-row {
        column-gap: var(--tec-spacer-4) !important;
    }

    .tribe-events .tribe-events-calendar-list__event-title {
        margin: 0;
    }

    .tribe-common-c-btn-border-small {
        width: auto !important;
    }

    .tribe-events-c-top-bar {
        justify-content: flex-start !important;
    }
}