:root{

/* Layout */

--txm-activities-columns-desktop:3;
--txm-activities-columns-tablet:2;
--txm-activities-columns-mobile:1;

--txm-activities-gap:1.75rem;
--txm-activities-card-radius:0px;
--txm-activities-card-padding:1.2rem;
--txm-activities-card-border-width:1px;
--txm-activities-card-image-ratio:16/9;

--txm-activities-breakpoint-tablet:900px;
--txm-activities-breakpoint-mobile:640px;

/* Card */

--txm-activities-card-bg:#ffffff;
--txm-activities-card-border-color:#e6e6e6;
--txm-activities-card-image-bg:#f4f4f4;

--txm-activities-card-shadow:0 2px 8px rgba(0,0,0,.06);
--txm-activities-card-shadow-hover:0 10px 30px rgba(0,0,0,.12);
--txm-activities-card-hover-translate-y:-3px;
--txm-activities-image-hover-scale:1.05;
--txm-activities-card-transition:.25s;
--txm-activities-image-transition:.4s;

/* Typography */

--txm-activities-title-size:1.35rem;
--txm-activities-title-line-height:1.25;
--txm-activities-title-font-weight:700;
--txm-activities-title-margin:.6rem 0 .7rem;

--txm-activities-ingress-size:1rem;
--txm-activities-ingress-line-height:1.55;
--txm-activities-ingress-color:#555;
--txm-activities-ingress-margin-bottom:0rem;

--txm-activities-occurrence-size:.95rem;
--txm-activities-occurrence-font-weight:500;
--txm-activities-occurrence-color:#333;

/* Colors */

--txm-activities-link-color:inherit;
--txm-activities-link-hover-decoration:underline;

--txm-activities-button-bg:#9f5e1d;
--txm-activities-button-bg-hover:#884a0c;
--txm-activities-button-color:#ffffff;

--txm-activities-date-badge-bg:#000000;
--txm-activities-date-badge-color:#ffffff;
--txm-activities-date-badge-shadow:0 4px 10px rgba(0,0,0,.25);

--txm-activities-calendar-opacity:.7;

/* Date badge */

--txm-activities-date-badge-top:-5px;
--txm-activities-date-badge-left:-5px;
--txm-activities-date-badge-width:64px;
--txm-activities-date-badge-height:84px;
--txm-activities-date-badge-radius:2px;

--txm-date-day-size:1.6rem;
--txm-date-day-line-height:1;
--txm-date-day-font-weight:700;

--txm-date-month-size:.8rem;
--txm-date-month-letter-spacing:.5px;
--txm-date-month-opacity:.9;
--txm-date-month-margin-top:2px;

/* Occurrence row */

--txm-activities-occurrence-gap:.6rem;
--txm-activities-occurrence-padding-top:0;
--txm-activities-occurrence-padding-right:1.2rem;
--txm-activities-occurrence-padding-bottom:1rem;
--txm-activities-occurrence-padding-left:1rem;

/* CTA */

--txm-activities-cta-padding-top:0;
--txm-activities-cta-padding-right:1.2rem;
--txm-activities-cta-padding-bottom:1.3rem;
--txm-activities-cta-padding-left:1rem;

--txm-activities-button-padding:.65rem 1.2rem;
--txm-activities-button-font-size:.9rem;
--txm-activities-button-font-weight:600;
--txm-activities-button-radius:3px;
--txm-activities-button-transition:.2s;
--txm-activities-button-hover-translate-y:-1px;

/* Calendar icon */

--txm-activities-calendar-size:18px;
--txm-activities-calendar-svg-size:16px;
--txm-activities-calendar-offset-y:0;

/* Clamp utility */

--txm-activities-max-line-clamp-1:1;
--txm-activities-max-line-clamp-2:2;
--txm-activities-max-line-clamp-3:3;
--txm-activities-max-line-clamp-4:4;
--txm-activities-max-line-clamp-5:5;
--txm-activities-max-line-clamp-6:6;
}



/* GRID */

.txm-activities__list{
display:grid;
grid-template-columns:repeat(var(--txm-activities-columns-desktop),1fr);
gap:var(--txm-activities-gap);
margin:0;
padding:0;
list-style:none;
}



/* CARD */

.txm-activity-card{
   display:flex;
   flex-direction:column;
   height:100%;
   background:var(--txm-activities-card-bg);
   border-radius:var(--txm-activities-card-radius);
   border:var(--txm-activities-card-border-width) solid var(--txm-activities-card-border-color);
   box-shadow:var(--txm-activities-card-shadow);
   overflow:visible;
   transition:var(--txm-activities-card-transition);
      z-index:1;
      position:relative;
}

.txm-activity-card:hover{
   transform:translateY(var(--txm-activities-card-hover-translate-y));
   box-shadow:var(--txm-activities-card-shadow-hover);
   z-index:2;
}



/* LINK */

.txm-activity-card__link{
display:flex;
flex-direction:column;
text-decoration:none;
color:var(--txm-activities-link-color);
flex:1;
}



/* IMAGE */

.txm-activity-card__media{
 /*  aspect-ratio:var(--txm-activities-card-image-ratio);*/
   overflow:hidden;
	border-top-left-radius:var(--txm-activities-card-radius);
	border-top-right-radius:var(--txm-activities-card-radius);
/*   background:var(--txm-activities-card-image-bg); 
   position:relative;  */    
}

.txm-activity-card__image{
   width:100%;
   height:100%;
   object-fit:cover;
   transition:var(--txm-activities-image-transition);
   display:block;
}

.txm-activity-card:hover .txm-activity-card__image{
	transform:scale(var(--txm-activities-image-hover-scale));
}



/* DATE BADGE */

.txm-activity-card__date-badge{
position:absolute;
top:var(--txm-activities-date-badge-top);
left:var(--txm-activities-date-badge-left);
background:var(--txm-activities-date-badge-bg);
color:var(--txm-activities-date-badge-color);
width:var(--txm-activities-date-badge-width);
height:var(--txm-activities-date-badge-height);
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
border-radius:var(--txm-activities-date-badge-radius);
box-shadow:var(--txm-activities-date-badge-shadow);
z-index:3;
}

.txm-date-day{
font-size:var(--txm-date-day-size);
font-weight:var(--txm-date-day-font-weight);
line-height:var(--txm-date-day-line-height);
}

.txm-date-month{
font-size:var(--txm-date-month-size);
letter-spacing:var(--txm-date-month-letter-spacing);
text-transform:uppercase;
opacity:var(--txm-date-month-opacity);
margin-top:var(--txm-date-month-margin-top);
}



/* CONTENT */

.txm-activity-card__content{
padding:var(--txm-activities-card-padding);
display:flex;
flex-direction:column;
flex:1;
}



/* TITLE */

.txm-activity-card__title{
margin:var(--txm-activities-title-margin);
font-size:var(--txm-activities-title-size);
line-height:var(--txm-activities-title-line-height);
font-weight:var(--txm-activities-title-font-weight);
}

.txm-activity-card__title:hover{
text-decoration:var(--txm-activities-link-hover-decoration);
}



/* INGRESS */

.txm-activity-card__ingress{
color:var(--txm-activities-ingress-color);
font-size:var(--txm-activities-ingress-size);
line-height:var(--txm-activities-ingress-line-height);
margin-bottom:var(--txm-activities-ingress-margin-bottom);
display:-webkit-box;
-webkit-box-orient:vertical;
overflow:hidden;
text-overflow:ellipsis;
word-break:break-word;
}



/* LINE CLAMP */

.txm-lines-1{-webkit-line-clamp:var(--txm-activities-max-line-clamp-1);}
.txm-lines-2{-webkit-line-clamp:var(--txm-activities-max-line-clamp-2);}
.txm-lines-3{-webkit-line-clamp:var(--txm-activities-max-line-clamp-3);}
.txm-lines-4{-webkit-line-clamp:var(--txm-activities-max-line-clamp-4);}
.txm-lines-5{-webkit-line-clamp:var(--txm-activities-max-line-clamp-5);}
.txm-lines-6{-webkit-line-clamp:var(--txm-activities-max-line-clamp-6);}



/* DATE ROW */

.txm-activity-card__occurrence{
display:flex;
align-items:center;
gap:var(--txm-activities-occurrence-gap);
padding:
  var(--txm-activities-occurrence-padding-top)
  var(--txm-activities-occurrence-padding-right)
  var(--txm-activities-occurrence-padding-bottom)
  var(--txm-activities-occurrence-padding-left);
font-size:var(--txm-activities-occurrence-size);
font-weight:var(--txm-activities-occurrence-font-weight);
color:var(--txm-activities-occurrence-color);
}

.txm-activity-card__calendar{
   width:var(--txm-activities-calendar-size);
   height:var(--txm-activities-calendar-size);
   flex-shrink:0;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   line-height:0;
}

.txm-activity-card__calendar svg{
   width:var(--txm-activities-calendar-svg-size);
   height:var(--txm-activities-calendar-svg-size);
   display:block;
   vertical-align:middle;
}



/* CTA */

.txm-activity-card__cta{
padding:
  var(--txm-activities-cta-padding-top)
  var(--txm-activities-cta-padding-right)
  var(--txm-activities-cta-padding-bottom)
  var(--txm-activities-cta-padding-left);
margin-top:auto;
}

.txm-activity-card__button{
display:inline-block;
background:var(--txm-activities-button-bg);
color:var(--txm-activities-button-color);
padding:var(--txm-activities-button-padding);
font-size:var(--txm-activities-button-font-size);
font-weight:var(--txm-activities-button-font-weight);
border-radius:var(--txm-activities-button-radius);
text-decoration:none;
transition:var(--txm-activities-button-transition);
}

.txm-activity-card__button:hover{
background:var(--txm-activities-button-bg-hover);
transform:translateY(var(--txm-activities-button-hover-translate-y));
}



/* RESPONSIVE */

@media(max-width:900px){
.txm-activities__list{
grid-template-columns:repeat(var(--txm-activities-columns-tablet),1fr);
}
}

@media(max-width:640px){
.txm-activities__list{
grid-template-columns:repeat(var(--txm-activities-columns-mobile),1fr);
}
}