.elementor-661 .elementor-element.elementor-element-18ac88e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-661 .elementor-element.elementor-element-f678d12{--display:flex;--min-height:625px;}.elementor-661 .elementor-element.elementor-element-d3ff055 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-661 .elementor-element.elementor-element-c5d9005{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-661 .elementor-element.elementor-element-8fa7ca6{--display:flex;}.elementor-661 .elementor-element.elementor-element-6673d6f{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-661 .elementor-element.elementor-element-11ac3af{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-661 .elementor-element.elementor-element-c753b58 > .elementor-widget-container{margin:6px 6px 6px 6px;padding:0px 0px 0px 0px;}.elementor-661 .elementor-element.elementor-element-c753b58{text-align:start;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-661 .elementor-element.elementor-element-f678d12{--content-width:1210px;}.elementor-661 .elementor-element.elementor-element-6673d6f{--content-width:1208px;}}/* Start custom CSS for shortcode, class: .elementor-element-d3ff055 */.responsive-map-container {
    position: relative;
    width: 100%;
}

#events-map {
    width: 100%;
    height: 650px;
    min-height: 650px;
    border-radius: 18px;
    overflow: hidden;
    background: #edf2f7;
}

/* Google InfoWindow cleanup so our card controls the whole look */
.gm-style .gm-style-iw-c {
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
    max-width: none !important;
}

.gm-style .gm-style-iw-d {
    overflow: visible !important;
    padding: 0 !important;
    max-height: none !important;
}

.gm-style .gm-style-iw-tc,
.gm-style .gm-ui-hover-effect {
    display: none !important;
}

@keyframes cemBubbleFadeSlideIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes cemBubbleCardEntry {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes cemBubblePointerBob {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    50% {
        transform: translateX(-50%) translateY(3px);
    }
}

.cem-bubble-wrap,
.cem-bubble-wrap * {
    box-sizing: border-box;
}

.cem-bubble-wrap {
    position: relative;
    width: 320px;
    max-width: 320px;
    font-family: 'Montserrat', Arial, sans-serif;
    color: #18212f;
    animation: cemBubbleCardEntry 0.35s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.cem-bubble-close {
    position: absolute;
    top: -14px;
    right: -14px;
    z-index: 20;
    width: 32px;
    height: 32px;
    border: 2px solid #fff;
    border-radius: 50%;
    padding: 0;
    background: linear-gradient(135deg, #0b1a31 0%, #0d2340 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(13, 35, 64, 0.25);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.cem-bubble-close:hover {
    transform: scale(1.08) rotate(90deg);
    box-shadow: 0 10px 24px rgba(13, 35, 64, 0.32);
}

.cem-bubble-card {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.18),
        0 10px 24px rgba(15, 23, 42, 0.1),
        0 0 0 1px rgba(15, 23, 42, 0.05);
}

.cem-bubble-header {
    position: relative;
    overflow: hidden;
    padding: 18px 18px 20px;
    background: linear-gradient(135deg, #09172a 0%, #0d2340 52%, #16375d 100%);
}

.cem-bubble-header-circle {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.05);
}

.cem-bubble-header-circle--one {
    top: -22px;
    right: -18px;
    width: 82px;
    height: 82px;
}

.cem-bubble-header-circle--two {
    left: -10px;
    bottom: -30px;
    width: 62px;
    height: 62px;
    background: rgba(255, 255, 255, 0.035);
}

.cem-bubble-header-inner {
    position: relative;
    z-index: 2;
}

.cem-bubble-venue-type-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.cem-bubble-venue-type {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.62);
}

.cem-bubble-venue-name {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.3px;
    color: #fff;
}

.cem-bubble-count-pill {
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.cem-bubble-count-pill span {
    font-size: 11.5px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
}

.cem-bubble-events-list {
    max-height: 340px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px 4px;
}

.cem-bubble-events-list::-webkit-scrollbar {
    width: 4px;
}

.cem-bubble-events-list::-webkit-scrollbar-track {
    background: transparent;
}

.cem-bubble-events-list::-webkit-scrollbar-thumb {
    background: rgba(15, 23, 42, 0.14);
    border-radius: 999px;
}

.cem-bubble-event-row {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: 0 4px;
    padding: 12px 14px;
    border-radius: 10px;
    text-decoration: none !important;
    color: inherit;
    transition: background 0.18s ease, transform 0.18s ease;
    opacity: 0;
    animation: cemBubbleFadeSlideIn 0.28s ease both;
}

.cem-bubble-event-row + .cem-bubble-event-row {
    border-top: 1px solid rgba(15, 23, 42, 0.05);
}

.cem-bubble-event-row:hover {
    background: rgba(13, 35, 64, 0.03);
}

.cem-bubble-date-badge {
    min-width: 46px;
    width: 46px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 11px;
    background: linear-gradient(135deg, #0b1a31 0%, #0d2340 100%);
    box-shadow: 0 4px 10px rgba(13, 35, 64, 0.18);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.cem-bubble-date-month {
    font-size: 9px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
}

.cem-bubble-date-day {
    margin-top: 2px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

.cem-bubble-event-details {
    min-width: 0;
    flex: 1;
}

.cem-bubble-event-title {
    margin-bottom: 6px;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.35;
    color: #162130;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cem-bubble-event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.cem-bubble-chip,
.cem-bubble-event-time {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}

.cem-bubble-chip {
    background: #eef3ff;
    color: #294b7a;
}

.cem-bubble-event-time {
    background: #f8fafc;
    color: #5b6778;
}

.cem-bubble-event-time svg {
    flex-shrink: 0;
}

.cem-bubble-row-arrow {
    flex-shrink: 0;
    margin-top: 3px;
    font-size: 18px;
    line-height: 1;
    color: #b6bfcc;
    transition: transform 0.18s ease, color 0.18s ease;
}

.cem-bubble-event-row:hover .cem-bubble-row-arrow {
    transform: translateX(2px);
    color: #7f8b99;
}

.cem-bubble-footer {
    padding: 0 14px 14px;
}

.cem-bubble-divider {
    height: 1px;
    margin-bottom: 12px;
    background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.08), transparent);
}

.cem-bubble-footer-note {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    color: #506072;
    text-align: center;
}

.cem-bubble-pointer {
    position: absolute;
    bottom: -12px;
    left: 50%;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid #fff;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.08));
    animation: cemBubblePointerBob 2.4s ease-in-out infinite;
}

@media (max-width: 480px) {
    .cem-bubble-wrap,
    .cem-bubble-card {
        width: 280px;
        max-width: 280px;
    }

    .cem-bubble-venue-name {
        font-size: 22px;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c753b58 */.outer-em-info {
    padding-bottom: 5px;
    padding-top: 5px;
}

.em-item-image {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px; /* Adjust this height to match your design */
}

.em-item-image-placeholder {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  height: auto;
}



/* EMPro event-list format css */

/* custom cat image  */
span.kg-eventcat-img {
    width: 22px !important;
}

.em.em-item .em-item-meta .em-item-meta-line a, .em.em-list .em-item .em-item-meta .em-item-meta-line a, .em.em-list-widget .em-item .em-item-meta .em-item-meta-line a {
  font-style: normal !important;
	color: #787878 !important;
}


.em.em-list .em-item .em-item-info .em-item-meta > div {
    color: #0A2F5D !important;
    font-size: 15px !important;
}


.em.em-list .em-item .em-item-info .button {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px 22px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 13px !important;
    height: 42px !important;
    min-width: 160px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;

    color: #ffffff !important;
    background-color: #0d2340 !important;
    border: 2px solid #0d2340 !important;
    border-radius: 24px !important;

    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;

    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out !important;
}



/* Hover Effect */
.em.em-list .em-item .em-item-info .button:hover {
    color: #0d2340 !important; /* Blue text */
    background-color: #fff !important; /* White background */
}

/* Red Dot Animation */
.em.em-list .em-item .em-item-info .button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    background-color: #cf2e2e; /* Killgerm red */
    border-radius: 50%; /* Make the dot circular */
    z-index: 2; /* Place it above the border */
    animation: move-dot 1.5s linear infinite; /* Infinite animation */
}

/* Keyframes for Moving Red Dot */
@keyframes move-dot {
    0% {
        top: 0;
        left: 0;
    }
    25% {
        top: 0;
        left: calc(100% - 10px); /* Move to the top-right corner */
    }
    50% {
        top: calc(100% - 10px); /* Move to the bottom-right corner */
        left: calc(100% - 10px);
    }
    75% {
        top: calc(100% - 10px); /* Move to the bottom-left corner */
        left: 0;
    }
    100% {
        top: 0; /* Back to the top-left corner */
        left: 0;
    }
}


/* buttons ends */



.em.em-list .em-item {
    padding: 20px 10px 20px 10px;
}
.em.em-list .em-item {
grid-template-columns: minmax(0, 1.3fr) 4fr;
}

.em.em-item .em-item-image, .em.em-list .em-item .em-item-image, .em.em-list-widget .em-item .em-item-image {
    min-width: 125px;
    width: 100%;
    height: 100%;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
}

@media (max-width: 768px) {
    .em.em-item .em-item-image, 
    .em.em-list .em-item .em-item-image, 
    .em.em-list-widget .em-item .em-item-image {
        justify-content: flex-start; /* Align content to the left */
        margin-left: 12px; /* Add 12px margin on the left */
    }
}

.em.em-events-list .em-item-image .em-item-image-placeholder div.date, .em.em-events-widget .em-item-image .em-item-image-placeholder div.date {
    display: grid
;
    grid-template-rows: 8fr 4fr;
    justify-content: center;
    align-items: start;
    height: 100%;
    min-width: 125px;
}

.em.em-list .em-item .em-item-image .em-item-image-placeholder, .em.em-list-widget .em-item .em-item-image .em-item-image-placeholder {
max-width: 120px;

}


.em.em-list .em-item .em-item-info h3.em-item-title {
    font-size: 28px !important;
	  margin-bottom: 8px !important;
}

.em.em-list .em-item .em-item-info {
    border-left: 4px solid var(--default-border);
    padding:0 10px 10px 18px;
}


.kg-list-inner h4 {
    background-color: #f6f6f6;
    display: flex
		 margin-bottom: 0px !important;
;
    align-content: center;
    align-items: center;
    padding: 6px 12px 6px 12px;
    margin: 0px !important;
}

.em.em-list {
    grid-gap: 0px;
 
}


.em.em-list .em-item .em-item-info h3.em-item-title a

 {
    color: #0d2340 !important;
    font-size: 20px;
    line-height: 30px !important;
    margin: 0 0 10px 0px !important;
}

.em.em-list .em-item .em-item-info h3.em-item-title {
    margin-bottom: 15px !important;
}

.em.em-list .em-item .em-item-info .em-item-meta {
    margin-bottom: 0px;
}
.em.em-list .em-item .em-item-info .em-item-desc {
    font-size: 14px;
    margin: 0px 0px 20px;
    font-weight: 400;
    color: #0d223f;
}

.em.em-list .em-item .em-item-info .em-item-desc {
    font-size: 14px;
    margin: 5px 0px 20px;
    font-weight: 300;
    color: #0d2340;
}

.em-kg-list-main-container {
    border: 1px solid #f7f7f7 !important;
}

.outer-month-header .kg-list-inner .kg-list-header {
    margin-bottom: 0px !important;
}

.em.em-list .em-item:first-child {
border-top: 0px; 
padding-top: 20px; 
} 

span.kg-event-loco-icon {
    max-width: 22px !important;
}

.page-id-26684 	.top-bar {
	   padding: 16px 40px 5px 40px !important;
}

.em-bs-row.em-bs-row-item {
    display: none !important;
}

.page-id-26684 #main .gform_wrapper .gform_footer input.button,  
.page-id-26684 #main .gform_wrapper .gform_footer input[type="submit"] {
	border-radius: 30px !important;
}


.em.em-list .em-item .em-item-info h3.em-item-title a {
    color: #0d2340 !important;
    font-size: 20px !important;
    line-height: 24px !important;
    margin: 0 0 10px 0px !important;
}


.em.em-list .em-item .em-item-info .em-item-meta > div {
    color: #0d2340 !important;
}

.em.em-list .em-item .em-item-info {
    border-left: 4px solid var(--default-border);
    padding: 10px 10px 10px 13px;
}


span.list-locat

 {
    line-height: 35px;
}

span.kg-eventcat-img

 {
    max-width: 20px !important;
}


.em.em-list .em-item .em-item-info .em-item-meta > div {
    color: #0A2F5D !important;
    font-size: 15px !important;
    margin-top: 10px;
}

.em.em-list .em-item .em-item-info

 {
    border-left: 4px solid var(--default-border);
    padding: 10px 10px 10px 18px !important;
}/* End custom CSS */