/*
Theme Name:   Twenty Twenty-Four Child
Theme URI:    https://wordpress.org/themes/twentytwentyfour/
Description:  Twenty Twenty-Four child theme
Author:       WordPress.org
Author URI:   https://wordpress.org/
Template:     twentytwentyfour
Version:      1.0.0
Text Domain:  twentytwentyfourchild
*/

/** Brand fonts **/

@font-face {font-family:"FS ME";
src:url("../fsmeweb-regular.html") format("woff2"),
    url("../fsmeweb-regular-2.html") format("woff");
font-weight:normal; font-style:normal; }

@font-face {font-family:"FS ME";
src:url("../fsmeweb-bold.html") format("woff2"),
    url("../fsmeweb-bold-2.html") format("woff");
font-weight:700; font-style:normal; }

@font-face {font-family:"FS ME";
src:url("../fsmeweb-light.html") format("woff2"),
    url("../fsmeweb-light-2.html") format("woff");
font-weight:300; font-style:normal; }


/* end fonts */


/** Standards**/

.hide-me,
.hide-me.wp-column {display:none !important; }

.has-opacity  {}
.opacity-20 {opacity:0.2; }
.opacity-40 {opacity:0.4; }
.opacity-50 {opacity:0.5; }
.opacity-60 {opacity:0.6; }
.opacity-70 {opacity:0.7; }
.opacity-80 {opacity:0.8; }
.opacity-90 {opacity:0.9; }


.extra-sticky, .is-extra-sticky  {z-index:90; }



/*** standardized sizing ***/

/** height */

.has-height {height:100% !important;}

/** width**/

.has-min-200 {min-width:200px !important; }
.has-min-250 {min-width:250px !important; }


/**** Hacks for Deployment ****/


/*** Menus / Navigation ***/

/*header - main */
#mega-menu-max_mega_menu_2 #mega-page-item-1520 {background-color:#B10061 !important; }

.club-brand, .club-brand .mega-menu-link{background-color:#B10061 !important; color:#fff !important; }

/*adjust for lack of hover **/
#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 li.mega-menu-item:hover {background-color:#0D2F59!important; color:#fff !important;}

#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 > li.mega-menu-item > a.mega-menu-link:hover {background-color:#0D2F59!important; color:#fff !important;}


/** Annual report menu **/
#mega-menu-wrap-max_mega_menu_3 #mega-menu-max_mega_menu_3 li.mega-menu-item:hover {background-color:#bbd215 !important; color:#0D2F59!important;}

#mega-menu-wrap-max_mega_menu_3 #mega-menu-max_mega_menu_3 > li.mega-menu-item > a.mega-menu-link:hover {color:#0D2F59!important;}
/** end of AR **/



/** Brand updates to essential items & blocks **/


/** fonts & color adjustments **/

.pg-dark cite {color:#fff !important; }
.light_text {color:#fff !important; }

.dkbl, .dkbl svg {color: #0D2F59 !important; }


/** Links, buttons etc **/


/** adjust BUTTON(S) (btn) for display on dark backgrounds eg. 0d2f59 */

.btn-alt-dark a,
.btn-alt-dark > .wp-element-button,
.btn-alt-dark > .wp-block-button__link {
	background-color:#bbd215 !important; 
	color:#0D2F59; border:none !important;}

a.wp-block-button__link:focus, .wp-element-button:focus, 
a.wp-block-button__link:hover, .wp-element-button:hover {
	/** border:none !important ; **/ color:#0D2F59; }


.btn-alt-dark > a:focus, .btn-alt-dark > a:hover,
.btn-alt-dark .wp-element-button:hover,  
.btn-alt-dark .wp-block-button__link:hover {
	background-color:#2fccec !important; color:#0D2F59 !important;}



/** adjustments to link decoration **/

.link-hide-line a {text-decoration:none !important }



/* border hover effects */

.btn-img {}
.btn-img-border { }

.btn-img-border .has-accent-border-color:hover,
.btn-img-border .has-accent-border-color:focus { border-color:#bbd215!important; }

/* LISTS */

/*remove bullets **/

.is-list-style-none, .is-list-style-none li {list-style-type:none !important; }



/** theme - slanted edges **/
/*primary space - highlight blocks, SE pages */

/*btm left, top right*/
.has-slants {clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%, 0 0); }


/*----------------------------------------------*/

/*** OVERRIDE standard displays ***/

/** default margins - block-start.
 * removes the white space for hero, covers etc. */

.flush-top {margin-top: -.5rem !importnat; }



/** remove spacing **/

.no-space {margin-bottom:0 !important; }


/* QUERY LOOPS **
 * Post Templates **/

/* Post Templates */
/* eg. job listings >join team */

.has-bullets {list-style: disc !important;}


/*******************************/

/** TAXONOMY **/

/*custom images (icons) - custom snipet with shortcode */ 

/* display on cat template (archive pages) */

.taxonomy-img {
    max-height:85px;
    max-width:85px;
    display:inline-block;   
}

/*** Inpage display of category name & icon ***/
/*standard - program template */

/** full wrapper**/

.tax-inpg-sec { }

.tax-inpg-sec .taxonomy-img {
    max-height: 85px;
    max-width: 85px;
    padding: 5px;
}


/*******************************/

/****  NFD OVERRIDES *****/

/** DETAILS **/
/* 	adjust action button (svg image, rotates for close)  */

.wrap-pg .nfd-container summary::before { 
	background-size:18px !important;
	height:1.75em !important;
	width:1.75em !important;
}



/*** CUSTOM Plugins & Elements ****/

/*** program details - custom block - ACF & custom code **/

.custom-program-blk{
    border:1px solid #ddd;
    padding:20px;
    margin-bottom:20px;
    background-color:#f9f9f9;
}

.custom-program-blk .program-icon img {
    max-width:100%; height:auto;
    margin-bottom:15px;
}

.custom-program-blk .program-location,
.custom-program-blk .program-time,
.custom-program-blk .program-date {
    margin-bottom: 10px;
}

.program-details { margin:15px 0;}

.custom-program-blk .detail-row {
  display: flex;
  flex-direction:row;
  align-items: center;
  justify-content: space-between; 
}

.detail-row  .label {
  flex:1; /* Don't grow, don't shrink, auto basis */
}

.detail-row .data {
  flex: 2; /* Allow to grow and fill remaining space */
}



/*** UNIQUE AREAS **
*** section to be resorted based on use ***

/**
 * 	/--- HOMEPAGE ---/
**/

.mc-section-title { margin:1rem auto; padding:0 0;}

.my-calendar-navigation *, .mc-main {line-height:1.4 !important; }

/**** EVENTS - MY Calendar: Flexbox Two Column Details, Original Hero Grid (v2025-11-26) ****/

/* HERO SECTION (Grid for image + details) */
.mc-event-hero {
  background: #2fccec;
  padding: 2em 1em;
  text-align: left;
  margin-bottom:25px;
}
.mc-hero-content {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2em;
  align-items: center;
}
.mc-hero-column.mc-hero-left {
  display: flex;
  justify-content: center;
  align-items: center;
}
.mc-hero-image img {
  border-radius: 0;
  border: none;
  margin:0 auto;
  max-width:90%;
/*max-width: 100%;*/
  height: auto; 
  display: block;
}
.mc-hero-column.mc-hero-right {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
.mc-hero-title {
  font-size: var(--wp--preset--font-size--x-large);
  margin: 0;
  font-weight: bold;
  line-height: 1.15;
}
.mc-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  font-size: var(--wp--preset--font-size--small);
}
.mc-icon {
  vertical-align: middle;
  margin-right: 0.35em;
  display: inline-block;
  color: inherit;
  font-size: 0.9em;
}
.mc-hero-column .mc-date, 
.mc-hero-column .mc-time {
  display: flex;
  align-items: center;
  gap: 0.4em;
  background: #0D2F59;
  border-radius:0;
  border-left:solid 4px #eee;
  padding: .5em .8em;
  color: #eee;
  font-weight: normal;
  font-size: var(--wp--preset--font-size--small);
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  border: 0 !important;
}

/* DETAILS FLEX (Two Columns for Timing/Location) */
.mc-details-flex {
  display: flex;
  gap: 2em;
  margin-bottom: 2em;
  flex-wrap: wrap;
}
.mc-details-column {
  flex: 1 1 200px;
  min-width: 260px;
}
/*event details - style*/
.card-details .event-accent-list,
.event-accent-list {
  list-style: none;
  padding-left: .5em;
  margin: 0 0 0 8px;
  border-left: 5px solid #2fccec;
}

.event-accent-list .event-accent-row,
.event-accent-list li {
  margin-bottom: 0.6em;
  display: flex;
  align-items: center;
  font-size: var(--wp--preset--font-size--small);
}

/* Labels and Values */
.mc-label {
  font-weight:bold;
  color: #0D2F59;
  margin-right: 0.6em;
  min-width: 90px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
	font-size: var(--wp--preset--font-size--small); }

/*modify labels in the event details */
.mc-details-column  .mc-label {
	font-weight:normal !important; 
}

/*location*/
.mc-value,
.mc-location-name,
.mc-location-street,
.mc-location-city,
.mc-location-region {
  color: #0D2F59;
  font-weight: bold;
  font-size: var(--wp--preset--font-size--small);
}

.time-separator {
  margin: 0 0.5em;
  color: #0D2F59;
  font-weight: bold;
  font-size: var(--wp--preset--font-size--small);
}

.mc-location-region {
  color: #0D2F59;
  font-weight: normal;
}

/*remove bold for location data **/ 

.mc-event-location .mc-location-street,
.mc-event-location .mc-location-city,
.mc-event-location .mc-location-region
 { font-weight: normal !important; }


/* Section Titles/Icons */
.mc-section-title {
  font-size: var(--wp--preset--font-size--small);
  font-weight: bold;
  color: #0D2F59;
  margin-bottom: 0.9em;
  display: flex;
  align-items: center;
}
.mc-section-title .mc-icon {
  color: #2fccec;
  font-size: 1.25em;
  margin-right: 0.4em;
  vertical-align: middle;
}

/* DESCRIPTION & CATEGORIES */
.sub-details {
  margin-bottom: 2em;
}
.mc-description-block {
  margin-bottom: 2em;
  font-size: var(--wp--preset--font-size--small);
}
.mc-description {
  margin-top: 0.5em;
  font-size: var(--wp--preset--font-size--small);
}
.mc-category-block {
  margin-bottom: 2em;
  font-size: var(--wp--preset--font-size--small);
}
.mc-categories {
  font-weight: normal;
  color: #0D2F59;
  margin-left: unset;
  font-size: var(--wp--preset--font-size--small);
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .mc-details-flex {
    flex-direction: column;
    gap: 1.2em;
  }
}
@media (max-width: 768px) {
  .mc-hero-content {
    grid-template-columns: 1fr;
    gap: 1.5em;
    text-align: center;
  }
  .mc-hero-title {
    font-size: 2rem;
  }
  .mc-hero-meta {
    justify-content: center;
  }
  .mc-hero-column.mc-hero-left { order: 1; }
  .mc-hero-column.mc-hero-right { order: 2; align-items: center;}
}
@media (max-width: 600px) {
  .event-accent-list {
    padding-left: 0.8em;
    border-left-width: 4px;
    margin-left: 3px;
  }
  .event-accent-list li {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 0.9em;
  }
  .mc-label {
    min-width: unset;
    margin-bottom: 0.25em;
  }
}
@media (max-width: 480px) {
  .mc-event-hero {
    padding: 1.5em 0.75em;
  }
  .mc-hero-content {
    gap: 1em;
  }
  .mc-hero-title {
    font-size: 1.5rem;
  }
  .mc-hero-meta {
    font-size: 1rem;
    gap: 0.75em;
  }
  .mc-date, .mc-time {
    padding: 0.3em 0.8em;
  }
}
/*** End of Event listing CSS ***/


/* overrides for card display **/

.mc-main * {line-height:1.4 !important;}


.card-event .event-title,
.card-event .event-title a {
	background:#f5f5f5 !important;
}

.mc-main .event-title,
.card-event .event-title { 
	padding:.5rem .25rem !important;
	margin-bottom:.75rem !important;
}
.card-event .mc-event-card {
	margin:.5rem 0;
}

/*** CARD VIEW ADDITIONS (v2025-11-27) ***/

/* dl-based accent rows used in card templates */
.card-details .event-accent-row {
  display: flex;
  font-size: var(--wp--preset--font-size--small);
  margin-bottom:.25rem !important;
}
.card-details .event-accent-list { 
	margin:.25em 0;
}

.card-details .event-accent-row .mc-label {
  font-weight: 400;
  color: #0D2F59;
  min-width: 50px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.card-details .event-accent-row .mc-label {
	margin-right: 0.1em !important;  font-size: 18px; }
	

.card-details .event-accent-row .mc-value {
  color: #0D2F59;
  font-weight: bold;
  font-size:18px;
}

/* Optional: keep dt/dd from adding extra spacing when used directly */
.event-accent-list dt,
.event-accent-list dd {
  margin: 0;
}

.mc-event-desc-wrapper { 
	margin:1rem 0 !important;
}




/* Mobile tweaks for card accent rows */
@media (max-width: 600px) {
 .card-details .event-accent-row {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 0.9em;
  }
 .card-details .event-accent-row .mc-label {
    min-width: unset;
    margin-bottom: 0.25em;
  }
}




/** Events & Calendars -**/

.time-block p {margin-top:5px !important; }


/*** RESPONSIVE ADJUSTMENTS ***/

/*** Modifications for small displays ***/

/* x-sm devices (650px and down) */

@media only screen and (max-width: 600px) {

/*remove icon from banners **/
.display-icon img {display:none !important; }
	
/*hide col/section for small display **/
	/*programs>image cols*/
	.hidden-small {display:none !important; }
	
}	
