/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&amp;display=swap');

/* Change font across elements */
.elementor-heading-title,
.elementor-icon-list-item,
.elementor-icon-list-text,
.elementor-icon-box-title,
.elementor-button,
.e-n-menu-title-text,
.elementor-widget-text-editor div,
p,
.single h1,
.single h2,
.single h3,
.single h4,
.single h5,
.single h6,
.e-n-accordion-item-title-text,
.tribe-common-c-btn,
.tribe-events-c-view-selector__list-item-text,
.tribe-events-c-top-bar__today-button,
.tribe-events-c-top-bar__datepicker-time,
.tribe-events-calendar-list__event-datetime,
.tribe-events-calendar-list__event-date-tag-datetime,
.tribe-events-calendar-list__event-title-link,
.tribe-events-calendar-list__event-venue-address,
.tribe-common-form-control-text__input,
.tribe-events-calendar-list__month-separator-text,
.tribe-events-calendar-day__type-separator-text,
.tribe-events-calendar-day__time-separator-text,
.tribe-filter-bar__form-heading,
.tribe-filter-bar-c-filter__toggle-text,
.tribe-filter-bar-c-pill__pill,
.select2-container,
.tribe-filter-bar__selected-filters-label,
.tribe-filter-bar-c-filter__container,
.gradient-btn,
.tec-events-elementor-event-widget__datetime,
.elementor-widget-theme-post-content ul li,
.tribe-events-c-nav__list li button,
.event-list-register-link,
.select2-results__option,
.tribe-filter-bar-c-clear-button__text,
.tribe-common-form-control-checkbox__label,
.tribe-events-c-messages__message-list-item,
.tribe-events-c-nav__next-label,
.tribe-events-c-nav__prev-label,
.tribe-events-c-nav__today,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next,
.tribe-filter-bar-c-filter__filter-fields .select2-results__options li,
.tribe-events-calendar-month__multiday-event-bar-title,
.tribe-events-calendar-month__calendar-event-title-link,
.tribe-events-calendar-month__calendar-event-datetime,
.archive-description-text,
.all-events-link,
.gform_confirmation_message {
    font-family: "Source Sans 3", sans-serif !important;
}
.single h1,
.single h2,
.single h3,
.single h4,
.single h5,
.single h6 {
    font-weight: 600;
}
.single h6 {
    font-size: 1.2rem;
}
.elementor-widget-theme-post-content ul {
    margin-bottom: 20px;
}
.gradient-btn a,
.tribe-common-c-btn,
.single-newsletter .elementor-widget-theme-post-content a:last-of-type {
    background-image: linear-gradient(90deg, var( --e-global-color-accent ) 0%, var( --e-global-color-secondary ) 100%) !important;
    font-weight: 600 !important;
    color: #fff !important;
    display: inline-block;
    padding: 12px 24px;
    border-radius: 4px;
    font-size: 1rem;
    text-decoration: none !important;
}
.gradient-btn a:hover,
.gradient-btn a:focus,
.single-newsletter .elementor-widget-theme-post-content a:last-of-type:hover,
.single-newsletter .elementor-widget-theme-post-content a:last-of-type:focus {
    transform: scale(1.08);
    color: #fff !important;
}

.hover-blue a,
.hover-blue-background-btn,
.hover-blue-background-btn .elementor-icon-box-icon .elementor-icon,
.hover-blue-background-btn .elementor-icon-box-title,
.gradient-btn a {
    transition: all 0.2s ease;
}
.hover-blue a:hover,
.hover-blue a:focus {
    color: #1C4C7A !important;
}

.hover-blue-background-btn.active,
.hover-blue-background-btn:hover, 
.hover-blue-background-btn:focus {
    background-color: #1C4C7A;
}
.hover-blue-background-btn:hover .elementor-icon-box-icon .elementor-icon,
.hover-blue-background-btn:focus .elementor-icon-box-icon .elementor-icon,
.hover-blue-background-btn:hover .elementor-icon-box-title,
.hover-blue-background-btn:focus .elementor-icon-box-title,
.hover-blue-background-btn.active .elementor-icon-box-icon .elementor-icon,
.hover-blue-background-btn.active .elementor-icon-box-title {
    fill: #fff !important;
    color: #fff !important;
    border-color: #fff !important;
}



.bold-link-wrapper a {
    font-weight: 600;
}
.gray-link-wrapper a,
.post-meta-info-list a,
.single .elementor-widget-theme-post-content a {
    color: #0A0A0A !important;
    transition: all 0.2s ease;
}
.single .elementor-widget-theme-post-content a,
.underline-links a {
    text-decoration: underline;
}
.light-gray-link-wrapper a {
    color: #E0E0E0 !important;
}
.white-link-wrapper a {
    color: #fff !important;
}
.light-gray-link-wrapper a,
.gray-link-wrapper a,
.post-meta-info-list a,
.white-link-wrapper a,
.menu-wrapper a {
    transition: all 0.2s ease;
}
.gray-link-wrapper a:hover,
.gray-link-wrapper a:focus,
.white-link-wrapper a:hover,
.white-link-wrapper a:focus,
.light-gray-link-wrapper a:hover,
.light-gray-link-wrapper a:focus,
.menu-wrapper a:hover,
.menu-wrapper a:focus,
.post-meta-info-list a:hover,
.post-meta-info-list a:focus,
.single .elementor-widget-theme-post-content a:hover,
.single .elementor-widget-theme-post-content a:focus {
    color: #23C686 !important;
}

.single .related-articles-header,
.topic-description-header {
    padding-bottom: 10px;
    border-bottom: 2px solid #23C686;
}
.topic-description-header .elementor-heading-title {
    font-size: 1.2rem;
    font-weight: 600;
}
.topic-description-text {
    display: block;
    margin-top: 20px;
    font-size: 0.8rem;
}

.elementor-widget-n-menu .e-n-menu-title:not(.e-current), 
.elementor-widget-n-menu .e-n-menu-title:not(.e-current) a,
.menu-wrapper a.e-link {
    transition: all 0.01s ease;
}

.categories-list .elementor-heading-title {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    row-gap: 4px;

}
/* Divider in between category list on archive post lists */
.categories-list .elementor-heading-title > a,
.subtopics-list .elementor-icon-list-item a {
    padding: 0px 8px;
    border-left: 1px solid #0a0a0a50;
    transition: all 0.2s ease;
}
.subtopics-list .elementor-icon-list-item:first-of-type a {
    /* border-left: none; */
}
.categories-list .elementor-heading-title > a:first-of-type {
    /* padding: 0px 6px 0px 0px; */
    /* border-left: none; */
}
.categories-list .elementor-heading-title > a:last-of-type,
.subtopics-list .elementor-icon-list-item:last-of-type a {
    /* padding: 0px 0px 0px 6px; */
    border-right: 1px solid #0a0a0a50;
}
.categories-list .elementor-heading-title > a:hover,
.categories-list .elementor-heading-title > a:focus {
    color:#23C686;
}

.display-none {
    display: none;
}

/* Hide the category bubble for products & services pinned category */
.category-bubbles .elementor-heading-title > a[href$='/products-services-sponsored-tag/pinned/'] {
    display: none;
}
.category-bubbles .elementor-heading-title > a[href$='/articles-category/news/'] {
    display: none;
}
/* Hide categories from the categories list on the post archive pages */
/*
// no longer showing categories/topics at all on archive pages. no need to hide specific ones.
.archive.term-fm-topics .categories-list .elementor-heading-title > a[href$='/news-category/fm-topics/'],
.archive.term-building-systems .categories-list .elementor-heading-title > a[href$='/news-category/fm-topics/'],
.archive.term-building-systems .categories-list .elementor-heading-title > a[href$='/news-category/building-systems/'],
.archive.term-engineering-om .categories-list .elementor-heading-title > a[href$='/news-category/fm-topics/'],
.archive.term-engineering-om .categories-list .elementor-heading-title > a[href$='/news-category/engineering-om/'],
.archive.term-esg .categories-list .elementor-heading-title > a[href$='/news-category/fm-topics/'],
.archive.term-esg .categories-list .elementor-heading-title > a[href$='/news-category/esg/'],
.archive.term-safety-health .categories-list .elementor-heading-title > a[href$='/news-category/fm-topics/'],
.archive.term-safety-health .categories-list .elementor-heading-title > a[href$='/news-category/safety-health/'],
.archive.term-software-technology .categories-list .elementor-heading-title > a[href$='/news-category/fm-topics/'],
.archive.term-software-technology .categories-list .elementor-heading-title > a[href$='/news-category/software-technology/'],
.archive.term-planning-ad .categories-list .elementor-heading-title > a[href$='/news-category/planning-ad/'],
.archive.term-building-type .categories-list .elementor-heading-title > a[href$='/news-category/planning-ad/'],
.archive.term-building-type .categories-list .elementor-heading-title > a[href$='/news-category/building-type/'],
.archive.term-planning-ad-1 .categories-list .elementor-heading-title > a[href$='/news-category/planning-ad/'],
.archive.term-planning-ad-1 .categories-list .elementor-heading-title > a[href$='/news-category/planning-ad-1/']{
    display: none;
}
*/

.subtopics-list .elementor-icon-list-items {
    row-gap: 4px;
}

.bold-600 {
    font-weight: 600;
}

/* The sections on the homepage did not always make the image full-width of the container. This fixes that. Image height and object-fit are set in elementor loop grid template */
.home .article-featured-img a,
.home .article-featured-img a img {
    width: 100%;
}

/* In Post Excerpt in loop grid, After is set to ..., these rules remove the unneccessary space between excerpt and ...*/
.elementor-widget-theme-post-excerpt > .elementor-widget-container p {
    margin: 0;
}
.elementor-widget-theme-post-excerpt > .elementor-widget-container {
    /* display: flex; */
}

.anchor {
    scroll-margin-top: 140px;
}
html,
body {
    scroll-behavior: smooth;
}

.category-bubbles .elementor-heading-title {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.category-bubbles .elementor-heading-title > a {
    padding: 4px 10px;
    color:#0A0A0A !important;
    border-radius: 50px;
    /* background-color: rgba(255,255,255,0.95); */
    background-color: #fff;
    box-shadow: 0 0 4px rgba(0,0,0,0.5);
    transition: all 0.2s ease;
    font-weight: 500;
}
.category-bubbles .elementor-heading-title > a:hover,
.category-bubbles .elementor-heading-title > a:focus {
    color:#23C686 !important;
    /* background-color: rgba(255,255,255,1); */
}

.date-bubble .elementor-post-info .elementor-icon-list-item {
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 4px rgba(0,0,0,0.3);
    padding: 4px 10px;
    width: fit-content;
    border-radius: 2px;
    color: #0A0A0A;
}

.elementor-widget-loop-grid .e-loop-nothing-found-message {
    padding: 0;
}

.fm-topics-article.fm-topics-articles-tag-case-study .fmtopics-tag a,
.fm-topics-article.fm-topics-articles-tag-white-paper .fmtopics-tag a {
    text-decoration: underline;
    text-decoration-color: #23C686;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition: all 0.2s ease;
}
.fm-topics-article.fm-topics-articles-tag-case-study .fmtopics-tag a:hover,
.fm-topics-article.fm-topics-articles-tag-case-study .fmtopics-tag a:focus,
.fm-topics-article.fm-topics-articles-tag-white-paper .fmtopics-tag a:hover,
.fm-topics-article.fm-topics-articles-tag-white-paper .fmtopics-tag a:focus  {
    color: #23C686;
}
.fmtopics-loop-grid .elementor-pagination .page-numbers {
    padding: 6px;
}
.fmtopics-loop-grid .elementor-pagination span.page-numbers {
    opacity: 0.4;
}
.fmtopics-loop-grid .elementor-pagination span.page-numbers.current {
    opacity: 1;
}

.contact-form input[type="submit"]{
    background-color: #23C686 !important;
    color: #fff !important;
}
.contact-form input[type="submit"]:hover,
.contact-form input[type="submit"]:focus {
    background-color: #1C4C7A !important;
    color: #fff !important;
}
.contact-form .gfield_required {
    color: #1C4C7A !important;
}
.contact-form .gform-theme--foundation .gform_fields {
    grid-row-gap: 16px !important;
}
.contact-form .gchoice input {
    cursor: pointer;
}
.contact-form .gfield_checkbox input::before {
    color:#1C4C7A !important;
}
.contact-form .gfield_radio input::before {
    background-color: #1C4C7A !important;
}
.contact-form .gfield_checkbox input:focus,
.contact-form .gfield_radio input:focus,
.contact-form .ginput_container input:focus,
.contact-form input[type="submit"]:focus {
    outline-color: #23C686 !important;
}
.width-fit-content {
    width: fit-content !important;
}

.border-top-green {
    border-top: 2px solid  #23C686;
}

.bg-position-50-40 img {
    object-position: 50% 40% !important;
}

.sponsor-slider .swiper-slide img {
    max-height: 80px;
    max-width: 200px;
    object-fit: contain;
}

/* Sticky nav header. Switch logos on scroll 
This class: .elementor-sticky--effects gets added to the container when the sticky effect applies. This applies when the user scrolls a certain number of pixels down: set in Elementor settings with Sticky Offset value*/
/* HIDES THE DARK LOGO */
.d-logo {
    display: none;
}
/* SWITCHES LOGO ON SCROLL */
.elementor-sticky--effects .d-logo {
    display: inline-block;
}
.elementor-sticky--effects .l-logo {
    display: none;
}

.elementor-sticky--effects .header-logo-container {
    margin-top: 0 !important;
}
/* CHANGES THE BACKGROUND MENU ON SCROLL */
.elementor-sticky--effects {
    background: #fff!important; /* edit here to change the background color for your sticky header*/
}
/* CHANGES THE TEXT COLOR ON SCROLL */
.elementor-sticky--effects .sticky-menu-items ul li a {
    color: #333!important; /* edit here to change your text color for sticky header */
}
.elementor-sticky--effects .sticky-menu-items ul li a:hover,
.elementor-sticky--effects .sticky-menu-items ul li a:focus {
    color: #23C686 !important;
}
/* CONTROLS THE TRANSITION SPEED - KEEP ALL SAME SPEED TO HAVE A CLEAN EFFECT */
.elementor-sticky--effects .sticky-menu-items ul li a {
    transition: .5s all ease-in-out;
}
.elementor-sticky--effects {
    transition: .5s all ease-in-out;
}

/*updated changing mobile hamburger menu toggle and menu links on hover on scroll */

/*change color to the mobile menu toggle*/
.elementor-sticky--effects .sticky-menu-items i {
color: #333 !important;
}

/*add color to the background of mobile toggle*/
.elementor-sticky--effects .sticky-menu-items .elementor-menu-toggle {
background: #fff !important;
}

/*CHANGES THE ACTIVE MENU ITEM ON SCROLL*/
.elementor-sticky--effects .sticky-menu-items ul li .elementor-item-active {
color: #23C686 !important; /* edit here to change the active menu item text color for sticky header */
}


/* Gradient Button transition: (Not working properly) Colors and text and padding are set in Elementor*/
/* .background-gradient-smooth a.elementor-button-link {
    -webkit-transition: background 1s ease-out;  
    -moz-transition: background 1s ease-out;  
    -o-transition: background 1s ease-out;  
    transition: background 1s ease-out;  
    background-size:1px 200px;
    background-repeat: no-repeat !important; 
}
.background-gradient-smooth a.elementor-button-link:hover,
.background-gradient-smooth a.elementor-button-link:focus {
    background-position:100px; 
} */

/* Read more toggle. Hide the toggle once it is open */
body:not(.elementor-editor-active) .readmoretoggle .e-n-accordion-item[open] .e-n-accordion-item-title {
    display: none;
}

.zoom-hover {
    overflow: hidden;
}
.zoom-hover a img {
    transition: all 0.4s ease;
    transform: scale(1);
}
.zoom-hover a:hover img,
.zoom-hover a:focus img  {
    transform: scale(1.08);
}
.elementor-animation-grow:active, 
.elementor-animation-grow:focus, 
.elementor-animation-grow:hover {
    transform: scale(1.08);
}
.elementor-widget-n-accordion .e-n-accordion-item:not([open]) .e-n-accordion-item-title {
    transition: all 0.1s ease;
}

.wp-block-image figure {
    margin: 0;
    display: table;
}
.wp-block-image figure.alignleft {
    float: left;
    margin-right: 2rem;
}
.wp-block-image figure.alignright {
    float: right;
    margin-left: 2rem;
}
.wp-block-image figure.aligncenter {
    margin-left: auto;
    margin-right: auto;
}
.wp-block-image figcaption {
    margin-top: .5em;
    margin-bottom: 1em;
}
.wp-block-image.aligncenter>figcaption, 
.wp-block-image .aligncenter>figcaption, 
.wp-block-image.alignleft>figcaption, 
.wp-block-image .alignleft>figcaption, 
.wp-block-image.alignright>figcaption, 
.wp-block-image .alignright>figcaption {
    display: table-caption;
    caption-side: bottom;
}

.author-names {
    font-style: italic;
    font-size: 0.8rem;
}

.author-bio {
    display: flex;
    /* display: grid;
    grid-template-columns: 1fr 6fr; */
    gap: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
}
.author-bio .author-img {
    max-width: 140px;
}
.author-bio .author-img img {
    border-radius: 4px;
}
.author-bio .author-bio-text {
    font-style: italic;
}
.magazine-description {
    margin-top: 20px;
    margin-bottom: 20px;
}
.magazine-description .magazine-logo {
    max-width: 200px;
}
.elementor-share-btn__title {
    word-spacing: 0;
}





/******* Event Calendar styles **********/

.tribe-filter-bar__form {
    padding: 20px !important; 
    background-color: #f8f8f8;
}

/* Adjust container padding now that ad placements are above and below */
.tribe-events .tribe-events-l-container {
    padding-top: 10px !important;
    /* Remove left-right padding on wrapping container so leaderboard and billboard ads don't get cut off. */
    padding-left: 0;
    padding-right: 0;

}
.tribe-events-after-html {
    margin-top: 60px !important;
}
.tribe-events-before-html {
    margin-bottom: 20px !important;
}
.tribe-events .tribe-events-l-container .tribe-events-header {
    padding-left: 20px;
    padding-right: 20px;
    margin: auto !important;
}

/* Hide event description in list view */
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-description {
    display: none !important;
}
/*Reverse day and date order. align at top to be inline with event title */
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: flex-end;
    padding-top: 0;
    margin-top: -4px;
}
/* Color day and date blue */
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime .tribe-events-calendar-list__event-date-tag-daynum,
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime .tribe-events-calendar-list__event-date-tag-weekday {
    color: #1C4C7A !important;
}
.tribe-events-calendar-list__event-date-tag {
    padding-right: 0 !important;
    /* padding-left: 0 !important; */
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-date-tag {
    min-width: 60px !important;
    max-width: 60px !important;
}
.tribe-events-calendar-list__event-title {
    line-height: 1.1em !important;
    transition: all 0.2s ease;
    color: #333;
    font-weight: 600 !important;
}

.tribe-events-calendar-list__event-title-link,
.tribe-common-anchor-thin {
    border-bottom: none !important;
    color: #333;
    transition: all 0.2s ease !important;
}
.tribe-events-calendar-list__event-title-link:hover,
.tribe-events-calendar-list__event-title-link:focus,
.tribe-common-anchor-thin:hover,
.tribe-common-anchor-thin:focus {
    border-bottom: none !important;
    color:#23C686 !important;
}
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events-calendar-list__event-datetime-wrapper {
    margin-bottom: 4px !important;
}
/* Limit size of event featured image*/
.tribe-events-calendar-list__event-featured-image-wrapper > a {
    max-height: 160px;
    width: auto;
    display: flex !important;
    justify-content: center;
}
.tribe-events-calendar-list__event-featured-image-wrapper > a > img {
    height: 100%;
    max-height: 160px;
    object-fit: contain;
    border-radius: 4px;
    width: fit-content;
}
.tribe-events-calendar-list__event-row {
    margin: 0 !important;
    padding: 40px 0 !important;
    border-bottom: 1px solid #eee !important;
}
.tribe-events-calendar-list {
    margin-bottom: 40px !important;
}
.tribe-events-calendar-list__event-venue {
    margin-bottom: 4px !important;
}
.tribe-events-calendar-list__month-separator-text {
    font-size: 2.4rem !important;
}
.tribe-common.tribe-common--breakpoint-medium button.tribe-events-c-top-bar__datepicker-button,
.tribe-filter-bar__form-heading {
    font-size: 1.2rem !important;
}
.tribe-events .datepicker .day.active, 
.tribe-events .datepicker .day.active.focused, 
.tribe-events .datepicker .day.active:focus, 
.tribe-events .datepicker .day.active:hover, 
.tribe-events .datepicker .month.active, 
.tribe-events .datepicker .month.active.focused, 
.tribe-events .datepicker .month.active:focus, 
.tribe-events .datepicker .month.active:hover, 
.tribe-events .datepicker .year.active, 
.tribe-events .datepicker .year.active.focused, 
.tribe-events .datepicker .year.active:focus, 
.tribe-events .datepicker .year.active:hover{
    background-color:#23c685c7 !important;
}
.tribe-events .datepicker .day.current, 
.tribe-events .datepicker .day.current.focused, 
.tribe-events .datepicker .day.current:focus, 
.tribe-events .datepicker .day.current:hover, 
.tribe-events .datepicker .month.current, 
.tribe-events .datepicker .month.current.focused, 
.tribe-events .datepicker .month.current:focus, 
.tribe-events .datepicker .month.current:hover, 
.tribe-events .datepicker .year.current, 
.tribe-events .datepicker .year.current.focused, 
.tribe-events .datepicker .year.current:focus, 
.tribe-events .datepicker .year.current:hover,
.tribe-events .tribe-events-calendar-month__mobile-events-icon--event {
    background-color: #1C4C7A !important;
    color: #fff !important;
}

.tribe-common .tribe-common-c-svgicon--featured {
    color:#1C4C7A;
}
/* Move List Month and Day view buttons to the left of search */
.tribe-events-c-events-bar__views {
    order: -1;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__search-container {
    padding-right: 10px;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-header {
    margin-top: 10px;
}
.all-events-link {
    display: block;
    padding: 0 20px 20px 20px !important;
    background-color: #f8f8f8;
}
/* Hide extra venue information */
.tec-events-elementor-event-widget__venue-container .tec-events-elementor-event-widget__venue-map ,
.tec-events-elementor-event-widget__venue-address,
.tribe-events-calendar-day__event-venue-address {
    display: none !important;
}
.tec-events-elementor-event-widget__venue-address {
    font-style: normal !important;
}
.tec-events-elementor-event-widget__venue-details {
    padding: 0 !important;
}
.tec-events-elementor-event-widget__venue-container {
    margin: 0 !important;
    border: 0 !important;
    grid-template-columns: 1fr !important;
}
.tec-events-elementor-event-widget__export-dropdown-button:hover,
.tec-events-elementor-event-widget__export-dropdown-button:focus,
.tec-events-elementor-event-widget__export-dropdown-button:active,
.tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events-c-subscribe-dropdown__button:focus,
.tribe-events-c-subscribe-dropdown__button:active {
    background-color: #1C4C7A !important;
    color: #fff !important;
}
.tribe-events-c-subscribe-dropdown__button {
    border: 1px solid #1C4C7A !important;
    color: #1C4C7A !important;
    background-color: #fff !important;
    font-family: 'Source Sans 3', sans-serif !important;
}
.tec-events-elementor-event-widget__categories-header,
.tec-events-elementor-event-widget__tags-header {
    font-weight: 600 !important;
}
.tec-events-elementor-event-widget__categories-link-wrapper a {
    text-decoration: none !important;
}
.tribe-filter-bar-c-filter__toggle:focus {
    outline: none !important;
}
.event-featured-img img {
    max-height: 220px;
    object-fit: contain;
}
#tribe-events-pg-template {
    max-width: none;
}
.event-list-register-link {
    font-size: 14px;
    /* margin-top: 8px; */
    display: inline-block;
}
/* Change featured color and bar position */
.tribe-events-calendar-list__event-datetime-featured-text,
.tribe-events-calendar-day__event-datetime-featured-text {
    color:#1C4C7A !important;
}
.tribe-common .tribe-common-c-svgicon--featured path {
    fill:#1C4C7A;
}
.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime:after {
    background-color:#1C4C7A;
    /* right: -8px !important; */
    right: 48px !important;
}
.tribe-events .tribe-events-calendar-day__event--featured:after {
    background-color:#1C4C7A;
}

.tribe-filter-bar-c-pill__pill,
.select2-selection__rendered {
    border: none !important;
    background-color: #fff !important;
    box-shadow: 0 0 4px rgba(0,0,0,0.3);
    border-radius: 20px !important;
    font-family: 'Source Sans 3', sans-serif !important;
}
.tribe-filter-bar .tribe-filter-bar-c-dropdown .select2-selection {
    background-color: #fff !important;
}
.tribe-filter-bar-c-pill__pill span,
.select2-selection__rendered span {
    margin-top: 3px; /* Align text with x button */
    display: inline-block;
    color: #333 !important;
}
.select2-selection__rendered span.select2-selection__clear {
    margin-top: 3px !important; /* Align x button with text */
    display: inline-block;
}
.tribe-common .tribe-common-c-svgicon--messages-not-found .tribe-common-c-svgicon__svg-stroke {
    stroke:#1C4C7A;
}
.tribe-events .tribe-events-c-messages__message {
    border-radius: 4px;
    background-color: #f8f8f8;
}

.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner {
    /* background-color: var(--tec-color-background-secondary-multiday); */
    background-color: #eee;
}

/* Try to center ad creative */
div#google_image_div {
    text-align: center;
}

/* Make Book of the Month iframe full-width. We are unable to adjust the size of the image or any other styles within the iframe*/
@media (min-width: 950px) {
    .book-of-the-month .shopify-buy-frame--product.shopify-buy__layout-horizontal iframe {
        /* max-width: 950px; */
        max-width: 100%;
        /* margin-left: 0; */
    }
}


.related-news-post {
    padding: 20px 0;
    display: flex;
    /* grid-template-columns: 1fr 3fr; */
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid #E0E0E0;
    align-items: center;
}
.related-news-dates,
.related-news-topics {
    font-size: 0.8rem;
    color: #0a0a0a;
    font-family: "Source Sans 3", sans-serif !important;
    display: flex;
    column-gap: 8px;
    row-gap: 2px;
    flex-wrap: wrap;
    align-items: center;
}
.related-news-topics svg,
.related-news-dates svg {
    fill: #616161;
    width: 14px;
    height: auto;
}
.related-news-topics a:not(:last-of-type) {
    border-right: 1px solid #616161;
    padding-right: 8px;
}
.related-news-post .featured-img {
    background-size: cover;
    background-position: center center;
    border-radius: 4px;
    min-height: 100px;
    height: 100%;
    width: 200px;
    display: block;
    flex-shrink: 0;
}
.related-news-post .post-title {
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 1.2rem;
}
.related-news-post .post-info {
    justify-self: center;
}
.single .post-topics {
    display: flex;
    flex-wrap: wrap;
}
.single .post-topics a {
    font-size: 0.8rem;
    color: #0a0a0a;
    font-family: "Source Sans 3", sans-serif !important;
    transition: all 0.2s ease;
    padding: 0 8px;
    border-left: 1px solid #616161;
}
.single .post-topics a:last-of-type {
    border-right: 1px solid #616161;
}
.single .post-topics a:hover,
.single .post-topics a:focus {
    color: #23C686;
}

/* Center 970x250 billboard ad by limiting the width of the iframe*/
.elementor-shortcode .fmlink-billboard_970x250 iframe {
    max-width: 970px;
}
/* Center 728x90 billboard ad by limiting the width of the iframe*/
.elementor-shortcode .fmlink-leaderboard1_970x90 iframe,
.elementor-shortcode .fmlink-leaderboard2_970x90 iframe{
    max-width: 728px;
}

.tribe-events-after-html .fmlink-leaderboard1_970x90 {
    margin-bottom: 20px;
}

.top-banner-ads {
	width: 100%;
	height: auto;
    padding-top: 12.4%; /* 728:90 ratio */
    position: relative;
}
.top-banner-ads > div {
	position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

/* animation: name duration timing-function delay iteration-count direction fill-mode; */
/* .sequential-post-animation-fadeInUp-4 .elementor-loop-container .e-loop-item.post:nth-of-type(1) {
    animation: fadeInUp 0.2s ease-in 0.2s;
}
.sequential-post-animation-fadeInUp-4 .elementor-loop-container .e-loop-item.post:nth-of-type(2) {
    animation: fadeInUp 0.2s ease-in 0.4s;
}
.sequential-post-animation-fadeInUp-4 .elementor-loop-container .e-loop-item.post:nth-of-type(3) {
    animation: fadeInUp 0.2s ease-in 0.6s;
}
.sequential-post-animation-fadeInUp-4 .elementor-loop-container .e-loop-item.post:nth-of-type(4) {
    animation: fadeInUp 0.2s ease-in 0.8s;
}
*/
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transition: translateY(10px);
    }
    100% {
        opacity: 1;
        transition: translateY(0px);
    }
} 


/***** Mobile Styles *********/
.elementor-shortcode .fmlink-mediumrectangle1_300x250 iframe,
.elementor-shortcode .fmlink-skyscraper1_300x600 iframe,
.elementor-shortcode .fmlink-skyscraper2_300x600 iframe,
.elementor-shortcode .fmlink-skyscraper3_300x600 iframe {
    max-width: 300px;
}
/* Billboard*/
@media (max-width: 969px) {
    /* Center the mobile billboard (320x100) when screen size is too small to fit the large billboard. */
    .elementor-shortcode .fmlink-billboard_970x250 iframe {
        max-width: 320px;
    }
}

/* Tablet/Mobile */
@media (max-width: 767px) {
    .tribe-events-calendar-list__event-featured-image-wrapper > a {
        justify-content: flex-start;
    }
    .tribe-events .tribe-events-calendar-month__day-cell--selected, 
    .tribe-events .tribe-events-calendar-month__day-cell--selected:focus, 
    .tribe-events .tribe-events-calendar-month__day-cell--selected:hover {
        background-color: #1C4C7A !important;
    }
    .tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum {
        color: #fff !important;
    }
    .tribe-events-calendar-list,
    .tribe-events-calendar-list-nav.tribe-events-c-nav {
        padding: 10px 20px !important;
    }

    .elementor-slides .swiper-slide-inner .elementor-slide-description {
        margin-bottom: 0;
    }
    .subtopics-list .elementor-icon-list-items {
        row-gap: 12px;
    }

    /* Fix icon alignment in topics buttons on mobile */
    .hover-blue-background-btn .elementor-icon-box-icon {
        margin-top: 4px;
    }

    .related-news-post .post-title {
        font-size: 1rem;
        line-height: 1.2em;
    }
    .related-news-post {
        flex-direction: column;
    }
    .related-news-post .featured-img {
        width: 100%;
    }
}

.billboard-blocker a {
    display: inline-block;
    width: fit-content;
}
.billboard-blocker a .desktop-only,
.billboard-blocker a .mobile-only {
    margin: auto;
}

.desktop-only {
    display: block;
}
.mobile-only {
    display: none;
}

/* Leaderboard - desktop*/
@media (max-width: 727px) {
    .desktop-only {
        display: none;
    }
    .mobile-only {
        display: block;
    }
    .elementor-shortcode .fmlink-leaderboard1_970x90 iframe,
    .elementor-shortcode .fmlink-leaderboard2_970x90 iframe{
        max-width: 320px;
    }
}