.idr-calendar {
   margin-bottom: 2rem;
}

.idr-calendar ul {
   display: grid;
   grid-template-columns: auto auto auto;
}
@media screen and (max-width:992px){
  .idr-calendar ul {
   grid-template-columns: auto auto;
 }
}
@media screen and (max-width:500px){
  .idr-calendar ul {
   grid-template-columns: auto;
 }
}

.idr-calendar ul li a span {
   display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.idr-calendar li {
   display: flex;
   gap: .5rem;
   align-items: center;
	border-radius: var(--env-border-radius);
   position: relative;
   margin-right: 1.5rem;
   margin-bottom: 1.2rem;
}

.idr-calendar li > div:last-of-type {
   display: flex;
   flex-direction: column-reverse;
   align-items: flex-start;
}

.idr-date {
   background: var(--env-element-primary-background-color);
   color: var(--env-element-secondary-background-color);
   display: flex;
   flex-direction: column;
   align-items: center;
   height: 4rem;
   width: 4rem;
   min-width: 4rem;
   justify-content: center;
   border-radius: 5px!important;
}

.idr-date span:first-child {
   font-weight: 700;
   font-size: 1.5rem;
}

.idr-date span:last-child {
   text-transform: uppercase;
   color: #fff;
}

.idr-date--end {
   position: relative;
}

.idr-date--end::before {
   content: '';
   position: absolute;
   height: 4px;
   width: .5rem;
   left: -.5rem;
   background: var(--env-element-primary-background-color);
}

.idr-date--none {
   background: transparent;
}

.idr-calendar a {
   color: var(--env-element-secondary-font-color)!important;
   /*font-size: 1.25rem;*/
   text-decoration: none;
   /*margin-left: 1.5rem;*/
   flex: 1;
}

.idr-calendar a::after {
   content: '';
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

.idr-calendar .idr-timespan {
   /*font-family: monospace!important;*/
   color: #000;
   font-weight: bold;
   /*text-align: right;*/
}

.sv-eventcalendar-portlet table {
    width: 100%;
}

.sv-eventcalendar-portlet td{
    padding: .5em;
    text-align: center !important;
}

.idr-calendar-footer {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-top: 1em;
}

.idr-calendar-footer__next {
    margin-left: auto;
}

.idr-month-year {
    margin-bottom: 1em;
    text-align: center;
}

.idr-month-year__month.subheading {
    font-weight: 700;
}

.idr-month-year__year {
    margin-left: .25em;
}

@media screen and (max-width:992px){
    .idr-month-year {
        margin-top: 3em;
    }
   
   .idr-calendar .idr-timespan {
      display: none;
   }
}


.idr-calendar-section-startpage.idr-full-width-background:before {
     left: calc(-50vw + 50%);
    content: "";
    background: #f0f0f0;
   /*var(--env-element-primary-background-color);*/
    width: 100vw;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    z-index: -1;
}

/*Calendar on calenderpage - NOT startpage*/
.idr-cal-on-cal-page.idr-calendar ul {
   display: flex;
   flex-direction: column;
   gap: 1rem;
}

.idr-cal-on-cal-page.idr-calendar ul li {
   background-color: white;
}

.idr-cal-on-cal-page.idr-calendar ul li a span {
   display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sv-eventcalendar-portlet table {
   border-collapse: unset!Important;
}