/* Mobile-first responsive base */
html {
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
}
*, *:before, *:after { box-sizing: inherit; }
body {
	margin: 0;
	background-color: #ECF0F6;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 1.45;
	color: #000000;
	-webkit-font-smoothing: antialiased;
}
img {
	max-width: 100%;
	height: auto;
	border: 0;
	display: block;
}
li {
	padding-bottom: 6px;
}
p {
	margin: 0px;
	padding-top: 4px;
	padding-right: 0px;
	padding-bottom: 8px;
	padding-left: 0px;
}
h1 {
	font-family: Georgia, "Times New Roman", Times, serif;
	color: #14355D;
	font-size: 16px;
	margin: 0px;
	padding: 0px;
}
h2 {
	font-family: Georgia, "Times New Roman", Times, serif;
	color: #14355D;
	font-size: 14px;
	margin: 0px;
	padding: 0px;
}
h3 {
	color: #14355D;
}
#artboard {
	max-width: 952px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
#footer {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	padding-left: 24px;
	color: #666666;
}
#content {
	max-width: 940px;
	width: 100%;
	background-color: white;
	/*padding-right: 6px;
	padding-left: 6px;*/
}
#main {
	padding-top: 15px;
	padding-right: 40px;
	padding-bottom: 15px;
	padding-left: 40px;
}
#sidebar {
	width: 220px;
	float: right;
	border-radius: 8px; /* Rounded corners for sidebar (replaces corner images) */
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
#sidebarContent {
	/*width: 170px;*/
	padding-right: 25px;
	padding-left: 25px;
	padding-top: 12px;
	padding-bottom: 24px;
	color: #14355D;
	background-color: #E8E2D9;
}
#floatie {
	clear: both;
}
#nav {
	/*background-image: url(images/nav/navBgRpt.gif);*/
	padding-left: 136px;
	background-color: #314E70;
}
#nav img {
	padding-right: 36px;
}

/* Text link styles for nav */
#nav a, #nav .nav-link {
	color: #ffffff;
	text-decoration: none;
	padding: 12px 16px;
	display: inline-block;
	font-weight: bold;
}
#nav a:focus, #nav a:hover { text-decoration: underline; }

@media (min-width: 769px) {
	/* ensure horizontal layout on larger screens */
	#nav { flex-direction: row; }
}

/* Small-screen adjustments */
@media (max-width: 768px) {
	#nav { padding-left: 12px; }
	#artboard, #content { padding-left: 12px; padding-right: 12px; }
	#sidebar { width: 100%; float: none; margin-bottom: 1em; }
	#sidebarContent { width: auto; padding-left: 12px; padding-right: 12px; }
	#main { padding-left: 12px; padding-right: 12px; }
	#nav img { padding-right: 12px; display: inline-block; }
	table[width="609"] { width: 100% !important; }
	#mappings { display: none;}

	/* Make the left examDates column stack above the news column */
	table[width="609"] td.examDates {
		display: block !important;
		width: 100% !important;
		box-sizing: border-box;
		border-right: 0 !important;
		padding-right: 0 !important;
		margin-bottom: 1rem;
	}
}

/* Make the Certified / Recertified two-column areas stack on small screens.
   Uses attribute selectors to avoid editing existing HTML structure. */
@media (max-width: 768px) {
	/* Convert floated column blocks inside the news area to full-width blocks */
	table[width="609"] td:nth-child(2) > div[style*="float:left"] {
		float: none !important;
		width: 100% !important;
		display: block !important;
		box-sizing: border-box;
		padding-right: 0 !important;
	}

	/* Ensure inner tables expand to container width */
	table[width="609"] td:nth-child(2) table {
		width: 100% !important;
		display: block;
	}

	/* The small two-column table near the bottom (Certified/Recertified 2023)
	   is a table with two th cells; make rows stack as blocks */
	table[style*="padding-top:10px;"] {
		display: block;
		width: 100% !important;
	}
	table[style*="padding-top:10px;"] tr { display: block; }
	table[style*="padding-top:10px;"] th,
	table[style*="padding-top:10px;"] td {
		display: block;
		width: 100% !important;
		box-sizing: border-box;
		padding: 6px 0;
	}

	/* Adjust spacing for stacked lists */
	.two-col-stack { margin-bottom: 1rem; }
}

	/* Layout for the news area: sidebar (examDates) + news column */
	.news-wrap {
		display: flex;
		gap: 1rem;
		align-items: flex-start;
	}
	.news-wrap .examDates {
		flex: 0 0 220px;
		max-width: 220px;
	}
	.news-wrap .news-column {
		flex: 1 1 0;
	}

	@media (max-width: 768px) {
		.news-wrap { flex-direction: column; }
		.news-wrap .examDates, .news-wrap .news-column { width: 100%; max-width: none; }
		.news-wrap .examDates { order: 0; }
		.news-wrap .news-column { order: 1; }
		/* clear old floated columns inside news-column */
		.news-column [style*="float:left"] { float: none !important; width: 100% !important; }
	}

/* Responsive navigation toggle */
#navToggle {
	display: none;
	background: #314E70;
	color: #ffffff;
	border: 0;
	padding: 10px 12px;
	font-size: 18px;
	width: 100%;
	text-align: left;
	cursor: pointer;
}
#nav {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
#nav.open { display: flex; }

@media (max-width: 768px) {
	#navToggle { display: block; }
	#nav { display: none; width: 100%; flex-direction: column; padding-left: 12px; }
	#nav.open { display: flex; }
	#nav a { display: block; padding: 8px 0; }
	#nav img { padding-right: 12px; max-height: 40px; }
}
#callout {
	text-align: center;
	background-color: #E0EFD1;
	font-weight: bold;
	color: #314E70;
	margin: 24px;
	padding-top: 12px;
	padding-right: 24px;
	padding-bottom: 12px;
	padding-left: 24px;
}
#footer a {
	color: #000000;
}
#statePR, #stateMO, #stateAR, #stateIL, #stateIN, #stateOH, #stateMI, #stateWI, #stateMN, #stateIA, #stateNE, #stateOK, #stateTX, #stateCO, #stateUT, #stateAZ, #stateOR, #stateWA, #stateCA, #stateFL, #stateGA, #stateSC, #stateNC, #stateVA, #stateWV, #stateMS, #stateAL, #stateTN, #stateNM, #stateKY, #statePA, #stateNY, #stateCT, #stateIL, #stateNH, #stateDE, #stateDC, #stateMD, #stateNJ, #stateNV, #stateMA, #stateLA, #stateVT, #stateKS, #caAlberta, #caQuebec, #caBC , #caOntario, #caManitoba{
	background-color: #FFFFFF;
	position: absolute;
	visibility: hidden;
	top: 200px;
}
.directory td {
	margin: 0px;
	padding-top: 4px;
	padding-right: 4px;
	padding-bottom: 4px;
	padding-left: 4px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #98CB66;
}
.directory {
	background-color: #F8FBF4;
}
.directory .tableHead td {
	background-color: #98CB66;
	color: #FFFFFF;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 10px;
}
.directory .tableHead a {
	color: #FFFFFF;
}
.examDates {
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #9eb2d0;
	width: 198px;
}
.states {
	width: 198px;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #9eb2d0;
}
.bolding{
	font-weight: bold;
}
#stateTX, #stateNY, #stateFL, #stateCA, #stateOH, #statePA{
	border-radius: 25px;
	padding:10px; 
	border: 2px solid #73AD21;
}