:root {
	--system-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}


*, *::before, *::after {
	padding:0;
	margin:0;
	box-sizing:border-box;
	scroll-behavior:smooth;
}


table, th, td, tr {border-collapse:collapse; border-spacing:0;}

body {
	font-family:var(--system-font);
	font-size: clamp(1.125rem, 1.073rem + 0.221vw, 1.25rem);
	color: #ffffff;
	background-color: #000066;
	background-image: linear-gradient(#000 35px, #000066 100px);
	background-repeat:no-repeat;
	line-height: 1.6;
	text-shadow: 1px 1px 2px black;
}

body.home-bg {
	background-color:#000;background-image:initial;
}

main {
	overflow:clip;
	width:100%;
    max-width:1024px;
    padding:0rem 1.25rem;
    margin-inline:auto;
}

h1, h2, h3, h4, h5, h6 { 
	margin-block:1.5rem .5rem;
	font-family:"Droid Serif", "Times New Roman", Times, serif;
	text-wrap:balance;
	line-height:1.1;
	font-weight:600;
	
	 }

a {
	color: #0099FF;
	text-decoration: none;
}
p {text-wrap:pretty;}
p:not(:last-of-type) {
	margin-bottom:1.5em;
}
	
a:is(:hover,:focus-within) {
	color: #ffffff;
	text-decoration: underline;
	text-decoration-thickness:2px;
	text-underline-offset: 4px;
	text-decoration-skip-ink:auto;
	text-decoration-color:#0099ff;
	text-shadow: 0 0 15px #0099ff;	
}


/* Header Area 2025 */
.rb-title {
display:block;
width:100%;
height:auto;
max-width:489px;
margin-inline:auto;
filter:drop-shadow(0 0 3px #0099ff) drop-shadow(0 0 3px #0099ff);

}

.rb-header {
background-image: linear-gradient(#000 25px, #000066 150px);
background-repeat:no-repeat;
position:relative;
z-index:10;
padding-inline:2rem;
}

.rb-header--content {
display:flex;
flex-direction:column;
gap: 1rem;
max-width:1024px;
position:relative;
margin-inline:auto;
padding-block:1rem;
}

.film-strip--1,
.film-strip--2 {
position:absolute;
mix-blend-mode:multiply;
top:0;
left:0;
z-index:-1;
width:100%;
}

.film-strip--1 {
max-width:250px;
}

.film-strip--2 {
left:50%;
transform:translateX(-50%);
max-width:500px;
}

.header-pic {
position:absolute;
top:0;
right:0;
z-index:-1;
transition:opacity .25s ease, display .25s ease;
opacity: 1;
transition-behavior: allow-discrete;
width:100%;
max-width:243px;
height:auto;
}

@media (width < 915px) {
.header-pic {
display:none;
opacity:0;
}
}

/* New Navigation Text 2025 */
nav ul {
	list-style:none;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:2rem;
	row-gap:.5rem;
	flex-wrap:wrap;
}
nav ul a{
	background: linear-gradient(180deg, #fff 25%, #5f7e92 75%);
	background-repeat:repeat-y;
	-webkit-background-clip: text;
	background-clip:text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	font-weight:bold;
	text-transform:uppercase;
	font-family:'Times New Roman', Times, serif;
	filter:drop-shadow(0 0 2px #0099ff)  ;
	font-size: clamp(1.125rem, 1.095rem + 0.129vw, 1.25rem);
	text-shadow:none;
	transition: all .3s ease;
	text-decoration:none!important;
	text-align:center;
}

.blue11pt {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #0066cc;
}


.fineprint {
	font-size: .8em;
}

.toggleopacity   img{
filter:alpha(opacity=90); 
   -moz-opacity: 0.9; 
   opacity: 0.9;
}
.toggleopacity:hover   img{
filter:alpha(opacity=100); 
   -moz-opacity: 1; 
   opacity: 1;
}


  .hrdiv {background: linear-gradient(to right, #000066, #0066cc, #000066);
  height: 2px;
  max-width: 780px ;
  width:95%;
  border:none;
  margin:3rem auto;
  }

   .video-holder iframe {
	max-width:512px;
	width:100%;
	height:auto;
	aspect-ratio:16/9;
  }

  .video-holder {
	max-width:780px;
    width:100%;
    margin:20px auto;
    text-align:center;    
  }

  .video-holder h4 {      
	font-size: clamp(1.25rem, 1.2rem + 0.25vw, 1.5rem);
	    color: #0099ff;
      font-weight: 600;
	  font-family:'Droid Serif', serif;
	  line-height:1.2;
	  margin-block:.75rem 0.25rem;
  }

  .video-holder video, .video-holder iframe {box-shadow:0px 0px 25px rgba(0,0,0,.75); border-radius:4px;}

  video {
	max-width: 100%;
	height: auto;
  }


  .section-title {text-align:center; max-width:780px; /*width:100%;*/ margin-block:2rem; padding:0 1rem; margin-inline:auto;}

  .section-title h1, .section-title h2 {
	background: linear-gradient(180deg, #ccc 15%, hsl(204, 100%, 50%, .35) );
	background-repeat:repeat-y;
	-webkit-background-clip: text;
	background-clip:text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	text-shadow:none;
	font-weight:600;
	text-transform:uppercase;
	font-family:'Times New Roman', Times, serif;
	filter:drop-shadow(0 0 6px #0099ff) ;
	margin-block-end:2rem;
}


.section-title h1, .section-title h2 {
	font-size: clamp(1.75rem, 1.5rem + 1.5vw, 3rem);
	
}
/* .section-title h2 {font-size: clamp(1.5rem, 1.35rem + 0.75vw, 2.25rem);} */
.video-note {font-size:.875rem; font-style:italic;}

#bio {
	margin-inline: auto;
	max-width:1024px; 
	width:100%;
	padding:0 1rem;
}

#bio h1 {
	text-align:center;
}

#bio .bio-img {
	box-shadow: 0px 10px 20px rgba(0 0 0 / .25);
	max-width:210px;
	width:100%;
	border-radius:5px;
	margin-bottom:15px;
	height:auto;
}

.left {
	float:left;
	margin-right:20px;
}

.right {
	float:right;
	margin-left:20px;
}

.credits-link {
	background:rgba(0 0 0 / .75); 
	padding:1rem 1.5rem; 
	width:fit-content; 
	border-radius:30px; 
	display:flex; 
	gap:.5rem; 
	align-items:center;
	margin-top:2rem;
	transition: transform .25s ease;
}

/* Video Grid */
.grid {
	--_min-column-size: 480px; /* minimum size for each column */
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(var(--_min-column-size),100%), 1fr));
	gap:2rem .5rem;
	max-width:1024px;
	margin-inline:auto;
  }

@media screen and (max-width:768px) {
	.bio-img.left, .bio-img.right {
		float:none;
	}
}

footer {
	font-size:16px;
	color:white;
	text-align:center;
	padding:0 .25rem 2rem;

}

footer ul {
	margin:0 0 20px;
	padding:0;
	list-style:none;
	display:block;
}

footer li {
	display:inline;
}

footer a {
	/* text-decoration:none!important; */
}

footer li + li::before {
    content: " | ";
	color:#fff;
	margin: 0 10px;
}

ul.skills {
	list-style:none;
	color:#0066cc;
	font-size: clamp(0.9rem, 0.876rem + 0.104vw, 1rem);
	text-align:center;
}

ul.skills > li {
	display:inline;
}

 ul.skills > li + li::before {
    content:' • ';
	color:#fff;
	margin-inline:.25rem;
}

@media (max-width:768px) {


	footer ul {
		margin: 0 0 40px;
	}

	footer li {
		display:block;
		margin:10px auto;
	
	}

	footer li + li::before {
		display:none;
	}
}

.contact p { margin:0; padding:0; }
.contact { margin-bottom: 3rem; }
.icon { font-size:1.25rem; }
.icon i { font-size:1.75rem; }
.icon { display:flex; justify-content:center; align-items:center; gap:.75rem; }
.contact > p { margin-bottom:.5rem; }

.table {
	max-width:1024px; margin-inline:auto;
}

/* ----- Scrapbook Page Styles ----- */

/* ----- Gallery Code ----- */

.gallery {
	/* --gallery-column-size:12rem; */
	display: grid;
    gap: 1rem;
	/* grid-template-columns: repeat(auto-fit, minmax(min(var(--gallery-column-size),100%), 1fr)); */
	grid-template-columns: repeat(4,1fr);
    justify-items: center;
    /* grid-auto-flow:dense; */
    /* grid-auto-rows:var(--gallery-column-size); */
	margin-block-start:2rem;
}

.gallery-item {
  width: 100%;
  overflow: hidden;
  background: #000033;
  box-shadow:0 0 10px 5px rgba(0 0 0 / 25%);
  border-radius:.25rem;
  transition: box-shadow .3s ease;
  aspect-ratio:1;

}

.gallery-item a {
    color: #fff;
}

.gallery-item:is(:hover, :focus-within) {
    box-shadow:0 0 16px rgba(0 81 255 / 100%);
}

.gallery-item img {
  opacity: 0.9;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: transform 0.5s ease, opacity 0.5s ease;
  object-fit:cover;
  object-position:top center;
}
  
.gallery-item:is(:hover, :focus-within) img {
  opacity: 1;
  transform: scale(1.05);
}

/* .gallery-item.wide {
    grid-column: span 2;
} */

/* .gallery-item.tall {
    grid-row:span 2;
} */

/* .gallery-item.big {
    grid-column: span 2;
    grid-row: span 2;
} */

@media (width < 992px) {
	.gallery {
		grid-template-columns: repeat(3,1fr);
	}
}

@media (width < 600px) {
	.gallery {
		grid-template-columns: repeat(2,1fr);
	}

}

/* Fancy Box Sytles */
.fancybox__container {
--fancybox-backdrop-bg: rgba(7, 6, 25, .95);
}

.audio-images {display:flex;align-items:center;justify-content:center;gap:2rem;width:100%;max-width:780px;margin-inline:auto;flex-wrap:wrap;}
.audio-images img {
	box-shadow: 0px 10px 20px rgba(0 0 0 / .25);
	max-width:250px;
	width:100%;
	border-radius:5px;
	/* margin-bottom:15px; */
	height:auto;
}
        .audio-demo {margin-block:3rem;}
        .audio-demo audio {display:block; width:100%; max-width:480px;margin-inline:auto;}