/*	Copyright © 2026 Techsthetics, Inc. 
		Licensed to Board of Advanced Natural Health Sciences (BANHS)
		Author:	Martie Henry
		Date:		June 2026
*/		

:root {
	--logo-indigo:			#2F256E;						/* logo jpg/png sampled, representative color chosen from gradient family */

	--brand-purple:			#5A3B73;						/* certificate logo (metallic ink) picture sampled, representative color chosen from gradient family */
	--brand-blue:				#5f9ea0;						/* cadet blue */
	--brand-silver:			#bac0c4;
	--brand-gold:				#ffd700;
	--brand-white:			#fff;

	--site-panel:				 #EFF5F5; /*cadet blue 95% */


	--tag-panel:				#3A2B6F; 	/*-rgba(186, 192, 196, 0.35);  /* brand-silver *//*rgba(128, 177, 179, .35);/*#80b1b3; /* cadet blue 60% */
	--purpose-panel:		linear-gradient(#665B8C, #5A3B73, #3A2B6F );/*#665B8C;*/
	--form-panel: linear-gradient(
    180deg,
    rgba(47,37,110,.82),
    rgba(47,37,110,.94)
);
	 	--site-background:   #ffffff;/* #665B8C;#3A2B6F;/*var(--brand-blue);*/
    
	--basic-text:				#263f40; /* cadet blue 20% */
	--tagline-text:			var(--brand-silver);/*#70a7a9;/*#4d7e80; /* cadet blue 40% var(--brand-blue); /*#80b1b3; /* cadet blue 60% */
	--tagline-h1:				var(--brand-white); /*#e6ddee; brand purple 90% var(--brand-silver); var(--site-panel);/*#70a7a9; */
	--purpose-text:			#e6ddee; /*brand purple 90%*/
	--action-text:			var(--logo-indigo);
	--light-text:				var(--site-panel);
	--white-text:				var(--brand-white);
	--copy-text:				var(--logo-indigo);

	--logo-glow:				var(--brand-silver);
	--logo-name-text:		var(--brand-silver);

	--purple-shadow:		var(--brand-purple);
	--silver-shadow:		#c8cdd0; /* silver 80% */
	--gold-shadow:			#e6c300; /* gold 45% */

	--card-title:				#764e97; /* purple 45% */
	--card-hover:				var(--gold-shadow);
	--card-background:	rgba(255, 255, 255, 0.7); /* white */

	--hamburger-dash:		#764e97;/*var(--brand-silver);/*var(--logo-indigo);*/

	--menu-background:	var(--silver-shadow);/*#8457a8; /*50%/*var(--logo-indigo);/*#9fc4c6; /* cadet blue 70% */
	--menu-text:				#764e97;/*var(--white-text);*/


	--nav-link-hover:		#c1abd4; /*75%*/
	--nav-link-text:		#764e97; /*45%*/


	--energyWaveBG:			rgba(186, 192, 196, 0.8);  /* brand-silver */
	--energyWaveBGb:		rgba(57, 45, 134,0.5); /*brand-indigo 35% rgba(58, 43, 111, 0.8);  /* brand-blue */
	--h1Shadow:					var(--logo-indigo);/*var(--gold-shadow);/*var(--energyWaveBG); /*rgba(39, 26, 50, 0.5);			/* brand-purple 15% #271a32*/
	--cardEmphasisBG:		rgba(232, 221, 238, 0.69);	/* brand-purple 90% 	#e8ddee */
	--navMenuLinksBox:	rgba(0, 0, 0, 0.5);				/* black */

	--homeCardBox:			rgba(0, 0, 0, 0.1);				/* black */
	--dialogBackdrop:		rgba(47,37,110,.6);/*rgba(186, 192, 196, 0.6);	/* brand-silver */

	--btn-container-background: #c1abd4;	
	--header-btn-hover: rgba(232, 221, 238, 0.5);	
	--form-note:							#8457a8; /* brand-purple 50% */
	--form-placeholder:				var(--brand-indigo); /*	#5140bf; /* brand-indigo 50% */
	--form-field:							var(--basic-text);
	--form-label:							#436e70; /* brand-blue 35% */

	--dialog-background:			var(--logo-indigo);
	/*--dialog-background-alt:	var(--btn-container-background);
	--dialog-background-alt:	var(--header-btn-hover);*/
	--dialog-background-alt: #e6ddee;/*brand-purple 90% */

/* #130c5c - old website background */
/* jon */
    --ink:#142A22;
    --green:#285044;
    --green-deep:#163528;
    --gold:#A8842B;
    --gold-soft:#C9A14A;
    --paper:#EEF1EB;
    --card:#FFFFFF;
    --line:#D6DCD1;
    --muted:#5C6B62;
    --maxw:1120px;
}
	* {
		box-sizing: border-box; /* 0.5.8 */
		margin: 0;
		padding: 0;
	}
body{
  width: 100%;
  background-color: var(--site-background);
  font-family: 'Poppins', sans-serif;
  font-size: 1.3em;
  color: var(--basic-text);
}
h1{
	font-size:1.5em;
	line-height:1.5em;
	padding: 10px;
	/*text-align: justify;*/
}
h2{
	font-size:1.4em;
	padding: 10px;
	/*text-align: center;*/
}
h3{
    text-align: center;
    font-size: 1.2em;
    margin-block-start: 0;
    margin-block-end: .25em;
}
h4{
	font-weight: normal;
	font-size:1.1em;
	padding: 10px;
	text-align: center;
	/*font-style: italic;*/
	font-family: 'Red Hat Display', sans-serif;
}
p{
	padding:0 10px;
	text-align: justify;
}
/*	*****************
		ANIMATE VERTICAL BAR
		**************** */
.energyWave {
    position: fixed;
    top: 0;
    left: 0;

    width: 15%;
    height: 100vh;

    pointer-events: none;
    background: linear-gradient(
    to right,
    transparent,
    var(--energyWaveBG),
    transparent
		);

    z-index: -1;

    transform: translateX(-150%);
    opacity: 0;
}

.wave-run {
		animation: waveSweep 12s linear forwards;
}
@keyframes waveSweep {
    0% {
        transform:
            translateX(-150%)
            scaleX(.85)
            skewX(-4deg);
        opacity: 0;
    }

    20% {
        transform:
            translateX(-10%)
            scaleX(1.10)
            skewX(3deg);
        opacity: .35;
    }

    45% {
        transform:
            translateX(150%)
            scaleX(.90)
            skewX(-3deg);
    }

    70% {
        transform:
            translateX(350%)
            scaleX(1.08)
            skewX(2deg);
        opacity: .35;
    }

    100% {
        transform:
            translateX(550%)
            scaleX(.85)
            skewX(-4deg);
        opacity: 0;
    }
}
/*	*****************
		3 PIECE HEADER WITH NAVIGATION (MENU)
		**************** */
/*navbar*/
/* Base styles and desktop navigation */
.navbar {
  width:98%;
 	margin: auto;
	padding: 2%;
	height: auto;	
  display: flex;
  justify-content: space-between;
  align-items: center;
	font-family: 'Red Hat Display', sans-serif;
}
.navbar-left{
	display: inline-flex;
	align-items: center;
}
.logoWrap {
	position: relative;
	display: inline-block;
	line-height: 0;
}
.logoImg {
	display: block;
	max-width: 112px;
	height: auto;
	position: relative;
	z-index: 2;
	background-repeat: no-repeat;
}
.fullLogoSealImg{
	position: absolute;
	left: calc(50% + 1px);
	top: calc(50% - 3px);
	max-width: 100px;
	object-fit: contain;
		opacity:0.90;
		transform: translate(-50%, -50%) scale(1.45);
	z-index: 1;
	pointer-events: none;
	background-repeat: no-repeat;
}
.logoSealImg {
	position: absolute;
	left: calc(50% + 1px);
	top: calc(50% - 3px);
	max-width: 100px;
	object-fit: contain;
	transform: translate(-50%, -50%) scale(0.55);
	opacity: 0;
	z-index: 1;
	pointer-events: none;
	background-repeat: no-repeat;
}
.logoSealOn .logoSealImg {
	animation: logoSealGrow 9s ease-out 1 forwards;
}
@keyframes logoSealGrow {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.55);
	}
	20% {
		opacity: 0.40;
	}
	50% {
		opacity: 0.50;
		transform: translate(-50%, -50%) scale(1.2);
	}
	60% {
		opacity: 0.60;
		transform: translate(-50%, -50%) scale(1.25);
	}
	70% {
		opacity: 0.70;
		transform: translate(-50%, -50%) scale(1.3);
	}
	80% {
		opacity: 0.80;
		transform: translate(-50%, -50%) scale(1.35);
	}
	90% {
		opacity: 0.80;
		transform: translate(-50%, -50%) scale(1.40);
	}
	100% {
		opacity:0.90;
		transform: translate(-50%, -50%) scale(1.45);
	}
}
.navbar h1{
	font-size:1.8em;
	line-height: 1.2em;
	padding:0;
	font-weight: 600;
	color: var(--logo-name-text);
	text-shadow: 1px 1px 1px var(--h1Shadow);
	margin-left: 30px;
	margin-right: 15px;
	text-align: left;
}

.anniversary-banner{
	display:block;
	width:100%;
	margin: 0 auto 1%;
	text-align:center;
		font-size:1.1em!important;
	color: var(--brand-gold)!important;
	text-shadow: 2px 1px 2px var(--silver-shadow);
	font-style: italic;
	letter-spacing: 0.05em;
}

.anniversary-banner span::before,
.anniversary-banner span::after {
  content: "\2726";
  font-size: 0.65em;
}

/*
content: "\2605"; solid star
content: "\2606"; hollow star
content: "\2726"; four-point star
content: "\2022"; bullet
content: "\00B7"; centered dot
*/


.nav-burger {
    /*display: none;*/

    border: 0;
    background: transparent;
    font-size: 2rem;
    cursor: pointer;

		  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
	flex-wrap: wrap;
}

.apply-link{

	font-size: .6em;
	line-height:1em;/*(.8em;*/

  text-align: center;
	font-variant: small-caps;
	text-decoration: underline var(--gold-shadow);
text-underline-offset: 0.15em;
text-decoration-thickness: 1px;

	background: var(--tag-panel);
	color: var(--white-text);
	
	font-family: Nunito, sans-serif;
	text-shadow: 2px 1px 2px var(--gold-shadow);
	border-radius: 5px;
	padding: 8px 8px;
	letter-spacing: 0.05em;
border: 1px solid var(--silver-shadow);
box-shadow: 0 1px 3px rgba(0,0,0,.18);
}

		/* Hidden navigation drawer off-screen */
  .navbar-menu-links {
		font-size: .8em;
		/*font-size: 1em;*/
		gap: 1px;
    position: fixed;
    z-index: 100;
    top: 0;
    right: -105%;
		width: 90%;
    max-width: 300px;
		height:auto;
		background-color: var(--menu-background);
    border: 2px solid var(--basic-text);
		border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 15px;
    transition: right 0.3s ease;
    box-shadow: -5px 0 15px var(--navMenuLinksBox);
		margin-right: 2%;
		  list-style: none;
  }
.navbar-menu-links li {
	font-size: .7em;
	line-height: 1.5em;
}
.navbar-menu-links a {
  color: var(--menu-text);
  text-decoration: none;
}
/* Hide toggle and hamburger by default on desktop */
.menu-toggle, .hamburger {
  display: none;
}


  .hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
		position: relative;
    z-index: 101;
  }

  /* Three horizontal bars */
  .bar {
    width: 25px;
    height: 3px;
    background-color: var(--hamburger-dash);
    transition: all 0.3s ease;
  }



  /* Completely hide the raw checkbox input element */
  .menu-toggle {
    display: none;
  }

  /* Slide menu in when checkbox is checked */
  .menu-toggle:checked ~ .navbar-menu-links {
    right: 0;
  }

  /* Morphing hamburger into an "X" when checked */
  .menu-toggle:checked ~ .hamburger .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }

  .menu-toggle:checked ~ .hamburger .bar:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle:checked ~ .hamburger .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
/*	*****************
		CHI
		**************** */	
	.chiImage {
    position: fixed;
    width: 140px;
    opacity: 0;
    pointer-events: none;
    z-index: 0;
}

.chiFromBottom {
    animation: chiFromBottom 5s ease-out forwards;
}

.chiFromTop {
    animation: chiFromTop 5s ease-out forwards;
}

@keyframes chiFromBottom {
    0% {
        opacity: 0;
        transform: translate(100vw, 100vh) scale(0.7) rotate(0deg);
    }
    20% {
        opacity: 0.18;
    }
    80% {
        opacity: 0.18;
    }
    100% {
        opacity: 0;
        transform: translate(25vw, 45vh) scale(1.1) rotate(18deg);
    }
}

@keyframes chiFromTop {
    0% {
        opacity: 0;
        transform: translate(100vw, -20vh) scale(0.7) rotate(0deg);
    }
    20% {
        opacity: 0.18;
    }
    80% {
        opacity: 0.18;
    }
    100% {
        opacity: 0;
        transform: translate(25vw, 20vh) scale(1.1) rotate(-18deg);
    }
}
/*	*****************
		CONTAINER
		**************** */
.contentContainer{
  width:100%;
 	margin: auto;
	padding: 1% 2%;
	background-color: var(--site-panel);
}

.contentContainer h2{
	text-align: center;
}
.tagBackground {
	background-color: var(--tag-panel);
}
.purposeBackground {
	background-image: var(--purpose-panel); /* linear-gradient */
}
.formBackground {
	background-image: var(--form-panel); /* linear-gradient */
	border-radius: 15px;
	/* override container */
	width:60%;
	margin:auto;
}
.formBackground h2 {
	color: var(--white-text);
}
.formBackground p {
		font-family: 'Red Hat Display', sans-serif;
		font-weight: 500;
		font-size: 1.2rem;
		color:var(--btn-container-background);
}

.purpose{
	  color: var(--purpose-text);
		font-family: Poppins, sans-serif;
		margin: 0 10px;
}

/* horizontal rule */
.purpose-title {
	width: 90%;
	display: flex;
	align-items: center;
	gap: 1.25rem;
	color: white;
	margin: auto;
	margin-bottom: 2rem;
	font-variant-caps: small-caps;
	letter-spacing: 0.05em;
	font-size: 1.5em;
	font-weight:600;
}
.purpose-title::before,
.purpose-title::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(255,255,255,.35);
}
.purpose .anniversary-banner{
	font-size: 1.3rem!important;
}
.purpose h1{
	  font-size: 1.3rem;
		line-height: 1.5rem;
		font-weight:500;
		text-align: center;
		color: var(--cardEmphasisBG);
		padding: 10px;
}
.purpose .tagline-flex-cell p{
	font-size: 1em;
}


.tagline {
  color: var(--tagline-text);
	margin: 0 10px;
	font-family: 'Federo', sans-serif;
}
.tagline h1{
	font-size: 2em;
	line-height: 2em;
	font-weight: 800;
	color: var(--tagline-h1);
	text-align:center;
	padding: 0;
}
.tagline-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
	margin: 0 auto 2%;
}
.tagline-flex-cell {
  /*flex: 1 1 calc(33.333% - 2%); */
	    display: flex;
    flex-direction: column;
	flex: 0 1 calc((100% - 4%) / 3);
	max-width: calc((100% - 4%) / 3);
  box-sizing: border-box;
  display: flex;
  justify-content:flex-start;
  align-items: flex-start;   
	min-width: 0;
}
.tagline-flex-cell p{
	padding: 0;
	font-size: 1.5rem;
	text-align:left;
	  color: var(--tagline-text);
}
.tagline-flex-cell-tag{
	  font-size: .80rem;
    text-transform: uppercase;
    color: var(--cardEmphasisBG);
		display: inline-block;
    margin-bottom: .4rem;
}
/*	*****************
		designation wheel
		**************** */
.designationWheel {
	  
    --designation-row-height: 2em;
  font-size: 1.9rem;
    height: var(--designation-row-height);
    overflow: hidden;
		letter-spacing: 1px;
		max-width: 100%;
		margin-top: 15px;
		margin-bottom: 0;

    mask-image: linear-gradient(
        to bottom,
        transparent 0%,
				rgba(0,0,0,.25) 8%,
        rgba(0,0,0,.6) 20%,
				black 30%,
        black 75%,
        transparent 100%
    );
    -webkit-mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0,0,0,.25) 8%,
        rgba(0,0,0,.6) 20%,
				black 30%,
        black 75%,
        transparent 100%
    );
	}

.designationTrack {
    display: flex;
    flex-direction: column;

    /* Current designation starts in view */
    transform: translateY(calc(var(--designation-row-height) * -1));
}

.designation {

    height: var(--designation-row-height);
    display: flex;
    align-items: center;
    justify-content: center;

		font-weight: 600;
		color: var(--light-text);


		text-align: center;
}

.designationTrack.turn {
    animation: paddleTurn 5s ease-in-out forwards;
}

/* top to bottom */
@keyframes paddleTurn {
    from {
        transform: translateY(calc(var(--designation-row-height) * -1));
    }
    to {
        transform: translateY(0);
    }
}
/* *******************
		Header
		**************** */	
.action {
  /*margin-top: 0;
  padding-top: 0;*/

  font-variant-caps: small-caps;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: var(--action-text);
}
/* flex box for header buttons */
.header-btn-container {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
	margin: 2% auto;
	width:85%;
	margin-bottom: 2%;
	/*border-top: 2px solid var(--btn-container-background);
	border-bottom:  2px solid var(--btn-container-background);*/
}

.header-btn-cell {
  flex: 1 1 calc(25% - 5px); 
  box-sizing: border-box;
  /*padding: 20px;*/
  /*background-color: #f0f0f0;*/
  /*min-height: 150px; /* Added height to show vertical centering */
  /* Centering code */
  display: flex;
  justify-content: center; 
  align-items: center;   
	background: none; 
}
.header-btn {
	/*width:auto;background-color: #5A3B73;*/
		/*width: 130px;*/
		padding: 3px;
		/*color: white;*/
		border: none;
		border-radius: 6px;
		font-family: 'Red Hat Display', sans-serif;
		font-weight: 500;
		font-size: 1.1rem;
		cursor: pointer;
		background: none;
		color: var(--form-note);
		text-decoration: underline;
text-underline-offset: 0.15em;
text-decoration-thickness: 1px;
}

/*	*****************
		CARDS
		**************** */
.homeCards {
    display: grid;
	/*    grid-template-columns: repeat(auto-fit, minmax(325px, 1fr));*/
	grid-template-columns: 1fr;
    gap: 2rem;
		    width: fit-content;
    margin-inline: auto;
    /*background: var(--site-panel);*/
		/*
    box-shadow:
        0 0 0 2px var(--purple-shadow),
        0 0 0 5px var(--silver-shadow),
        0 0 0 8px var(--gold-shadow);*/
    border-radius: 15px;
		padding: 10px;
		margin: 10px auto;
		font-family: 'Red Hat Display', sans-serif;
	}

.homeCard {
    /*max-width: 450px;
		min-width: 325px;*/
		max-width: 550px;
		min-width: 300px;
    background: var(--card-background);
    border-radius: 12px;
    padding: 20px;
    text-decoration: none;
    color: var(--basic-text);
    box-shadow: 0 2px 8px var(--homeCardBox);
    transition: transform .2s;
		border-top: 5px solid var(--card-hover);
}

.homeCard h3 {
	font-size: 1.1em;
			font-family: Nunito, sans-serif;
			/*font-family: "Piazzolla", serif;*/
		color: var(--card-title);
		font-weight:600;
    margin: 10px 0;
		    line-height: 1.12;
		text-align: left;
}

.homeCard p {
    margin: 0;
    font-size: 1em;
		text-align: left;

}
#sealCard {
	/* if I can get a cleaner image, needs some adjustment left/top margin
	background-size: 20%;
	background-position: left top;*/
	background-size: contain; /*Scales image cleanly inside the space */
	background-position: center;
	background-color: var(--card-background);
	/*background-image: url(cert.png"); - in index.php */
  background-repeat: no-repeat;
	background-blend-mode: lighten;
}

.emphasized {
	background-color: var(--card-background);
	transition: background-color 3s ease-in-out;
	/*border:none;*/
}	
.waveEmphasized {
	background-color: var(--cardEmphasisBG);
	transition: background-color 3s ease-in-out;
	/*border:none;*/
}	
/*
.emphasized p,
.waveEmphasized p {
	text-align: center!important;
}
	*/
.cardTag{
	  font-size: 11.5px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 600;
    color: #A8842B;
}
.notCard{
	margin:20px 75px;
	font-family: 'Red Hat Display', sans-serif;
	    padding: 0 25px;
}
.notCard h3 {
	font-size: 1.1em;
			font-family: Nunito, sans-serif;
			/*font-family: "Piazzolla", serif;*/
		color: var(--card-title);
		font-weight:600;
		    line-height: 1.12;
		text-align: left;
		margin: 10px 0;
}
.notCard a{
	font-family: Nunito, sans-serif;
	color: var(--card-title);
	font-weight:600;
		    line-height: 1.12;
				text-decoration: none;
}
.notCard p {
		padding: 0;
    font-size: 1em;
		text-align: left;
		margin-bottom: 15px;
}
  .searchrow{display:flex;gap:10px;margin-top:20px;}
  .searchrow input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:7px;font:inherit;font-size:15px;color:var(--ink);}
  .searchrow input:focus-visible{outline:2px solid var(--logo-indigo);outline-offset:1px;border-color:var(--logo-indigo);}
  .searchrow button{background:var(--logo-indigo);color:#fff;border:none;border-radius:7px;padding:0 18px;font:inherit;font-weight:600;font-size:15px;cursor:pointer;}

/*	*****************
		FOOTER
		**************** */
		
.copy{
  font-size: .75em;
  color: var(--copy-text);
  text-align:center;
  width:100%;
  margin: 1% auto;
	font-family: 'Red Hat Display', sans-serif;
}
.copy hr{
	width: 90%;
	margin: 0 auto 20px;
}
  /*footer{background:var(--green-deep);color:#B9CABE;padding:54px 0 30px;}*/
	
	footer{
  font-size: .75em;
  color: var(--copy-text);
  text-align:center;
  width:100%;
  margin: 1% auto 1%;
	font-family: 'Red Hat Display', sans-serif;
}
/*
  footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;}
  footer h4{font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;}
  footer a{display:block;font-size:14.5px;padding:5px 0;}
  footer a:hover{color:blueviolet;}
  footer .brand{color:red;margin-bottom:14px;}
  footer .copy{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:22px;font-size:13px;color:#8DA496;}
  :focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
	*/
.footerGrid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 2px;
	align-items:center;
	width: 90%;
	margin-inline: auto;
	font-family: 'Red Hat Display', sans-serif;
}
.footerGrid a{
	color: var(--menu-text);
	text-decoration: none;
	display:block;
}
.footerGrid p{
	padding:0;
}


.footerGridMobile {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	align-items:center;
	width: 96%;
	margin-inline: auto;
	font-family: 'Red Hat Display', sans-serif;
}
.footerGridMobile a{
	color: var(--menu-text);
	text-decoration: none;
}
.footerGridMobile p{
	padding:0;
}

.errorContainer{
	width: 100%;
	height: 300px;
	/*margin: auto;*/
	background-color: #ffe866;
    display: flex;
    align-items: center;
    justify-content: center;
}
.errorMsg{
	/*padding: 130px 20px 10px 20px;*/
	margin: 0;
	padding: 0;
  color: var(--action-text);
}

/*	*****************
		FORM
		**************** */
/* 1. Grid Form Container */
.grid-form {	
	display: grid; /* 0.5.1 */
	/* Column 1 (Labels): sizes to content width. Column 2 (Inputs): fills remaining space */
	/*grid-template-columns: max-content 1fr;  0.5.26 */
	/*grid-template-columns: max-content minmax(0, 1fr);*/
	grid-template-columns: minmax(0, 1fr) 1fr;
	gap: 1.25rem 1rem; /* row-gap column-gap */ /* 0.5.1 */
	width: 90%;
	max-width: 600px;
	padding: 2rem;
	border-radius: 15px;
	background: white;
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
	font-family: 'Red Hat Display', sans-serif;
	margin: 10px auto;
}
/* 2. Label Alignment */
.grid-form label {	
	grid-column: 1; /* Explicitly locks labels to the first column */
	align-self: center; /* Vertically aligns label with input center */
	font-size: 1.1rem;
	color: var(--form-label);
}
/* 3. Item Styling 
			anything here needs grid-column: span 1 in media */
.grid-form input, 
.grid-form textarea,
.grid-form select,
.grid-form date,
.grid-form file {
	grid-column: 2; /* Explicitly locks fields to the second column */
	width: auto;						/*this and stretch fix select box shorter*/
	justify-self: stretch;
	display: block;
	padding: 0.625rem;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	font-size: 1rem;
	font-family: inherit; /* Ensures consistent text rendering */
	color: var(--form-field);
}
.grid-form input::placeholder, 
.grid-form textarea::placeholder, 
.grid-form select::placeholder, 
.grid-form date::placeholder, 
.grid-form file::placeholder {
	color: var(--tagline-text);
}
.field-note{	/* note under field value */
	font-size: 0.8rem;
	margin: -1rem 0 0 0;
	line-height: 1rem;
	grid-column: 2;
	color: var(--form-note);
}
/* debug
.grid-form input,
.grid-form select {
		outline: 2px solid red;
}*/
/* 4. Drop-down Specific Arrow Reset */
.grid-form select {
	appearance: none; /* Removes default native arrow */
	-webkit-appearance: none; /* Safari / iOS fallback */
	-moz-appearance: none; /* Firefox fallback */
	/* Cross-browser safe URL-encoded SVG chevron arrow */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 1.25rem; /* Adjusts icon scale size */
	padding-right: 2.5rem; /* Reserves space to prevent text overlap */
	cursor: pointer;
	/*background-color: #ffffff; /* Explicit background color is required if not elsewhere */
}
/* 5. Focus state for seamless interaction across all element types */
.grid-form input:focus,
.grid-form textarea:focus,
.grid-form select:focus ,
.grid-form date:focus {
		outline: 2px solid #2563eb;
		outline-offset: -1px;
}
/* 6. Automated Red Asterisk for Required Fields */
.grid-form label.required::after {
	content: "*"; /* Adds the asterisk symbol */
	color: #dc2626; /* Vivid red accent color */
	/*font-weight: bold; */
}
/* 7. Full-width submit button adjustment */
.form-button-container {
		grid-column: 1 / -1; /* Spans across both columns */
		margin-top: 0.5rem;
}
.submit-btn {
		width: 100%;
		padding: 0.75rem;
		background-color: var(--logo-indigo);/*#2563eb;*/
		color: white;
		border: none;
		border-radius: 6px;
		font-family: 'Red Hat Display', sans-serif;
		font-weight: 500;
		font-size: 1.1rem;
		cursor: pointer;
}

/*	*****************
		DIALOG
		***************** */
/* Custom CSS for the Dialog Window */
dialog {
  padding: 20px;
  border: none;
  border-radius: 6px;
  background-color: var(--dialog-background);
  max-width: 500px;
  width: 90%;
	margin:auto;
  
  /* Reset browser default styling if needed */
	font-family: 'Red Hat Display', sans-serif;
	font-size: 1.1rem;
  color: var(--light-text);
}
dialog h3 {
	font-size: 1.3em;
	font-weight:600;
	 margin-bottom: .5rem;
}
/* Styling the Background Overlay (Only works with showModal) */
dialog::backdrop {
  background-color: var(--dialogBackdrop);
  backdrop-filter: blur(4px); /* Modern blur effect */
}

.dialog-btn,
.dialog-btn-alt{
		display: block;
		margin: 20px auto;
		width: 25%;
		padding: 0.25rem;
		background-color: var(--brand-white); 
	
		border: none;
		border-radius: 6px;
		font-family: 'Red Hat Display', sans-serif;
		/*font-weight: 500;*/
		font-size: 1.1rem;
		cursor: pointer;
}
.dialog-btn{
		color: var(--dialog-background);
}
.dialog-btn-alt{
		color: var(--form-note);
}
/*	*****************
		MOBILE
		**************** */
@media (max-width:1100px) {
	.formBackground{
	width:70%;
}
	/*
		    .nav-links {
        display: none;
    }

    .nav-burger {
        display: flex;
    }	
	.apply-link{
		display:block;
	}
*/
	}
@media(max-width:860px){
	.footerGrid{
		display:none;
	}
	.footerGridMobile{
		display: grid;
	}
	.copy hr{
		width: 96%;
	}
}
@media(min-width:861px){
	.footerGrid{
		display:grid;
	}
	.footerGridMobile{
		display: none;
	}
}
	@media (max-width: 768px) {
	/*@media (max-width: 500px) {*/
  .nav-burger {
    flex-direction: column-reverse;
    /*gap: 0.4rem;*/
  }

/*}*/
.formBackground{
	width:98%;
}
	.header-btn-container {
			width:98%;
		gap: 5px;
		margin-bottom: 5%;
	}
	.header-btn-cell {
    flex: 1 1 calc(25% - 5px); 
  }
/* 2 columns */
  .tagline-flex-cell {
    flex: 0 1 calc((100% - 2%) / 2);
    max-width: calc((100% - 2%) / 2);
		padding-top:2%;
  }
		.notCard{
		margin:20px 0;
	}
	/* form */
	.grid-form {
		width:98%;
		margin:auto;
		padding: 0.5rem;
		padding: 1rem;
		grid-template-columns: 1fr; /* Stacks label on top of input */
		gap: 0.5rem;
		border-radius: 8px;


	}
	.grid-form label,
	.grid-form input,
	.grid-form textarea,
	.grid-form select,
	.grid-form date,
	.field-note {
		grid-column: span 1; /* Overrides column locking */
		max-width:300px;
	}
	.field-note {
		margin: -0.5rem 0 0 0;
	}
	    .searchrow{flex-direction:column;}
    .searchrow button{padding:13px;}
}

@media screen and (max-width: 550px) { 
	/* nav */
		.apply-link{
font-size: .5em;
		}
	/* text */
	.navbar h1,
	.tagline h1,
	.action,
	.homeCard h3,
	.notCard h3,
	h4 {
		font-size: 1.3rem;
		line-height: 1.3;
	}

/* 1 column */

  .tagline-flex-cell {
    flex: 0 1 100%;
    max-width: 100%;
		padding-top:3%;
  }

	/* containers */
	body,
	.contentContainer {
		width: 100%;
		margin:0;
		padding: 0.7rem 0.5rem;
		border-radius: 8px;
	}
	
	/* form */
	.grid-form {
		width:98%;
		margin:auto;
		padding: 0.5rem;
		padding: 1rem;
		grid-template-columns: 1fr; /* Stacks label on top of input */
		gap: 0.5rem;
		border-radius: 8px;
	}
	.grid-form label,
	.grid-form input,
	.grid-form textarea,
	.grid-form select,
	.grid-form date,
	.field-note {
		grid-column: span 1; /* Overrides column locking */
		max-width:300px;
	}
	.field-note {
		margin: -0.5rem 0 0 0;
	}
    .designationWheel {
        font-size: 1.25rem;
        letter-spacing: 0;
        transform: scaleX(.95);
				max-width: calc(100% + 50px);
				    margin-left: -25px;
    margin-right: -25px;
    }
	.tagline{
		font-size:1rem;
	}
	/* logo */
	.logo img {
		max-width: 55px;
	}
	.logoSealImg {
		top: calc(50% - 2px);
	}

}
@media (max-width: 400px) {
	.purpose .anniversary-banner{
	font-size: 1.1rem!important;
}
	.header-btn-cell {
    flex: 1 1 calc(33.333% - 5px); 
  }
	.grid-form label,
	.grid-form input,
	.grid-form textarea,
	.grid-form select,
	.field-note {
		max-width:300px;
	}
    .designationWheel {
        font-size: 1.15rem;
        letter-spacing: 0;
        transform: scaleX(.95);
				max-width: calc(100% + 50px);
				    margin-left: -25px;
    margin-right: -25px;
    }
}
@media (max-width: 360px) {
	.grid-form label,
	.grid-form input,
	.grid-form textarea,
	.grid-form select,
	.field-note {
		max-width:290px;
	}
}
	@media (min-width: 700px) {
    .homeCards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}
@media (hover: hover) {
	.homeCard:hover,#sealCard:hover,#emphasizeCard:hover{
			/*transform: translateY(-3px);*/
			border: 2px solid var(--card-hover);
			background-color: var(--header-btn-hover);	
	}
	.apply-link:hover{
		background-color: var(--silver-shadow);
		color: var(--tag-panel);
	}
	.header-btn:hover{
			color: white;
	}	
	.header-btn-cell:has(.header-btn:hover) {
    background-color: var(--btn-container-background);
}
  .searchrow button:hover{background:var(--card-hover);}
	.navbar-menu-links a:hover {
		text-decoration: underline;
	}
	.notCard a:hover,	.footerGrid a:hover{
	padding: 5px 7px;
			border: 2px solid var(--card-hover);
			background-color: var(--header-btn-hover);	
	/*color: var(--white-text);*/

	border-radius: 8px;
	}	
}
@media (hover: none) {
	.navbar-menu-links a {
		text-decoration: underline;
	}
.homeCard h3, .footerGridMobile a, .notCard a {
text-decoration: underline var(--gold-shadow);
text-underline-offset: 0.15em;
text-decoration-thickness: 1px;
}
}

