/* ==========================================================================
   calendar.css — CIO community calendar
   Sourced from dev.cdmmedia.com. Overrides conflicting rules in custom008.css.
   ========================================================================== */


/* --- Container --- */

.calendar_container {
  display: flex !important;
  justify-content: center;
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 0 0 1em 0;
}


/* --- Card wrapper ---
   Override custom008.css which adds border/background/overflow to this class. */

.calendar_item_wrapper {
  font-size: 1em;
  display: flex;
  margin: 0.75em;
  width: 100%;
  aspect-ratio: 1 / 1;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  filter: none !important;
  text-align: left !important;
}


/* --- Card link --- */

a.calendar_item_morelink {
  display: flex !important;
  flex-direction: column;
  flex: 1;
  position: relative;
  border: 2px solid #cccccc;
  background: #ffffff;
  border-radius: 2em;
  text-align: left !important;
  color: #111111;
  text-decoration: none;
  overflow: hidden;
}

a.calendar_item_morelink:hover {
  border: 2px solid #222222;
  -webkit-transition: background 500ms ease;
  -moz-transition: background 500ms ease;
  -o-transition: background 500ms ease;
  transition: background 500ms ease;
  transform: scale(1.03);
  box-shadow: 0px 0px 18px 0px rgba(0,0,0,0.3);
}


/* --- Card interior ---
   Override custom008.css which adds a border-top to this class. */

.calendar_item_details {
  padding: 1em;
  border-top: none !important;
  flex: 1;
}


/* --- Event type label pill --- */

.calendar_label {
  border: 1px solid;
  text-transform: uppercase;
  font-size: 12px;
  border-radius: 2em;
  padding: 0 1em;
  z-index: 1;
  display: inline-block;
}


/* --- Community brand colours (pill fill + border) --- */

.rtd  { border-color: #6d9d31;                background-color: #6d9d31;                color: #ffffff !important; }
.caio { border-color: rgba(27,126,132,1);      background-color: rgba(27,126,132,1);     color: #ffffff !important; }
.cdo  { border-color: rgba(100,6,6,1);         background-color: rgba(100,6,6,1);        color: #ffffff !important; }
.ciso { border-color: rgba(14,91,147,1);       background-color: rgba(14,91,147,1);      color: #ffffff !important; }
.cio  { border-color: rgba(59,55,127,1);       background-color: rgba(59,55,127,1);      color: #ffffff !important; }
.cfo  { border-color: rgba(89,112,90,1);       background-color: rgba(89,112,90,1);      color: #ffffff !important; }
.cmo  { border-color: rgba(27,59,130,1);       background-color: rgba(27,59,130,1);      color: #ffffff !important; }
.clo  { border-color: rgba(132,23,80,1);       background-color: rgba(132,23,80,1);      color: #ffffff !important; }
.chro { border-color: rgba(132,23,80,1);       background-color: rgba(132,23,80,1);      color: #ffffff !important; }
.hc   { border-color: rgba(0,75,74,1);         background-color: rgba(0,75,74,1);        color: #ffffff !important; }
.ht   { border-color: rgba(0,75,74,1);         background-color: rgba(0,75,74,1);        color: #ffffff !important; }
.cx   { border-color: rgba(116,20,114,1);      background-color: rgba(116,20,114,1);     color: #ffffff !important; }
.gtm  { border-color: rgba(189,70,30,1);       background-color: rgba(189,70,30,1);      color: #ffffff !important; }
.cro  { border-color: rgba(189,70,30,1);       background-color: rgba(189,70,30,1);      color: #ffffff !important; }
.fs   { border-color: rgba(89,112,90,1);       background-color: rgba(89,112,90,1);      color: #ffffff !important; }
.ps   { border-color: rgba(150,112,153,1);     background-color: rgba(150,112,153,1);    color: #ffffff !important; }
.csco { border-color: rgba(197,174,10,1);      background-color: rgba(197,174,10,1);     color: #ffffff !important; }
.int  { border-color: #cfb47b;                 background-color: #cfb47b !important;     color: rgba(48,49,80,1) !important; }

/* Roundtable Dinner / Intellectiv card-link colour overrides */
.rtd1 { background-color: #ffffff !important; border-color: #ffffff;             color: #6d9d31 !important; }
.rtd2 { background-color: #6d9d31 !important; border-color: #6d9d31;             color: #ffffff !important; }
.int2 { background-color: rgba(48,49,80,1) !important; border-color: rgba(48,49,80,1); color: #ffffff !important; }

/* Force white text on headings and body copy inside coloured cards */
a.calendar_item_morelink.rtd2 h2,
a.calendar_item_morelink.rtd2 p,
a.calendar_item_morelink.int2 h2,
a.calendar_item_morelink.int2 p { color: #ffffff !important; }

/* Hover — keep pill colours stable on card hover */
a.calendar_item_morelink:hover .rtd  { border-color: #6d9d31;            background-color: #6d9d31;            color: #ffffff !important; }
a.calendar_item_morelink:hover .caio { border-color: rgba(27,126,132,1); background-color: rgba(27,126,132,1); color: #ffffff !important; }
a.calendar_item_morelink:hover .cdo  { border-color: rgba(100,6,6,1);    background-color: rgba(100,6,6,1);    color: #ffffff !important; }
a.calendar_item_morelink:hover .ciso { border-color: rgba(14,91,147,1);  background-color: rgba(14,91,147,1);  color: #ffffff !important; }
a.calendar_item_morelink:hover .cio  { border-color: rgba(59,55,127,1);  background-color: rgba(59,55,127,1);  color: #ffffff !important; }
a.calendar_item_morelink:hover .cfo  { border-color: rgba(89,112,90,1);  background-color: rgba(89,112,90,1);  color: #ffffff !important; }
a.calendar_item_morelink:hover .fs   { border-color: rgba(89,112,90,1);  background-color: rgba(89,112,90,1);  color: #ffffff !important; }
a.calendar_item_morelink:hover .cmo  { border-color: rgba(27,59,130,1);  background-color: rgba(27,59,130,1);  color: #ffffff !important; }
a.calendar_item_morelink:hover .clo  { border-color: rgba(132,23,80,1);  background-color: rgba(132,23,80,1);  color: #ffffff !important; }
a.calendar_item_morelink:hover .chro { border-color: rgba(132,23,80,1);  background-color: rgba(132,23,80,1);  color: #ffffff !important; }
a.calendar_item_morelink:hover .hc   { border-color: rgba(0,75,74,1);    background-color: rgba(0,75,74,1);    color: #ffffff !important; }
a.calendar_item_morelink:hover .ht   { border-color: rgba(0,75,74,1);    background-color: rgba(0,75,74,1);    color: #ffffff !important; }
a.calendar_item_morelink:hover .cx   { border-color: rgba(116,20,114,1); background-color: rgba(116,20,114,1); color: #ffffff !important; }
a.calendar_item_morelink:hover .gtm  { border-color: rgba(189,70,30,1);  background-color: rgba(189,70,30,1);  color: #ffffff !important; }
a.calendar_item_morelink:hover .cro  { border-color: rgba(189,70,30,1);  background-color: rgba(189,70,30,1);  color: #ffffff !important; }
a.calendar_item_morelink:hover .ps   { border-color: rgba(150,112,153,1);background-color: rgba(189,70,30,1);  color: #ffffff !important; }
a.calendar_item_morelink:hover .int  { border-color: #cfb47b;             background-color: #cfb47b !important; color: rgba(48,49,80,1) !important; }
a.calendar_item_morelink:hover .rtd1 { border-color: #ffffff;             background-color: #6d9d31;            color: #6d9d31 !important; }
a.calendar_item_morelink:hover .int2 { border: 2px solid #cfb47b !important; }


/* --- Logo container --- */

.calendar_logo_container {
  display: flex;
  align-items: center;
  padding: 1.25em 0 0.75em 0;
  flex-wrap: wrap;
}

.calendar_logo_container .calendar_item {
  min-width: auto;
}

.calendar_logo_container img {
  display: block;
  height: 2.4rem;
  max-width: 100%;
}

.calendar_logo_container img.calendar_logo {
  height: 1.5rem;
  width: 100%;
}

.calendar_logo_container img.calendar_logo_i {
  height: 1.5rem;
  width: 100%;
  padding-right: 0.5em;
}


/* --- Event name ---
   Override custom008.css which sets display:inline-block and large padding here. */

.calendar_item_eventname {
  display: block !important;
  padding: 0 !important;
}

.calendar_item_eventname h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.6em !important;
  font-weight: bold !important;
  padding: 0.25em 0 0.4em 0 !important;
  margin: 0 !important;
  line-height: 110%;
  letter-spacing: -0.5px;
  color: inherit !important;
  text-align: left !important;
}

.calendar_item_eventname p { padding: 0; margin: 0; }


/* --- Date / location row ---
   Override custom008.css which sets display:inline-block here. */

.calendar_item_eventdateloc {
  display: block !important;
  padding: 0;
  margin: 0;
}

.calendar_item_eventdateloc p {
  font-size: 1em;
  margin: 0 0 0.4em 0;
  color: inherit;
}

.datebox_container {
  max-width: 500px;
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin-bottom: 0.25em;
}

.calendar_icon,
.pin_icon {
  height: 1.3em;
  width: 1.3em;
  flex-shrink: 0;
}


/* --- CTA button row --- */

.calendar_item_regbtn {
  position: absolute;
  bottom: 0;
  width: 100%;
}
.calendar_item_regbtn p { margin: 1em 0 1em 1em !important; }

.btn11 {
  color: #222222;
  border: 1px solid #222222;
  border-radius: 2em;
  cursor: pointer;
  display: inline-block;
  padding: 0.5em 2em !important;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-size: 0.85em;
}
a.calendar_item_morelink:hover .btn11 {
  color: #ffffff;
  background: #222222;
  border: 1px solid #222222;
  -webkit-transition: background 500ms ease;
  -moz-transition: background 500ms ease;
  -o-transition: background 500ms ease;
  transition: background 500ms ease;
}

.btn12 {
  color: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 2em;
  cursor: pointer;
  display: inline-block;
  padding: 0.5em 2em !important;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-size: 0.85em;
}
a.calendar_item_morelink:hover .btn12 {
  color: #6d9d31 !important;
  background: #ffffff;
  border: 1px solid #ffffff;
  -webkit-transition: background 500ms ease;
  -moz-transition: background 500ms ease;
  -o-transition: background 500ms ease;
  transition: background 500ms ease;
}

.btn13 {
  color: #cfb47b;
  border: 1px solid #cfb47b;
  border-radius: 2em;
  cursor: pointer;
  display: inline-block;
  padding: 0.5em 2em !important;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-size: 0.85em;
}
a.calendar_item_morelink:hover .btn13 {
  color: #26326a;
  background: #cfb47b;
  border: 1px solid #cfb47b;
  -webkit-transition: background 500ms ease;
  -moz-transition: background 500ms ease;
  -o-transition: background 500ms ease;
  transition: background 500ms ease;
}


/* --- Divider --- */

.clear_calendar { clear: both; height: 1px; }


/* ==========================================================================
   Tablet  ≥ 768px
   ========================================================================== */

@media only screen and (min-width: 768px) {

  .calendar_item_wrapper {
    width: calc(50% - 1.5em);
  }

  .calendar_item_eventname h2 { font-size: 1.6em !important; }

  .calendar_item_eventdateloc p { font-size: 0.95em; }

}


/* ==========================================================================
   Desktop  ≥ 992px
   ========================================================================== */

@media only screen and (min-width: 992px) {

  .calendar_item_wrapper {
    width: calc(33.33% - 1.5em);
  }

  .calendar_item_eventname h2 { font-size: 1.6em !important; }

  .calendar_item_eventdateloc p { font-size: 0.95em; }

}
