
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;

}
@import 'defaults.css';
@import 'variables.css';





:root {
  overscroll-behavior: none;
  --padding: 1.5rem;
  --small-padding: .4rem;
  --padding-regular: 1rem;
  --h2-bottom-padding: .5rem;
  --color-black: #000;
  --color-white: #ffffff;
  --color-grey: #777;
  --color-light: #efefef;
  --color-text: var(--color-black);
  --color-text-grey: var(--color-grey);
  --color-background: var(--color-white);
  --color-code-light-grey:  #cacbd1;
  --color-code-comment:     #a9aaad;
  --color-code-white:       #c5c9c6;
  --color-code-red:         #d16464;
  --color-code-orange:      #de935f;
  --color-code-yellow:      #f0c674;
  --color-code-green:       #a7bd68;
  --color-code-aqua:        #8abeb7;
  --color-code-blue:        #7e9abf;
  --color-code-purple:      #b294bb;
  --font-family-sans: "Arial", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family-serif: "Times New Roman", Times, serif;
  /* Font Sizes Mobile */
  --caption-font-size: 12px;
  --font-size-h1: 16px;
  --font-size-h2: 30px;
  --font-size-h3: 20px;
  --font-size-h4: 16px;
  --font-size-nav: 16px;
  --font-size-body-1: 16px;
  --font-size-body-2: 16px;
  --font-size-body-3: 16px;
  --font-size-body-4: 16px;

 

 /* Line Heights */
 --caption-line-height: 1.25;
 --line-height-h1: 1.1;
 --line-height-h2: 0.9;
 --line-height-h3: 1.1;
 --line-height-h4: 1.2;
 --line-height-nav: 1.1;
 --line-height-body-1: 1.25;
 --line-height-body-2: 1.1;
 --line-height-body-3: 1.2;
 --line-height-body-4: 1.1;

}

html {
  font-family: var(--font-family-sans);
  color: var(--color-text);
  background: var(--color-background);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
}




img {
  width: 100%;
}

   /* Make body a flex container */
   html, body {
    height: 100%;
    display: flex;
    margin: 0;
    flex-direction: column;
  }

.event-list.centered {
  display: flex;
  justify-content: center; 
  align-items: center;
  min-height: calc(100vh - 200px); /* Adjust this value based on your header/footer height */
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.event-item {
  max-width: 800px;
  width: 100%;
  padding: 2rem;
  margin: 0 auto;
  /* text-align: center; */
}

/* BODY 1 */

body {

  width: 100%;
  background-color: var(--background-color);
  color: var(--body-1-color);
  font-size: var(--font-size-body-1);
  line-height: var(--line-height-body-1);
  font-family: var(--font-family-sans);
  /* overflow: scroll;  */

}



/* .event-column p a  {
  text-decoration: underline;
  text-decoration-color: auto;
} */



ul {
  max-width: 100vw;
}

/* BODY 2 */

.body-2 {
  font-size: 1em;
  line-height: var(--line-height-body-2);
  color: var(--body-2-color, #000000); /* Default text color */
  font-family: var(--font-family-sans)';
}
/* BODY 3 */

.body-3 {
  font-size: 1em;
  line-height: var(--line-height-body-3);
  color: var(--body-3-color, #000000); /* Default text color */
  font-family: var(--font-family-sans);
}

  /* BODY 4 */
  .body-4 {
    font-size: var(--font-size-body-4);
    line-height: var(--line-height-body-4);
    color: #000000; /* Default text color */
    font-family: var(--font-family-sans);
  }

  .body-4 p {
    padding-bottom: var(--padding-regular);
  }

  /* .body-2 a{
    text-decoration: none;
  } */
  
li {
  list-style: none;
  padding-bottom: 1rem;
}
/* h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
} */


/* HEADINGS */

h1 {
  color: var(--h1-color);
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  font-family: var(--font-family-sans);
  font-weight: normal;
}

h2 {
  color: var(--h2-color);
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  font-family: var(--font-family-sans);
  /* text-transform: uppercase; */
  font-weight: normal;

}

h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  font-family: var(--font-family-sans);
  color:  var(--h3-color);
  font-weight: normal;

}

h4 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  font-family: var(--font-family-sans);
  font-weight: normal;

}

a.link {
  text-decoration: underline;
}

a {
  color: inherit ;
  text-decoration: none;
}

button {
  font: var(--font-family-sans);
  font-size: var(--font-size-body-2) ;
  background-color: var(--button-color);
  border: 0;
  padding: .5rem;
  color: var(--button-text-color);
  cursor: pointer;
}
button:hover {
  background-color: var(--button-color-hover);
  color: var(--button-text-color-hover);
}
button:active {
  background-color: var(--button-color-active);
  color: var(--button-text-color-active);
}
/* TICKETS */
.tickets {
  font-family: var(--font-family-mono);
  /* color: var(); */
  margin-bottom: var(--padding);
}
strong, b {
  font-weight: 600;
}
small {
  font-size: inherit;
  color: var(--color-text-grey);
}

/* form {
} */
/* Page Wrapper */
/* .main {
  position: relative;
  max-width: 100vw; 
} */
 .main {
  flex: 1; /* always fills remaining vertical space */
  display: flex;
  flex-direction: column;
}

.main-content {
  flex: 1;
  overflow: auto; /* content scrolls, not body */  
  padding: 0 1rem;
  
}
/* ----Heading Classes---- */

/* .text h1,
.h1,
.intro {
  font-size: 2rem;
  margin-bottom: 3rem;
  line-height: 1.25em;
} */
 .h1 {
  padding-bottom: var(--padding);
 }


.text h2,
.h2 {
  /* font-size: 1.25rem; */
  /* font-weight: 600; */
  /* margin-bottom: 1.25rem; */
  /* width: 100vw; */
  padding: .5rem;
  /* background-color: orange; */
}

/* .text h3,
.h3 {

} */
 .h3 {
  /* width: 100%; */
padding-left: var(--padding);
padding-top: var(--small-padding);
padding-bottom: .56rem;

}




/* Specific styling for *Residency* EVENTS section */
#h3-2 {
  background-color: var(--events-h3-bg);
  color: var(--events-h3-color);
}

#h3-3 {
  background-color: var(--more-h3-bg);
  color: var(--more-h3-color);
}

.bg-light {
  background-color: var(--color-light);
}
.color-grey {
  color: var(--color-text-grey);
}

/* Navigation  */

header {
  /* position: fixed; */
  /* background-color: var(--header-bg, #f5f5f5);  */
  color: var(--header-text, #000000); /* Default header text color */
  /* position: relative; */
  display: flex;
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100vw;
  /* padding: 0 20px; */
    padding: 2rem;

  justify-content: space-between;
  align-items: center;
  /* height: 8vh; */

}




li.home-button {
  text-decoration: none;
}

/* Nav menu universal styling */




/* QUOTE + Image background */
/* .quote{
  padding-bottom: var(--padding);
} */
.image-background {
  position: relative;
  padding: 1.5rem;
  /* width: 100%; */
  color: var(--quote-color);
  background-color: var(--image-bg, #ffffff); /* Default image background */
}

.image-background li {
  padding-bottom: 0; /*padding below residency image */
}

li img {
  padding-top: var(--padding);
  background-color: var(--image-bg); /* Default image background */

}
.page-title {
  position: relative;
  display: block;
  padding: var(--padding);
  background-color: var(--header-bg, #ffffff); 
  /* color: var(--header-text, #000000); */
}

/* EVENT PAGES ONLY */
/* FOR EVENT ONLY ".page-title p" targets text*/
.event-title {
  padding-bottom: 1rem;
}
.event-wrapper p {
  color: var(--body-1-event-color);

}

.event-wrapper {
  position: relative;
  display: block;
  padding: 0 var(--padding) var(--padding) var(--padding);
  background-color: var(--header-bg, #ffffff); 
  color: var(--header-text, #000000);
}






.section {
  padding: 3rem 0;
}

.grid {
  --columns: 4;
  --gutter: 3rem;
  display: grid;
  grid-gap: var(--gutter);
  grid-template-columns: 1fr;
}
.grid > .column {
  margin-bottom: var(--gutter);
}

.autogrid {
  --gutter: 3rem;
  --min: 10rem;
  display: grid;
  grid-gap: var(--gutter);
  grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr));
  grid-auto-flow: dense;
}


/* TEXT BLOCKS  */
.text {
  position: relative;
  line-height: 1.5em;
  padding: var(--padding);
  background-color: var(--text-bg, #ffffff); /* Default text background */
}

.text-2 {
  padding: var(--padding) var(--padding) 0 var(--padding);
  background-color: var(--text-2-bg, #ffffff); /* Default text background */
}

.text-3 {
  padding: var(--padding) var(--padding) 0 var(--padding);
  background-color: var(--text-3-bg, #ffffff); /* Default text background */
}
.text a {
  text-decoration: underline;
}
.text :first-child {
  margin-top: 0;
}
.text :last-child {
  margin-bottom: 0;
}
.text p,
.text ul,
.text ol {
  margin-bottom: 1rem;
}
.text ul,
.text ol {
  margin-left: 1rem;
}
.text ul p,
.text ol p {
  margin-bottom: 0;
}
.text ul > li {
  list-style: disc;
}
.text ol > li {
  list-style: decimal;
}
.text ul ol,
.text ul ul,
.text ol ul,
.text ol ol {
  margin-bottom: 0;
}


.text .codeblock {
  display: grid;
}
.text code {
  font-family: var(--font-family-sans);
  font-size: 1em;
  background: var(--color-light);
  padding: 0 .5rem;
  display: inline-block;
  color: var(--color-black);
}
.text pre {
  margin: 3rem 0;
  background: var(--color-black);
  color: var(--color-white);
  padding: 1.5rem;
  overflow-x: scroll;
  overflow-y: hidden;
  line-height: 1.5rem;
}
.text pre code {
  padding: 0;
  background: none;
  color: inherit;
}
.text hr {
  margin: 6rem 0;
}
.text dt {
  font-weight: 600;
}
.text blockquote {
  font-size: 1.25rem;
  line-height: 1.325em;
  border-left: 2px solid var(--color-black);
  padding-left: 1rem;
  margin: 3rem 0;
  max-width: 25rem;
}
.text blockquote footer {
  font-size: .875rem;
  font-style: italic;
}
.text figure {
  margin: 3rem 0;
}
.text figcaption {
  padding-top: .75rem;
  color: var(--color-text-grey);
}
.text figure ul {
  line-height: 0;
  display: grid;
  gap: 1.5rem;
  margin: 0;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}
.text figure ul li {
  list-style: none;
}

hr {
  border: 0;
  background: currentColor;
  height: 2px;
  width: 1.5rem;
  margin: 3rem auto;
}

.align-center {
  text-align: center;
}

.intro {
  max-width: 40rem;
}
.intro *:not(:last-child) {
  margin-bottom: 1em;
}

.cta {
  background: var(--color-black);
  color: var(--color-white);
  display: inline-flex;
  justify-content: center;
  padding: .75rem 1.5rem;
  border: 4px solid var(--color-white);
  outline: 2px solid var(--color-black);
}

.box {
  background: var(--color-light);
  padding: 1.5rem;
  border: 4px solid var(--color-white);
  outline: 2px solid var(--color-light);
}

.video,
.img {
  position: relative;
  display: block;
  --w: 1;
  --h: 1;
  padding-bottom: calc(100% / var(--w) * var(--h));
  background: var(--color-black);
}
.img img,
.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}
.img[data-contain] img {
  object-fit: contain;
}
.img-caption,
.video-caption {
  /* padding-top: .75rem; */
  margin-bottom: var(--padding);
  line-height: var(--line-height-body-2);
  color: var(--caption-color);
  font-family: var(--font-family-sans);
  font-size: var(--caption-font-size);
}

/* FOOTER */

.footer {

  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;

  width: 100vw;
  padding-left: 2rem;
  padding-right: 2rem;
  line-height: 1.5em;
  font-family: var(--font-family-sans);
  font-size: var(--font-size-nav);
  color: black;
}

.footer div {
  display: inline-flex;
  align-items: center;
}




.footer p {
  /* display: inline-block; */
  position: relative;
  max-width: 100%;
  /* padding-right: var(--padding); */
}
.footer a:hover {
  color: var(--color-text);
}


.map {
  --w: 2;
  --h: 1;
  padding-bottom: calc(100% / var(--w) * var(--h));
  position: relative;
  overflow: hidden;
  background: var(--color-black);
}
.map iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.margin-s {
  margin-bottom: .75rem;
}
.margin-m {
  margin-bottom: 1.5rem;
}
.margin-l {
  margin-bottom: 3rem;
}
.margin-xl {
  margin-bottom: 4.5rem;
}
.margin-xxl {
  margin-bottom: 6rem;
}



.grid {
  grid-template-columns: repeat(12, 1fr);
}
.grid > .column {
  grid-column: span var(--columns);
}







/* Exhibitions LANDING PAGE  */
.note-excerpt {
  line-height: 1.5em;
}
.note-excerpt header {
  margin-bottom: 1.5rem;
}
.note-excerpt figure {
  margin-bottom: .5rem;
}
/* .note-excerpt-title {
  font-weight: 600;
}
.note-excerpt-date {
  color: var(--color-text-grey);
} */





/* HOMEPAGE AND RESIDENCIES LANDING PAGE THEMES */















@media only screen and (max-width: 59rem) {
  header nav {
    display: none;
  }

  #menu-icon {
    display: block;
  }
  /* Mobile Menu Color */
  header ul li {
    color:lch(18% 12 282);
    font-family: var(--font-family-mono);
  }

/* header {
} */
 /* .header a img {
  display: flex;
  position: relative;
    align-items: center;
width: auto;
  overflow: hidden;
  max-height: 7vh;

    mix-blend-mode: difference;

} */
  
/* .footer {
    padding: 2rem;

} */
}




@media screen and (min-width: 45rem) {
 /* html, body {
  overflow: hidden; 

 } */

 .header {
  height: 5.5vh;
  padding-left: 2rem;
 }

/* .header a img {
  display: flex;
  position: relative;
  height: auto;
    align-items: center;
width: auto;
  overflow: hidden;
  max-height: 60px;
    mix-blend-mode: difference;

} */
  :root {
   
    --caption-font-size: 16px;


  }

  /* h1 {
    font-size: 1rem;

  }

  h2 {
    font-size: 2.25rem;
  }

  h3 {
    font-size: 1.5rem;
  }

  h4 {
    font-size: 1.35rem;
  }

  body {
    font-size: 1.25rem;
  } */

  
  /* HEADER */

/* DESKTOP NAVIGATION */
/* #menu-icon {
  display: none;
} */
header {
  /* position: fixed; */
  /* background-color: var(--header-bg, #f5f5f5);  */
  color: var(--header-text, #000000); /* Default header text color */
  /* position: relative; */
  display: flex;
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100vw;
  /* padding: .7rem 1rem; */
  justify-content: space-between;
  align-items: center;
/* padding: 1rem 1rem; */
}


nav .menu li.home-button a{
  text-decoration: none;
}

nav.menu button a {
  background-color: none;
}

.menu a {
  text-decoration: none;
  font-family: var(--font-family-sans);
  font-size: var(--font-size-nav);
}
.menu a[aria-current] {
  text-decoration: 1.5px solid underline;
}
/* END nav menu styling */


  /* MAIN CONTENT (expands dynamically) */
  .main-content {
    display: flex;
    position: relative;
    padding: 0;
    flex-grow: 1;
    height: 82.75vh;
    overflow: hidden; 
  }
  

/* IMAGE STYLES */
.event-column img {
  width: 100%;
  height: auto;
  object-fit: cover;
  flex-grow: 1; /* ✅ Ensures images take up remaining space */
}
  
  
.quote {
  max-width: 50vw;
}
.text p {
  max-width: 50vw; 

}


/* EVENT PAGE */
/* Event page image  */
.event-wrapper img {
  max-width: 50vw;
}
.event-wrapper p {
  max-width: 50vw;

}
/* Event page image  */
.page-title h2 {
  max-width: 50vw;
}

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

  .event-list.centered {
    
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 0;
}

.event-item {
  /* Add any specific styling for the event item here */
  max-width: 500px; /* or whatever width you prefer */
  margin: 0 auto;
}
  /* .home-columns {
    display: flex;
    flex-wrap: nowrap; 
    align-items: stretch;
    justify-content: space-between;
    flex: 1; 
  }
  
 .event-column {
  flex: 1 1 auto; 
  min-width: 0; 
  display: flex;
  flex-direction: column;
  overflow-y: auto; 
  transition: all 0.3s ease-in-out;
} */

/* MAKE IMAGES SCALE WITHIN COLUMN */
/* .event-column img {
  width: 100%;
  height: auto;
  object-fit: cover;
  flex-grow: 1; 
} */

/* WHEN FEWER COLUMNS EXIST, THEY TAKE UP MORE SPACE */
/* .home-columns.columns-1 .event-column { flex-grow: 1; max-width: 20%; }
.home-columns.columns-2 .event-column { flex-grow: 1; max-width: 50%; }
.home-columns.columns-3 .event-column { flex-grow: 1; max-width: 33.33%; }
.home-columns.columns-4 .event-column { flex-grow: 1; max-width: 25%; }
.home-columns.columns-5 .event-column { flex-grow: 1; max-width: 20%; }
.home-columns.columns-6 .event-column { flex-grow: 1; max-width: 16.66%; }
 */


}

