/*
Theme Name: Fran Siegel
Author: Michael Levy, michael.levy.vt@gmail.com
Version: 1.0
*/
body {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight:500;
	font-style: normal;
	font-size:1rem;
}	

body h1 {
	font-size:2em;
	font-family: "Epunda Slab", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	letter-spacing:2px;
	font-style: normal;
	margin:0 0 20px 0;
}


html, body {
  height: 100%;
  margin: 0; /* avoid default spacing */
  padding:0;
}

.wp-site-blocks {
	min-height:100%;
}	
body.home {
	background:#666 no-repeat center center fixed;
	background-size: cover;
	color:white;
}	



body.home {
	min-height:100%;
}	

body.home a{
	text-decoration:none;
	color:white;
	color:#eeeeee;

}	

body.home li{
	text-decoration:none;
	list-style:none;
	display:inline-block;
	font-size:1.5em;
}	

body.home li a{
	padding:0 .5rem;
	display:inline-block;
}


body.home h1 {
	margin:0;
	font-size:4em;
	color:#eee;
	width: fit-content;
}

@media (max-width:900px) {
	
	body.home h1 {
		font-size:3rem;
	}	
	
	body.home li {
		font-size: 1.25em;
	}
}


body.home ul {
	padding:0;
	margin:1rem 0;
	width: fit-content;
	display:block;
}	


/* drop down menu */
body.home ul ul {
	position:absolute;
	bottom:-2em;
	width:100%;
	left:0%;
	padding: 0 0 0 10vw;
	background: #333;
	text-align:right;
	display:none;
	opacity:0;
	transition: opacity .2s;
}	

body.home ul ul li a {
	padding:.5rem;
	background:transparent;
	display:inline-block;
}


body.home ul ul li a:hover {
	background:black;
}	

body.home ul li ul li {
	font-size:1.25rem;
}	

body.home ul li:hover ul {
	opacity:1;
	display:block;
}	

body.home main{
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:0;
	margin:0;
	
	min-height: 100vh; /* or 100% if all ancestors have height defined */
}	

.archive .wp-site-blocks {
    display: flex;
}

body.home .wrapper {
  background: rgba(1, 26, 59, .8);
  width: fit-content;
  padding: .5rem .5rem 0rem 10%;
  position:relative;
}	

@media (max-width:900px) {
	
	body.home h1 {
		font-size:3rem;
	}	
	
	body.home li {
		font-size: 1.25em;
	}
}

@media (max-width:700px) {
	
	body.home li {
		display:block;
	}	
	body.home h1 {
        font-size: 11vw;
        text-align: center;
        width: 100%;
    }
	body.home .wrapper {
        width: 90%;
		margin:auto;
        padding: 0;
        min-height: 100%;
		height:auto;
		display: flex;
		flex-direction:column;
        justify-content: center;
	}	
	
	body.home ul {
		width:100%;
		margin:0;
		border-top: solid 1px white;
	}
	
	body.home li {
        display: block;
        text-align: center;
        line-height: 60px;
        border-bottom: solid 1px white;
    }

	html body.home .wrapper ul li ul {	
		display:none;
		margin:0;
		padding:0;
		background:#eee;
		opacity:1;
		position:relative;
		width:100%;
		position:static;
	}
	
	body.home .wrapper ul li ul li{	
		border-bottom: solid 1px #666;
	}
	
	body.home .wrapper ul li a {
		display:block;
		width:100%;
		height:100%;
	}	
	
	html body.home .wrapper ul li ul li a:hover {
		background:transparent;
	}
	
	html body.home .wrapper ul li:focus-within > ul { display: block; }
	
	html body.home .wrapper ul li ul li{	
		background:#eee;
	}
	
	html body.home .wrapper ul li ul li a{	
		color:#666;
	}	
	
	html body.home .wrapper ul li ul li a:hover{
		color:#666;
	}

	
}

body.archive .wp-block-group.wrapper.is-layout-flow.wp-block-group-is-layout-flow,
body.content .wp-block-group.wrapper.is-layout-flow.wp-block-group-is-layout-flow,
body.archive .wp-block-group.wrapper.is-layout-flow.wp-block-group-is-layout-flow,
body.wp-singular .wp-block-group.wrapper.is-layout-flow.wp-block-group-is-layout-flow,
body.page-template-default .wp-block-group.wrapper.is-layout-flow.wp-block-group-is-layout-flow
  {
    width: calc(100% - 308px);
    margin-left: 308px;
	padding:0 5vw;
	margin-top:0;
  }
 
body.page-template-default .wp-block-group.wrapper.is-layout-flow.wp-block-group-is-layout-flow {
	padding:0;
}

body.archive .wrapper h2,
body.wp-singular .wrapper h2,
body.page-template-default .wrapper h2 {
    font-family: "Jost", sans-serif;
    margin-top: 45px;
    margin-left: 0px;
    font-size: 1.35rem;
    color: #999;
    font-weight: 600;
}	
  
body.content .entry-content p,
body.archive .entry-content p,
body.wp-singular .entry-content p,
body.page-template-default .entry-content p {
  max-width:800px;
}


body.page-template-default::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background: url('assets/img/bg.gray.jpg') no-repeat center center;
    background-size: cover;
    opacity: 0.25;
    z-index: -1;
    pointer-events: none;
}

.page-template-default main {
	background: linear-gradient(to right, rgba(255, 255, 255, .7) 80%, rgba(255, 255, 255, 0) 100%);
    padding-right: 100px;
	padding-left:5vw;
}


body.content main,
body.archive main,
body.wp-singular main,
body.page-template-default main {
	width:calc(100% - 244px);
	background-size:cover;
	height:100%;
	min-height: 100vh;
}

body.content p,
body.archive p,
body.wp-singular p,
body.page-template-default p {
	max-width:800px;
}	

body.content .wrapper,
body.archive .wrapper,
body.wp-singular .wrapper,
body.page-template-default .wrapper {
	display:flex;
	min-height:100%;
}	

body.content nav,
body.archive nav,
body.wp-singular nav,
body.page-template-default nav {
	background:#eee;
	min-height:100%;
	padding:2em 2em;
	width:180px;
}

body.content nav ul,
body.archive nav ul,
body.wp-singular nav ul,
body.page-template-default nav ul {
	list-style:none;
	margin:0;
	padding:0;
}	

body.content nav ul a,
body.archive nav ul a,
body.wp-singular nav ul a,
body.page-template-default nav ul a{
	color:#333;
	text-decoration:none;
	padding-bottom:.5rem;
	display:inline-block;
}

body.content nav ul li li a,
body.archive nav ul li li a,
body.wp-singular nav ul li li a,
body.page-template-default nav ul li li a {
	color:#999;
}

body.content nav ul li li a:hover,
body.archive nav ul li li a:hover,
body.wp-singular nav ul li li a:hover,
body.page-template-default nav ul li li a:hover {
	color:#333;
}

body.content nav ul li li a.active,
body.archive nav ul li li a.active,
body.wp-singular nav ul li li a.active,
body.page-template-default nav ul li li a.active {
	color:#333;
}	

body.content nav ul a,
body.archive nav ul a,
body.wp-singular nav ul a,
body.page-template-default nav ul a {
	font-weight:600;
}

body.content nav ul a span,
body.archive nav ul a span,
body.wp-singular nav ul a span,
body.page-template-default nav ul a span 
 {
	display:inline-block;
	width:100px;
}	

body.content nav ul ul a,
body.archive nav ul ul a,
body.wp-singular nav ul a ,
body.page-template-default nav ul a   {
	font-weight:400;
}

body.content nav ul a i:before,
body.archive nav ul a i:before,
body.wp-singular nav ul a i:before,
body.page-template-default nav ul a i:before  {
	color:#aaa;
}	

body.content nav ul li a,
body.archive nav ul li a,
body.wp-singular nav ul li a,
body.page-template-default nav ul li a {
	width:auto;
	margin-bottom:25px;
	display:flex;
	font-weight:600;
	border-bottom:dotted 1px transparent;
	display:inline-block;
	padding:0;
	position:relative;
}	

body.content nav ul li a:hover,
body.archive nav ul li a:hover,
body.wp-singular nav ul li a:hover,
body.page-template-default nav ul li a:hover {
	border-bottom: dotted 1px #999;
}	

/* add icon */
nav.primary > ul > li.hasChildren > a::after {
  content: "\f067"; /* Font Awesome 'plus' (fa-plus) */
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* required for solid icons */
  position:absolute;
  right: -2em;
  font-size: 1em;
  color: #999;
  transition: color 0.2s ease;
}

nav.primary > ul > li.hasChildren.open > a::after {
  content: "\f068"; /* Font Awesome 'plus' (fa-plus) */
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* required for solid icons */
  position:absolute;
  right: -2em;
  font-size: 1em;
  color: #999;
  transition: color 0.2s ease;
}

body.content nav ul li li,
body.archive nav ul li li,
body.wp-singular nav ul li li,
body.page-template-default nav ul li li {
	margin-bottom:8px;
	line-height:130%;
}	

body.content nav ul ul,
body.archive nav ul ul,
body.wp-singular nav ul ul,
body.page-template-default nav ul ul {
  max-height: 0;            /* collapsed */
  overflow: hidden;
  transition: max-height 0.5s ease; /* animate height */
}

body.content nav ul li.open > ul,
body.archive nav ul li.open > ul,
body.wp-singular nav ul li.open > ul,
body.page-template-default nav ul li.open > ul {
  max-height: 500px;        /* large enough to fit submenu */
}

body.content nav ul li .fa-plus,
body.archive nav ul li .fa-plus,
body.wp-singular nav ul li .fa-plus,
body.page-template-default nav ul li .fa-plus {
	display:block;
}	
/* toggle icons */

body.wp-singular nav ul li.open .fa-plus,
body.page-template-default nav ul li.open .fa-plus,
body.content nav ul li.open .fa-plus,
body.archive nav ul li.open .fa-plus {
	display:none;
}

body.wp-singular nav ul li.open .fa-minus,
body.page-template-default nav ul li.open .fa-minus,
body.content nav ul li.open .fa-minus,
body.archive nav ul li.open .fa-minus {
	display:block;
}

/* grid wrappers */
body.wp-singular.grid .wrapper,
body.page-template-default.grid .wrapper,
body.content.grid .wrapper,
body.archive.grid .wrapper {
	display:block;
}

body.wp-singular.grid .wrapper nav,
body.page-template-default.grid .wrapper nav,
body.content.grid .wrapper nav,
body.archive.grid .wrapper nav {
	width:244px;
	position:fixed;
	top:0;
	left:0;
}

/* main layout */
body.wp-singular main,
body.page-template-default main,
body.content main,
body.archive main {
	width: calc(100% - 308px);
	margin-left: 308px;
}

/* text layout */
body.wp-singular.text main,
body.page-template-default.text main,
body.content.text main,
body.archive.text main {
	padding: 0 32px 0 100px;	
	max-width:800px;
	font-size:1.25rem;
	font-weight:400;
	line-height:200%;
	font-family: "Epunda Slab", serif;
}

body.wp-singular.text main h2,
body.page-template-default.text main h2,
body.content.text main h2,
body.archive.text main h2 {
	font-family: "Jost", sans-serif;
	margin-top: 45px;
	margin-left: 0px;
	font-size: 1.35rem;
	color: #999;
	font-weight: 600;
}

/* grid columns */
body.wp-singular main .grid,
body.page-template-default main .grid,
body.content main .grid,
body.archive main .grid {
	column-count: 2;
	column-gap: 4rem;
	padding:30px 100px;
}

/* grid images */
body.wp-singular.grid main img,
body.page-template-default.grid main img,
body.content.grid main img,
body.archive.grid main img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	break-inside: avoid;
	margin-bottom: 4rem;
}

/* h2 general */
body.wp-singular main h2,
body.page-template-default main h2,
body.content main h2,
body.archive main h2 {
	margin-top:45px;
	margin-left:100px;
	font-size:1.35rem;
	color:#999;
	font-weight:600;
}

body.page-id-65 .wrapper h2 {
	margin:10px 0 0px 0 !important;
}	

/* fixed nav */
body.wp-singular nav.primary,
body.page-template-default nav.primary,
body.content nav.primary,
body.archive nav.primary {
	position:fixed;
	top:0;
	left:0;
	width:244px;
}



body.bio {
  position: relative;
  z-index: 0;
  background: none; /* make sure no default background interferes */
}

/* Background image with opacity */
body.bio::before {
  content: "";
  position: fixed; /* stays still on scroll just like background-attachment: fixed */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*background: url('1_landingPage/Vincent_detail1.detail.png') no-repeat center center;*/
   background: url('bg.gray.png') no-repeat center center;
  background-size: cover;
  opacity: 0.25; /* 25% opacity */
  z-index: -1; /* behind all body content */
  pointer-events: none; /* avoid blocking clicks */
}

body.bio.text main {
	background: linear-gradient(to right, rgba(255,255,255,.7) 80%, rgba(255,255,255,0) 100%);
	padding-right:100px;
}	

body.content.text main.full {
	width: 100% !important;
	max-width:100%;
}

body.content.text div.two-columns {
	display:flex;
	max-width:100%;
	margin-top:30px;
	gap:4rem;
}	

body div.two-columns div {
	width:50%;
}	

body main .form{
	font-family: "Jost", sans-serif;
}

body main .form p {
	margin:0;
	font-size:1rem;
	line-height:180%;
}	

body main .two-columns a, body main .two-columns p {
	text-decoration:none;
	color:rgba(1, 26, 59, 1);
	font-size:1rem;
	line-height:120%;
}	

#videos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
#videos iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
}
@media (max-width: 768px) {
  #videos { grid-template-columns: 1fr; }
}

/* lightbox */

.lightbox {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	position:flex;
	flex-direction:column;
	background:white;
	opacity: 0;
	transition: opacity 0.5s ease;
	display:none;
}

.lightbox.fade-out {
  opacity: 0;
}

/* Only show the active figure inside the lightbox */
.lightbox .images figure { display: none; }
.lightbox .images figure.active { display: flex; }

/* Fade transitions */

.lightbox.fade-in { opacity: 1; }
.lightbox.fade-out { opacity: 0; }

.lightbox .images {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}

.lightbox figure {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: row;   
	flex-direction: row-reverse;	
	justify-content: center;    
	align-items: center;       
	gap: 2rem;                 
	background: white;
	margin: 0 auto;
	text-align: left;
}

.lightbox img {
	max-height: 80%;
	max-width: calc(90% - 308px);            
	margin: auto;
	object-fit: contain; 
}	

.lightbox a#close {
	position:absolute;
    top: 10px;
    right: 10px;
    z-index: 9999;
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
	color:#666;
}	

.lightbox figcaption {
	width: 244px;
    max-width: 90%;
    height: 100%;
    text-align: left;
    line-height: 1.4;
    padding: 2em 2.5%;
	background:#eee;
}

.lightbox h2 {
	font-family: "Epunda Slab", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	margin:10% 0 20px 0;
	
}	

.lightbox figure .info {
    max-height: calc(100% - 200px);
    overflow: auto;
}

.lightbox figure .info {
  max-height: calc(100% - 200px);
  overflow: auto;
  padding-right: 0.75rem;
  scrollbar-width: thin;                 /* Firefox */
  scrollbar-color: #999 #eee;            /* thumb / track */
}

/* Chrome, Edge, Safari */
.lightbox figure .info::-webkit-scrollbar {
  width: 8px;
}

.lightbox figure .info::-webkit-scrollbar-track {
  background: #eee;
  border-radius: 4px;
}

.lightbox figure .info::-webkit-scrollbar-thumb {
  background-color: #999;
  border-radius: 4px;
  border: 2px solid #eee;
}

.lightbox figure .info::-webkit-scrollbar-thumb:hover {
  background-color: #666;
}
/* end scroll box*/

nav#lightboxNav {
    position: absolute;
    z-index: 999999;
    background: none;
    height: auto;
    min-height: 0;
    bottom: 0px;
}

div#advanceBlock a {
    font-size: 1.25rem;
    line-height: 35px;
    height: 35px;
    padding: 0 .5rem;
    display: inline-block;
    border: solid 2px black;
}

div#advanceBlock {
    display: flex;
    gap: 1rem;
}

.lightbox div#advanceBlockInner {
    position: absolute;
    right: 0;
    width: calc(90% - 380px);
    z-index: 9;
    display: flex;
	
    justify-content: space-between;
    height: 100%;
    margin-left: 408px;
    align-items: center;
	font-size:3rem;
	color:#bbb;
	opacity:0;
	transition:opacity .5s;
}

.lightbox div#advanceBlockInner .prev {
  position: absolute;
  left: -60px;       /* move left arrow outside image area */
}

.lightbox div#advanceBlockInner .next {
  position: absolute;
  right: -60px;      /* move right arrow outside image area */
}

.lightbox:hover div#advanceBlockInner {
	opacity:1;
}

#lightboxNav .close {
    display: grid;
    font-size: 1.1rem;
    margin-top: 0px;
	border:0;
	padding:0;
	grid-template-columns: 1fr 1fr;
	gap:2px;
	height:40px;
	width:40px;
}



.grid-icon {
	display:grid;
	border:0;
	padding:0;
	margin-left:2rem;
}	

.grid-icon div {
	background:#aaa;
	width:15px;
	height:15px;
	transition: all .2s ease;
}	

.grid-icon:hover div {
  background: #000;
}	

p {
	margin-bottom:1rem;
}



/* ===== Slider layout (image + caption on one side) ===== */

.slider {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.slider .images {
  position: relative;
  height: 100%;
  overflow: hidden;
  white-space: nowrap; /* Allow horizontal sliding */
}

/* Each figure is one slide */
.slider .images figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height:100%;
  margin: 0;
  background: white;
  box-sizing: border-box;

  /* Side-by-side layout inside slide */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;

  /* Spacing and arrow safety */
  padding-left: 5rem;
  padding-right: 80px;

  /* Slide animation */
  transition: transform 0.6s ease-in-out;
}

/* Disable clicks on off-screen slides */
.slider .images figure:not(.active) {
  pointer-events: none;
}

/* ===== Caption ===== */
.slider .images figcaption {
  order: 2;                
  flex: 0 0 280px;          
  max-width: 280px;
  height: 100%;
  overflow-y: auto;         
  overflow-x: hidden;
  line-height: 1.45;
  box-sizing: border-box;
  padding: 2rem 2rem 2rem 1rem;
  white-space: normal;
}

/* Scrollbar styling inside slider caption */
.slider .images figcaption .info {
    max-height: 80%;
    overflow: auto;
    white-space: normal;
    overflow-wrap: break-word;
    padding-right: 0.75rem; /* adds room so text doesn't get cut by scrollbar */
    scrollbar-width: thin;                 /* Firefox */
    scrollbar-color: #999 #eee;            /* thumb/track in Firefox */
}

/* Chrome, Edge, Safari */
.slider .images figcaption .info::-webkit-scrollbar {
    width: 8px;
}

.slider .images figcaption .info::-webkit-scrollbar-track {
    background: #eee;
    border-radius: 4px;
}

.slider .images figcaption .info::-webkit-scrollbar-thumb {
    background-color: #999;
    border-radius: 4px;
    border: 2px solid #eee;
}

.slider .images figcaption .info::-webkit-scrollbar-thumb:hover {
    background-color: #666;
}

/* Caption headers inside main content */
body.content main figcaption h2 {
  margin-left: 0;
}

/* ===== Image behavior ===== */
.slider .images figure img {
  order: 1;
  flex: 1 1 auto;
  width: auto;
  height: auto;
  max-width: calc(100% - 360px); /* Prevent overlap with caption + arrows */
  max-height: calc(100vh - 4rem);
  object-fit: contain;
  margin: auto;
  display: block;
}

/* ===== Arrow Overlay ===== */
#advanceBlockInner {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2rem;
  z-index: 5;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}

#advanceBlockInner a {
  pointer-events: auto;
  font-size: 3rem;
  color: #bbb;
  text-decoration: none;
}

.slider:hover #advanceBlockInner {
  opacity: 1;
}

#advanceBlockInner a:hover {
  color: #000;
}

body.content.text .buttonLink {
	text-decoration:none;
	color:rgba(1, 26, 59, 1);
	font-family: "Jost", sans-serif;
	font-size:1.1rem;
}	

.alignLeft {
	float:left;
	margin-right:2rem;
	padding-bottom:1rem;
	position:relative;
	top:1rem;
}	

/* ===== Responsive ===== */
@media (max-width: 900px) {
  .slider .images figure {
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    padding-right: 1rem;
  }

  .slider .images figure img {
    max-width: 100%;
    max-height: 55vh;
  }

  .slider .images figcaption {
    order: 2;
    flex: 0 0 auto;
    max-width: none;
    width: 100%;
    height: auto;
    max-height: 40vh;
  }

  #advanceBlockInner {
    padding: 0 1rem;
  }

  #advanceBlockInner a {
    font-size: 2.25rem;
  }
}

@media (min-height: 900px) {
  .slider .images figure img {
    max-height: 85vh;
  }
}

h1.wp-block-site-title {
    color: #333;
}

a[target="_blank"]::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* solid style */
  content: "\f35d"; /* arrow-up-right-from-square */
  display: inline-block;
  margin-right: 0.4em;
  font-size: 0.8em;
  vertical-align: 0.05em;
}


a[href$=".pdf"]::before {
  font-family: "Font Awesome 6 Free"; /* adjust if you use the Pro kit */
  font-weight: 900;                   /* required for solid icons */
  content: "\f1c1";                   /* Unicode for the PDF file icon */
  margin-right: 0.4em;
}

/* Base style */

.is-style-featured-link .wp-block-buttons .wp-block-button__link,
.wp-block-buttons .wp-block-button__link {
	background:transparent;
	color:rgba(1, 26, 59);
	border:0;
	padding: 0;
}	


.is-style-featured-link a {
  display: inline-flex;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 400;
  text-decoration: none;
  padding: 0.75em 1.25em;
  border: 2px solid currentColor;
  border-radius: 4px;
  transition: all .2s ease;
}



/* Add Font Awesome caret */
.is-style-featured-link a::after {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f054";   /* fa-caret-right / fa-angle-right */
  position:relative;
  left: 0.6em;
  font-size: 0.9em;
  transition: all .2s ease;
}


.is-style-featured-link a:hover::after {
	left:1rem;
}


/* Video Block */

/* === Uniform video sizing === */
.page-id-81 .wp-block-video video {
	
}

.wp-block-group.is-layout-grid.wp-block-group-is-layout-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* two equal-width columns */
  gap: 2rem; /* spacing between videos */
}

.wp-block-video,
.wp-block-video video {
  display: block;
  width: 100% !important;
  height: auto;
  aspect-ratio: 16 / 9; /* consistent shape */
  object-fit: cover;     /* optional: avoid black bars */
}

/* Optional: grid consistency (two-column layout) */
.page-id-81 .wp-block-columns {
  align-items: start; /* ensures even top alignment between paired videos */
}


.tax-work_category main.content.text.bio,
.single-gallery main {
    padding: 0 5vw;
}

.gallery-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
	gap:2.5vw;
}

.gallery-grid.col-3 {
	grid-template-columns: 1fr 1fr 1fr;
}	

.gallery-grid figure, 
.gallery-grid img {
    width: 100%;
	height:auto;
}


/* Typography */

dl {
	margin:0;
}	

dl:after {
	content:"";
	display:block;
	clear:both;
	
}	

dt {
    float: left;
    clear: both;
    margin-right: 3vw;
    width: 200px;
	font-weight:500;
}

dd {
	float: left;
	white-space:no-wrap;
	width: calc(100% - 280px);
	margin:0;
}	

@media(max-width: 1000px){
	dt {
		float: none;
		margin-right: 0vw;
		width: auto;
	}

	dd {
		float: none;
		white-space: normal;
		width: auto;
		margin:0 0 1rem 0;
	}		
}	

a {
	text-decoration: none;
}	

.wp-singular main a {
	border-bottom:dotted 1px #999;
}	


.alignright {
	float:right;
	margin-left:1rem;
	margin-top:16px;
}	

.alignleft {
	float:left;
	margin-top:16px;
	margin-right:1rem;
	
}

.mobile-nav-toggle {
	display:none;
}	

@media (max-width: 1000px) {
	
	.page-template-default main {
		padding-right: 5vw;
	}
	
}	

/* ------------------------------
   MOBILE NAV (≤ 800px)
------------------------------ */
@media (max-width: 800px) {
	
	.page-template-default main {
		padding-right: 5vw;
	}
	
	
	
	body.content nav ul li a, body.archive nav ul li a, body.wp-singular nav ul li a, body.page-template-default nav ul li a {
		margin:0;
		padding: .75rem 1rem;
		width:100%;
	}
	
	body.content nav ul li a:hover, body.archive nav ul li a:hover, body.wp-singular nav ul li a:hover, body.page-template-default nav ul li a:hover {
		border-bottom:solid 1px transparent;
	}
	
	body.content nav, body.archive nav, body.wp-singular nav, body.page-template-default nav {
		padding: .5rem 1em;
		width: 0;
	}
	
	body.wp-singular main, body.page-template-default main, body.content main, body.archive main {
		width: 100%;
		margin-left:0;
	}
	
	body {
        padding-top: 0px !important;
    }
	
	body.wp-singular ul#menu-primary, body.page-template-default ul#menu-primary, body.content ul#menu-primary, body.archive ul#menu-primary {
		position: absolute;
		right: 0;
		top: 100%;
	}
	
	body.wp-singular nav.primary, body.page-template-default nav.primary, body.content nav.primary, body.archive nav.primary {
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
	}
	
	body.content nav ul li li a, body.archive nav ul li li a, body.wp-singular nav ul li li a, body.page-template-default nav ul li li a {
		color: #333;
	}
	
	body.content nav ul li li, body.archive nav ul li li, body.wp-singular nav ul li li, body.page-template-default nav ul li li {
		margin-bottom: 0;
	}

  nav.primary {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #eee;
    z-index: 9999;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
  }

  nav.primary h1 {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 400;
  }

  /* hide menu by default */
  nav.primary ul {
    display: none;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 1rem 0;
    background: #eee;
    border-top: 1px solid #ccc;
  }

  /* when 'open' class is applied, show the menu */
  nav.primary.open ul {
    display: flex;
  }

  nav.primary ul li {
    width: 100%;
    padding:0rem;
    border-bottom: 1px solid #ccc;
  }

  nav.primary ul li a {
    display: block;
    width: 100%;
    font-size: 1.1rem;
  }

  /* ↑ Nested submenu (hasChildren) resets */
  nav.primary ul li ul {
    position: static !important;
    opacity: 1 !important;
    background: #ddd;
    padding: 0;
    width: 100%;
    margin-top: 0rem;
  }

  nav.primary ul li ul li {
    border-bottom: 1px solid #bbb;
  }
  
  main h2, main h3 {
	text-align:center;
  } 
  
  


  /* ------------------------------
     HAMBURGER BUTTON
  ------------------------------ */
  .mobile-nav-toggle {
    font-size: 1.8rem;
    cursor: pointer;
    color: #333;
	display:block;
  }
  
  .lightbox {  
	z-index: 9999;
	overflow:hidden;
  }
  
  .lightbox .images {
    overflow: auto;
  }
  
  .lightbox figure {
    position: static;
    top: 0;
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
	text-align:center;
	margin:0;
}

.lightbox figcaption {
    width: calc(100% - 1rem);
    max-width: 90%;
    height: 100%;
    text-align: center;
    line-height: 1.4;
    padding: 0rem;
    background: #fff;
	margin:0rem auto .5rem;
}

.lightbox h2 {
	margin:0;
}	

.lightbox figcaption p {
	display:none;
}	

.lightbox .images figure,
.lightbox .images figure.active {
    display: block;
    margin-top: 3em;
}

.lightbox img {
    max-height:90%;
    max-width: 90%;
}
  
  /* Hide ALL arrow navigation in the lightbox */
	.lightbox #advanceBlock,
	.lightbox #advanceBlockInner,
	.lightbox a.prev,
	.lightbox a.next {
		display: none !important;
	}

}

@media (max-width:500px){
	.gallery-grid {
		grid-template-columns: 1fr;
	}	
}	