/* VARIABLE DECLARATIONS */
:root {   
  /*FONT VARIABLES*/
  --brandFont1: montserrat, sans-serif;
  
  /*COLOR VARIABLES*/
  --pageBackground: #FFFFFF;
  --white: #ffffff;
  --brandColor1: #014B28;/* dark green */
  --brandColor2: #F6CF3C;  /* yellow */
  --brandColor3: #026A37; /* medium green */
  --brandColor4: #FFC60A;
  --brandColor5: #4b4b4b;
  --dividerLine: #FFC60A;
  --bodyCopy: #303030;

  /* OTHER VARIABLES */
  --transition: all 4s ease;
}
/* END VARIABLE DECLARATIONS */

/* EVENT PAGES STYLES */
.hollowButton { display:inline-block; font-family: var(--brandFont1); font-weight:600; color: var(--bodyCopy); border: 3px solid var(--brandColor4); font-size: 1.125rem; letter-spacing: 0.42px; margin:1rem 1rem 1rem 0; padding:.75rem 3.85rem; text-decoration: none; cursor:pointer; transition:all ease-in-out .2s; }
.hollowButton:hover, .hollowButton:focus{ background-color: var(--brandColor4); color: var(--bodyCopy); transition:all ease-in-out .2s; }
.eventLandingPage .wrapper, .eventLandingPage #featuredEvents { max-width:1480px; padding: .5rem; margin:0 auto; }

/* Button Styles */
.eventDetailPage button:not(#navSection), .eventLandingPage button.eventButton  { display: inline-block; font-family: var(--brandFont1); font-weight: 600; color: var(--bodyCopy); border: 3px solid var(--brandColor4); background-color: transparent; font-size: 1.125rem; letter-spacing: 0.42px; margin: 1rem 1rem 1rem 0; padding: 0.75rem 3.85rem; text-decoration: none; transition: all ease-in-out .2s; }
.eventLandingPage button.clear-filters { background-color: var(--brandColor2);  }
.p.eventDetailPage button:not(#navSection):hover, .eventLandingPage button.eventButton:hover, .eventDetailPage button:not(#navSection):focus, .eventLandingPage button.eventButton:focus  { background-color:var(--brandColor2); cursor:pointer; }

/* Input and Select Global Styles (used on the policies and events pages) */
.policiesPage input, .eventDetailPage input, .eventLandingPage input { color: var(--brandColor5); background-color: var(--white); border: 1px solid var(--dividerLine); padding: 15px; color: var(--brandColor5); font-size: 1rem; font-family: var(--brandFont1); font-weight: 500; }
.searchPol { position: relative; }
.searchIcon { position: absolute; right: 5px; top: 13px; }
.select-container { display: flex; flex-flow: row nowrap; background-color: var(--white); }
.select-container::after { content: url(../images/chevron-down-black.svg); margin-top: 25px; margin-left: -45px; z-index: 1; }
.policiesPage select, .eventDetailPage select, .eventLandingPage select { margin: 1rem 1rem 1rem 0; cursor: pointer; border-radius: 0;-moz-border-radius: 0; -webkit-border-radius: 0; -webkit-appearance: none; -moz-appearance: none; color: var(--bodyCopy); border: 1px solid #30303040; padding: 15px; font-size: 1rem; font-family: var(--brandFont1); font-weight: 500; background: transparent; z-index: 2; }


.eventLandingPage.landing .impact { margin-bottom: 0px; }
.eventLandingPage.mainBody, .eventDetailPage.mainBody { padding-top:0; padding-bottom: 60px; overflow:hidden; }
.eventLandingPage h1, .eventDetailPage .h1 { margin-top: 30px; display: block; }
/* Event Landing Page Featured Events Section */
#featuredEvents a { text-decoration: none; color: var(--white); transition: var(--transition); height: 100%; }
#featuredEvents .content { padding: 250px 30px 30px 30px; height: 100%; transition: var(--transition); }
#featuredEvents h2 { margin: 24px 0 1.5rem 0; font-family: var(--brandFont1); font-size: 2.25rem; font-weight: 700; letter-spacing:-.5px; text-transform:uppercase; }
#featuredEvents .content h3 { text-transform: uppercase; font-size: 1.875rem; }
#featuredEvents .content h4 { margin-bottom: 6px; font-size: 1.125rem; }
#featuredEvents .content p { font-size: .75rem; line-height: 1.5; margin-bottom: 0; }
#featuredEvents .content strong { font-weight: 500; }
#featuredEvents .cell { background-repeat: no-repeat; background-position: center; background-size: cover; }
.blackGradient { background: transparent linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.9) 100%); color: var(--white); }
.blackGradient h3, .blackGradient p { color: var(--white); }
a:hover .blackGradient, a:focus .blackGradient { background: transparent linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.95) 100%); }

@media only screen and (max-width: 650px) {
  #featuredEvents h2 { font-size: 2.25rem }
  #featuredEvents .headBox { overflow:visible; }
  #featuredEvents { max-width: 100vw; }
  .featuredColumns::-webkit-scrollbar { height: 4px; }
  .featuredColumns::-webkit-scrollbar-track { background-color: rgba(255,255,255,.2); }
  .featuredColumns::-webkit-scrollbar-thumb { background: var(--brandColor2); }
  .featuredColumns::-webkit-scrollbar-thumb:hover { background: var(--white); }
  #featuredEvents .featuredColumns { display: flex; overflow: auto; }
  #featuredEvents .content { width: 90vw; }
}
@media only screen and (min-width: 651px) {
/*  #featuredEvents .featuredColumns { display:grid; grid-template-columns: 1fr 1fr 1fr; }*/
}

/* Event Cards and Event Detail Page Image */
/*.four-column-cards { padding: 40px 30px 16px 30px; }*/
.four-column-cards.mixitup-container-failed { padding: 16px 30px; grid-template-columns: 1fr; }
.no-results-message { display: none; }
.mixitup-container-failed .no-results-message { display: block; }
.eventFigure { position: relative; }
.mix-card .eventFigure { border: 1px solid #30303021; }
.eventFigure img { display: block; width: 100%; object-fit: cover; max-height: 350px; }
.mix-card .eventFigure img { height: 200px; }
.eventFigure figcaption { padding: .5rem 1rem; text-align: center; font-style: normal; position: relative; background-color: var(--white);}
#eventDetail .eventFigure figcaption { padding:1.25rem;  }
.eventFigure h1, .eventFigure h3 { margin-bottom: 5px; transition: var(--transition); }
.eventDetailPage .eventFigure h1 { font-size: 2.375rem; font-family: var(--brandFont1); font-size:3rem; font-weight: 700; line-height:50px; text-transform: uppercase; color: var(--brandColor3); }
.eventFigure figcaption h3 { font-size: 1.125rem; text-transform: none; letter-spacing: -.18px; font-weight: 700; }
.locationSubtitle { font-size: 1.125rem; transition: var(--transition); display: block; }
#eventDetail .locationSubtitle { font-family: var(--brandFont1); font-size: 1.5rem; font-weight: 700; line-height:21px; letter-spacing: 0px; color:var(--bodyCopy); margin-top:1.25rem; }
.mix-card .locationSubtitle { display:inline-block; font-size: 1rem; font-weight:700; line-height: 1.25; letter-spacing: -.16px; color: var(--brandColor1); }
.mix-card .locationSubtitle strong { font-weight: 700; }
.mix-card a { text-decoration: none; transition: var(--transition); }
.mix-card a .eventFigure, .mix-card a img { transition: all .5s ease; }
.mix-card a:hover .eventFigure, .mix-card a:focus .eventFigure { box-shadow: rgba(99, 99, 99, 0.5) 0px 2px 8px 0px;; }
/* .mix-card a:hover img, .mix-card a:focus img { filter: brightness(.7); z-index: 1; } */
.eventTime { background-color: var(--brandColor3); position: absolute; top: -30px; right: 0; height: 30px; width: 86px; display: flex; justify-content: center; align-items: center; padding: 8px; font-family: var(--brandFont1); font-weight: 700; color: var(--white); font-size: .9rem; letter-spacing:-.15px }
#eventDetail .eventTime { top: -50px; height: 50px; width: 150px; font-size: 1.5rem; }
.eventDate { min-width: 60px; z-index: 2; color: var(--white); border: 5px solid var(--white); background: #026A37CC 0% 0% no-repeat padding-box; font-weight: 600; font-family: var(--brandFont1); padding: 4px 8px; text-align: center; position: absolute; top: 8px; left: 8px; }
#eventDetail .eventDate { top: 30px; left: 2rem; transform: scale(1.25); }
.eventDate .eventMonth { display: block; text-transform: uppercase; font-size: 1rem; font-weight:700; line-height: 1.5; letter-spacing:-.14px; }
.eventDate .eventDay { display: block; font-family: var(--brandFont1); font-size: clamp(2rem, 4vw, 42px); line-height: 1; letter-spacing: -0.42px; }
.four-column-cards #upcomingEventCards { display:grid; gap:1rem;  }
.eventDetailPage.interior .mainContent section { margin-right:0; margin-left:0; }
    margin-right: 168px;
}
@media (min-width: 1400px){
    .eventDetailPage.interior .mainContent { grid-template-columns: 1fr; }
}

@media (min-width: 961px){
    .eventDetailPage.interior .mainContent { grid-template-columns: 1fr; }
}

@media (min-width: 961px){
    .interior section .wrapper { padding: 30px 1.25rem; max-width: 1440px; width:100%; }
}




@media only screen and (min-width: 1081px) {
  .four-column-cards #upcomingEventCards { grid-template-columns: 1fr 1fr 1fr 1fr; }
}

@media only screen and (max-width: 1080px) and (min-width:  961px) {
  .four-column-cards #upcomingEventCards { grid-template-columns: 1fr 1fr 1fr; }
}

@media only screen and (max-width: 960px) {
  .eventDetailPage .eventFigure h1 { font-size: 2.5rem; }
  #eventDetail .locationSubtitle { font-size: 1.25rem; }
}
@media only screen and (max-width: 960px) and (min-width: 551px) {
 .mix-card, .mix-card .eventFigure { height: 100%; }
  .mix-card .eventFigure figcaption { height: calc(100% - 200px); display: flex; justify-content: center; align-items: center; }
  .four-column-cards #upcomingEventCards { display: grid; grid-column-gap: 24px; grid-row-gap: 24px; grid-template-columns: 1fr 1fr; }
}

@media screen and (max-width:550px) {
  .mix-card { margin-bottom: 24px; }
}

/* Event Filters on Landing and Listing pages */
#eventFilters h2 { font-size: 2.25rem; letter-spacing: -.46px; font-weight: 700; font-family: var(--brandFont1); color:var(--brandColor1); text-transform:uppercase; }
/*#eventFilters button { font-weight: 500; min-width: 160px; margin-top: 0; margin-bottom: 0; }*/
#eventFilters .eventButton, #eventFilters .eventButton span { line-height: 1.2; }
#eventFilters fieldset:first-of-type { flex-grow: 1; min-width: 195px; }
#eventFilters .select-container { margin-bottom: 18px; }
.eventsButtonGroup { flex-grow: 0; display: flex; margin-bottom: 18px; }
/*.eventsButtonGroup .eventButton { color: var(--white); }*/
/*.eventsButtonGroup .eventButton:first-of-type { background-color: var(--brandColor5); border-color: var(--brandColor5); }
.eventsButtonGroup .eventButton:nth-of-type(2) { background-color: var(--brandColor1); border-color: var(--brandColor1); }
.eventsButtonGroup .eventButton:last-of-type { background-color: var(--brandColor3); border-color: var(--brandColor3); }*/
/*.eventsButtonGroup .eventButton:hover { opacity: .75; }*/
.mixitup-control-active { background-color: var(--brandColor2); }

@media screen and (max-width:550px) {
  #eventFilters h2 { font-size: 2.25rem; text-align: center; }
  #eventFilters button { min-width: unset; font-size: .825rem; padding: 10px; width: 100%; }
  #eventFilters select { font-size: .825rem; padding: 10.25px; background-position: calc(150% - 15px) 50%; width: 100%; }
  .eventLandingPage .filters { display: flex; flex-wrap: wrap; }
  .eventLandingPage #eventFilters fieldset:first-of-type { width: 100%; }
  .eventsButtonGroup { margin-bottom: 0; }
}
@media only screen and (min-width: 551px) {
  .filters { display: flex; flex-wrap: wrap; }
  .filters select { width: 100%; }
  .filters .clear-filters { align-self: flex-start; }
  #eventFilters fieldset select { width: 100%; }
}
@media only screen and (min-width: 551px) and (max-width: 960px) {
  #eventFilters fieldset select { max-width: 460px; }
  #eventFilters button { padding: 8px 10px; }
  #eventFilters button:last-of-type, #eventFilters select { padding-top: 10px; padding-bottom: 10px; }
}

@media screen and (max-width:840px) {
  .filters { flex-flow: column; }
  #eventFilters fieldset:first-of-type { width:100%; max-width:100%; }
  #eventFilters fieldset select, #eventFilters fieldset select { max-width:100%; }
  #eventFilters button { width: 34.333333%; }
  #eventFilters button.clear-filters { width:100%; }
}

@media screen and (max-width:600px) {
  #eventFilters button { width: 37%; }
}

@media screen and (min-width:840px) {
  #eventFilters fieldset:first-of-type, #eventFilters fieldset:nth-of-type(2) { margin-right: 18px; }
}

@media screen and (max-width:960px) {
  .select-container::after { margin-top: 20px; }
}

/* Add to Calendar or Subscribe Button */
.calendar-button-wrapper { width: max-content; max-width: 100%; }
.align-center .calendar-button-wrapper { margin-left: auto; margin-right: auto; }
.calendar-button-wrapper > .eventButton { margin: 0; }
.calendar-buttons { display: flex; justify-content: center; }
.calendar-button { padding: 5px; line-height: 1; margin: 8px; display: inline-block; width: 40px; height: 40px; border: 3px solid var(--brandColor2); }
.calendar-button svg { width: 100%; fill: var(--brandColor4); }
.calendar-button:hover svg, .calendar-button:focus svg { fill: var(--brandColor4); }

/* Event Listing Page only */
.subscribeButton { margin-bottom: 60px; padding: 0 30px; }

/* Event Detail Page only */
.eventDetailPage .contentWrapper { max-width:1370px; margin: 0 auto;     padding-left: 1.25rem }
#eventDetail .one { max-width: 1480px; margin: 0 auto; padding:0; }
.eventDetailPage .mainContent { margin-top: 0; width:100%; max-width:100%; padding:0; }
.eventDetailPage .mainContent .columns:not(:first-of-type) { margin-top: 2rem; }
.eventDetailPage .mainContent .columns:not(:first-of-type) .wrapper { max-width: 1440px; width:100%; margin: 0 auto; padding: 0 1.25rem; }
.eventDetailPage .eventFigure img { display: block; width: 100%; object-fit: cover; max-height: 999px; min-height:400px; }
.interiorContent .eventFigure { margin-bottom: 2rem; }
.eventCategories { margin-bottom: 1.5rem; display: inline-flex; flex-wrap: wrap; gap: 8px; }
.eventCategories strong { font-size:1.5rem; font-weight:700;  }
.categoryTag { color: var(--bodyCopy); padding:0; font-size: 1.5rem; font-weight: 400; letter-spacing: .63px; font-family: var(--brandFont1); }
.socialShare p { margin-right: 8px; margin-bottom: 5px; font-weight: bold; }
@media only screen and (max-width: 960px) {
  .eventDetailPage { padding-bottom: 24px; }
}
@media only screen and (min-width: 961px) {
  .socialShare { display: flex; justify-content: right; align-items: center; }
}

.monthly-controls { display: flex; flex-flow: row nowrap; margin-bottom: 20px; }
.monthly-controls .show-month { width: auto; text-align: center; font-family: var(--interstateRegular); font-size: 1.2em; font-weight: 700; padding: 0 0.75rem; }
.monthly-controls .prev-month { background-image: url(../images/chevron-left.svg); background-position: center; background-color: transparent; width: 20px; height: auto; background-repeat: no-repeat; background-color: var(--grayBg); border: none; cursor: pointer; margin: 0; padding: 0; }
.monthly-controls .next-month { background-image: url(../images/chevron-right.svg); background-position: center; background-color: transparent; width: 20px; height: auto; background-repeat: no-repeat; background-color: var(--grayBG); border: none; cursor: pointer; margin: 0; padding: 0; }
.monthly-controls .next-month:hover, .monthly-controls .prev-month:hover,
.monthly-controls .next-month:focus, .monthly-controls .prev-month:focus { background-color:transparent; } 
.standard #featuredEvents .headBox { left: -5vw; }
.eventLandingPage { position: relative; margin-bottom:5rem; }
.eventLandingPage .eventFigure figcaption { padding: 1rem; }
.mix-card, .mix-card .eventFigure { height: 100%; }
.eventLandingPage .mix-card .eventFigure figcaption {height: calc(100% - 200px); display: flex; justify-content: center; align-items: center; }
.eventLandingPage .arrowLink { position: absolute; bottom: -40px; right: 1rem; z-index: 2; }
.eventLandingPage .sectionNav .wrapper { padding:0; }
#featuredEvents .featuredColumns { display: grid; grid-template-columns: 1fr 1fr 1fr; gap:1rem; }
/*.eventLandingPage .mix-card { padding:0 1rem; }*/
.eventLandingPage .mix-card .eventFigure img { height: clamp(250px, 25vw, 275px); max-height:200px; }
.eventLandingPage .four-column-cards .mix-card .eventFigure img { height: auto; max-height: 200px; }
.eventLandingPage #featuredEvents .eventFigure figcaption h3 { font-size: 1.5rem; letter-spacing:-.25px; }
.eventLandingPage #featuredEvents .mix-card .locationSubtitle { font-size: 1.25rem; letter-spacing:.20px;  }
/*.eventLandingPage button#navSection { padding:inherit; margin:inherit; }*/
/*.eventLandingPage button#navSection:hover, .eventLandingPage button:#navSection:focus { background-color:transparent; }*/
.eventLandingPage button { padding:0; margin:0; }
.eventLandingPage button:hover, .eventLandingPage button:focus { background-color:transparent; }7/

.eventLandingPage .slick-dots li { position: relative; display: inline-block; margin: 0 2px; }

@media only screen and (max-width: 960px) {
    #featuredEvents .featuredColumns { display: grid; grid-template-columns: 1fr; gap:1rem; }
    #featuredEvents .featuredColumns  .mix-card .eventFigure img { height: 275px; max-height: 275px; }
    #featuredEvents .featuredColumns .mix-card .eventFigure figcaption { height: calc(100% - 275px); }
    .mix-card .eventFigure img { height: auto; max-height: 117px; }
}