body .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    background-color: var(--fc-today-bg-color);
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center!important;
    justify-content: center;
    border-radius: 100px;
}
.sem-events-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    flex-flow: wrap;
    gap: 15px;
}
.sem-events-topbar h2.sem-events-title {
    margin-bottom: 0;
}
.sem-events-topbar .sem-events-controls {
    display: flex;
    flex-flow: wrap;
    gap: 10px;
    justify-content: space-between;
}
.sem-events-controls .sem-view-btn,#sem-view-yearly,#sem-view-monthly,#sem-view-weekly{margin-left:0px;padding:6px 10px;border-radius:4px;border:1px solid #ccc;background:#fff;cursor:pointer}
.sem-events-wrap{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}
/*.sem-events-details{background:#fff;border:1px solid #e6e6e6;padding:14px;border-radius:6px}*/
.sem-events-main{min-height:320px;}
#sem-calendar{min-height:320px}
.sem-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sem-month-cell{background:#fff;border:1px solid #e6e6e6;padding:8px;border-radius:6px}
.sem-mini-calendar .fc{font-size:12px}
.sem-events-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}
.sem-events-details .event-items{
  padding: 20px;
}
.sem-events-details .event-item {
    border-bottom: 1px solid #ddd;
    padding: 20px 0px;
    line-height: 1.2;
}
.sem-events-details .events-box {
    border-radius: 6px;
    overflow: hidden;
}
.sem-events-details .side-box-heading {
    font-size: 20px;
    margin: 0;
    padding-bottom: 20px;
    text-align: ;
    background: var(--e-global-color-primary);
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.sem-events-details .event-item:last-child {
    padding-bottom: 0;
    border: none;
}
.sem-events-details .event-item:first-child {
    padding-top: 0;
}
.sem-events-views button {
  padding: 6px 12px;
  border: 1px solid #ccc;
  background: #f5f5f5;
  cursor: pointer;
  border-radius: 4px;
}

.sem-events-views button.active {
  background: #0073aa;
  color: #fff;
}
.event-btn-group {
    display: flex;
    align-items: center;
    gap: 10px;
}
#sem-current-month {
  font-weight: bold;
  margin-left: 10px;
}

#sem-year-select {
  padding: 4px 6px;
}
.sem-events-main .fc .fc-daygrid-day-top {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
}
.sem-events-main .fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{
	display: none;
	min-height: auto;
    margin: 0;
    position: static;
}
.sem-events-main .fc .fc-daygrid-event-harness {
    position: static;
}
.sem-events-main .act-event a ,
body .fc .fc-daygrid-day.fc-day-today.act-event .fc-daygrid-day-number{
    background: var( --e-global-color-secondary);
    top: 0;
    width: 30px;
    height: 30px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 99;
    bottom: 0;
    border-radius: 100%;
    color: #fff;
    line-height: 1.2;
    text-align: center;
}
.date-range-highlight.range-start-date .fc-daygrid-day-top {
    border-radius: 100px 0px 0px 100px!important;
}
.date-range-highlight.range-end-date .fc-daygrid-day-top {
    border-radius: 0px 100px 100px 0px!important;
}
.sem-events-main .fc .fc-daygrid-day-frame {
    padding: 2px 0px;
}
.sem-events-main .fc-theme-standard td .date-range-highlight .fc-daygrid-day-top {
    background: var(--e-global-color-secondary)!important;
    border-radius: 0;
    color: #fff!important;
}
.sem-events-main .fc-theme-standard td .date-range-highlight a {
    color: #fff!important;
    z-index: 9;
    cursor: pointer;
}

.sem-events-main table{
    margin: 0!important;
}
.sem-events-main tr:nth-child(even) {
    background-color: transparent;
}
.sem-events-main .fc-theme-standard td, 
.sem-events-main .fc-theme-standard th {
    background: transparent!important;
    border: none;
}
/*.sem-events-main .fc-day-past.fc-day-other,
.sem-events-main .fc-day-future.fc-day-other{
    opacity: 0;
}*/
.sem-events-main .fc-theme-standard .fc-scrollgrid {
    border: 0px solid var(--fc-border-color);
}
.sem-events-main table, .sem-events-main th, .sem-events-main td {
    border: none;
}
.sem-events-main .sem-month-title {
    margin-bottom: 20px!important;
    font-weight: 500;
    font-size: 20px;
}
.sem-events-topbar .sem-view-btn, 
.sem-events-topbar #sem-year-select {
    background: var( --e-global-color-accent )!important;
    border-radius: 100px!important;
    min-width: 110px;
    border: none!important;
    text-transform: uppercase;
    font-size: 14px;
    min-height: 42px;
    font-weight: 600;
    padding: 10px 15px;
    transition: all .3s ease-in-out;
    flex: 1;
}
.sem-events-topbar .sem-nav {
    height: 42px;
    width: 42px;
    border-radius: 100px;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var( --e-global-color-accent );
    font-size: 15px;
}
.sem-events-topbar .sem-nav:hover ,
.sem-events-topbar .sem-view-btn.active-btn,
.sem-events-topbar .sem-view-btn:hover, 
.sem-events-topbar #sem-year-select:hover,
.sem-events-topbar .sem-nav:focus,
.sem-events-topbar .sem-view-btn:focus, 
.sem-events-topbar #sem-year-select:focus{
    background-color: var( --e-global-color-e6e7462 )!important;
    color: var( --e-global-color-0d59a7f );
}
@media(max-width:700px){
.sem-events-wrap {
    grid-template-columns: 1fr;
}
.sem-events-topbar {
    justify-content: center;
}
}
.fc-daygrid-day.expired-event{
    position: relative;
}
.fc-daygrid-day.expired-event::before {
    /*content: "Expired";*/
    position: absolute;
    color: black;
    top: -10px;
    width: 60px;
    margin: auto;
    background: red;
    text-align: center;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 0;
    left: 50%;
    margin: auto;
    align-items: center;
    transform: translateX(-50%);
    color: #fff;
    z-index: 9;
}
.fc-daygrid-day.act-event {
  background: #e6f7ff;
  border-radius: 4px;
}

.fc-daygrid-day.expired-event .fc-daygrid-day-top {
  color: #999 !important;
  cursor: not-allowed !important;
  opacity: 0.4;
}
.events-gallery-grid .event-item-inner {
    padding: 20px;
}
.events-gallery-grid .event-item {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0px 0px 8px rgb(0 0 0 / 26%);
    background: #fffff7;
    cursor: pointer;
}
.events-gallery-grid .event-item a.event-img {
    position: relative;
    display: block;
    background: red;
}
.event-item-inner h4 {
    font-family: "Alegreya Sans";
}
.events-gallery-grid .event-item a.event-img::before {
    content: "";
    background: #000000;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease-in-out;
}
.events-gallery-grid .event-item:hover a.event-img::before {
    opacity: .4;
    visibility: visible;
}
.ad-event-popup .popup-content :is(h1 , h2 , h3, h4 , h5 , h6) {
    margin: 0;
}
.sem-event-popup-wrap {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99990000;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
/*    height: calc(100% - 40px);*/
    margin: auto;
    overflow: auto;
    transform: scale(1.1);
    transform-origin: center;
    left: 0;
    transition: all .3s ease-in-out;
    opacity: 0;
    visibility: hidden;
}
.sem-event-popup-wrap.add-event-pop {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}
.event-popup {
    margin: auto;
    background: #fff;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    width: 100%;
}
div#sem-event-popup {
    max-width: 700px;
    width: calc(100% - 40px);
    margin: auto;
    top: 20px;
}
.event-popup img { 
    max-width: 100%; 
    height: auto; 
    border-radius: 6px; 
}
.event-popup .event-pop-title {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 8px;
}
.event-popup .event-pop-date { 
    font-size: 14px; 
    color: #666; 
    margin-bottom: 12px; 
}
.event-btn-group .btn {
    background: var(--e-global-color-primary);
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    color: black;
}
.event-btn-group .btn:hover { 
    background-color: var(--e-global-color-e6e7462);
    color: var(--e-global-color-0d59a7f);
}
button.enroll-event[disabled] {
    cursor: not-allowed!important;
}

div.ad-event-popup {
    min-width: 500px;
}
/* Image Left */
.popup-image-left .event-popup-inner { 
    display: flex; 
    gap: 15px; 
}
.popup-image-left .event-popup-left {
    width: 40%;
}
.popup-image-left .event-popup-right { 
    flex: 1; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
}
.event-popup-thumb .event-pop-img img {
    border-radius: 100px;
}
.event-popup-thumb .event-pop-img {
    aspect-ratio: 1/1;
    width: 120px;
    margin: auto;
    border-radius: 100px!important;
    overflow: hidden;
    margin-bottom: 20px;
    padding: 5px;
    border: 2px solid #fff;
}
/* Image Top */
.popup-image-top .event-popup-header { 
    margin-bottom: 15px; 
}
.event-popup.popup-image-top .event-pop-img {
    aspect-ratio: 7/4;
}
.event-popup.popup-image-top .event-popup-body {
    text-align: center;
}
.event-popup.popup-image-top{
    max-width: 500px;
}
span.close-popup {
    color: #fff;
    right: -16px;
    background: var(--e-global-color-secondary);
    padding: 10px;
    cursor: pointer;
    position: absolute;
    top: 0;
    border-radius: 100px;
    font-size: 12px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    top: -16px;
    transition: all .3s ease-in-out;
    z-index: 99;
}

span.close-popup:hover {
    background: black;
}
.event-popup .event-pop-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    image-rendering: -webkit-optimize-contrast;
}
.event-popup .event-pop-img {
    height: 100%;
    display: flex;
    object-fit: cover;
    object-position: center;
}
.event-pop-content , .event-pop-excerpt{
    font-size: 15px;
    line-height: 1.2;
}
.popup-content .pop-block{
    margin-top: 30px;
}
/* COMPACT */
.event-popup.popup-compact {
    position: relative;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 30px 30px 80px;
}
.event-popup.popup-compact .event-popup-main {
    position: relative;
    text-align: center;
}
.event-popup.popup-compact .event-popup-inner {
    width: 100%;
}
.event-popup.popup-compact .event-popup-image .event-pop-img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
.event-popup.popup-compact .event-popup-image .event-pop-img::before {
    content: "";
    background: black;
    width: 100%;
    height: 100%;
    position: absolute;
    opacity: .8;
}
.event-popup.popup-compact, .event-popup.popup-compact .event-pop-date {
    color: #fff;
}
.event-popup.popup-compact .pop-block {
    margin-top: 0px!important;
    position: absolute;
    bottom: 20px;
    color: #fff;
}
.event-popup.popup-compact .event-btn-group {
    justify-content: center;
}
.sem-events-details .events-box.active .accordion-arrow{
    transition: all .3s ease-in-out;
    transform: rotateX(180deg);
}
.eventLoader::after {
    content: "";
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
    position: fixed;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    right: 0;
    z-index: 999;
}
@media(max-width:767px){
.sem-events-details .side-box-heading {
    cursor: pointer;
}
div.ad-event-popup {
    min-width: auto;
}
.popup-image-left .event-popup-left {
    width: 100%;
}
.event-popup .event-popup-image .event-pop-img img {
    aspect-ratio: 7/5;
}
div.ad-event-popup {
    width: 90%;
}
.popup-image-left .event-popup-inner {
    display: flex;
    gap: 15px;
    flex-flow: wrap;
}
.popup-content .pop-block{
    margin-top: 20px;
}
.event-popup .event-pop-title {
    font-size: 20px;
}
}

.event-popup .swiper-button-next:after, .event-popup .swiper-button-prev:after {
    font-size: 23px;
}