:root {
	--clr-text: #1a1a1a;
	--clr-primary: #194a85;
	--clr-secondary: #ff5e1a;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
	display: none;
}

html{
	scrollbar-gutter: stable;
}


html, body {
	font-family: 'Libre Franklin', sans-serif;
	color: var(--clr-text);
	/*background-color: #f0f0f0;*/
	line-height: 1.8em;
	padding: 0;
	margin: 0;
	-webkit-font-smoothing: antialiased;
}

html:has(dialog[open]:modal) {
  overflow: hidden;
}

h1, h2, h3 {
	font-family: 'Poppins', sans-serif;
	color: var(--clr-primary);
}

h1 {
	font-size: clamp(1.5rem, 7vw,2rem);
	font-weight: 700;
	margin-block-start: 3rem;
	margin-block-end: 1.5rem;
}

h2 {
	font-size: 1.25rem;
	font-weight: 500;
	margin-block-start: 2.25rem;
	margin-block-end: 1rem;	
}

p {
	margin-block-start: 0;
	margin-block-end: 1rem;
}

ul {
	margin-block-start: 0;
}

a, a:visited {
	text-decoration: none;
	color:  var(--clr-primary);
	font-weight: 600;
}

a:hover {
	color: var(--clr-secondary);
}


/* Content Grid */

.content-grid {
  --padding-inline: 1rem;
  --content-max-width: 1400px;
  --breakout-max-width: 1550px;

  --breakout-size: calc(
    (var(--breakout-max-width) - var(--content-max-width)) / 2
  );

  display: grid;
  grid-template-columns:
    [full-width-start] minmax(var(--padding-inline), 1fr)
    [breakout-start] minmax(0, var(--breakout-size))
    [content-start] min(
      100% - (var(--padding-inline) * 2),
      var(--content-max-width)
    )
    [content-end]
    minmax(0, var(--breakout-size)) [breakout-end]
    minmax(var(--padding-inline), 1fr) [full-width-end];
}

.content-grid > * {
	grid-column: content;
}

.content-grid > .breakout {
	grid-column: breakout;
}

.content-grid > .full-width {
	grid-column: full-width;
}




/* header and menu */

header {
	position: relative;
}

header nav {
	padding-block: 0.75rem;
	display: flex;
	align-items: center;
	font-family: 'poppins';
}

header .logo {
	flex-grow: 1;
	padding-top: 10px;
}

header .logo img {
	max-width: 250px;
	width: 50vw;
}

header ul {
	list-style: none;
	margin: 0;
}

header li {
	display: inline-block;
	padding-left: 3rem;
}

header a,
header a:visited {
	color: var(--clr-primary);
	text-decoration: none;
	font-weight: 500;
}
header a:hover {
	color: var(--clr-secondary);
	text-decoration: none;
	font-weight: 500;
}


/* hamburger icon */
header .hamburger-btn,
header .hamburger-icon, 
header .hamburger {
	display: none;
}



@media (max-width: 850px){
	header ul {
		position: absolute;
		max-height: 0;
		overflow: hidden;
		background-color: #fff;
		width: 100%;
		top: 5rem;
		left: 0;
		padding-inline-start: 20px;
		box-shadow: 0px 15px 15px 0px rgba(0,0,0,0.31);
		box-sizing: border-box;
		transition: max-height .2s ease-out;
	}
	
	header ul li {
		display: block;
		padding-block: 1rem;
		opacity: 0;
		transition: opacity .75s ease-in;
	}
	
	/* hamburger icon */
	header .hamburger-icon {
	  cursor: pointer;
	  display: inline-block;
	  float: right;
	  padding: 29px 20px 30px;
	  position: relative;
	  user-select: none;
	}

	header .hamburger-icon .hamburger {
	  background: #333;
	  display: block;
	  height: 2px;
	  position: relative;
	  transition: background .2s ease-out;
	  width: 18px;
	}

	header .hamburger-icon .hamburger:before,
	header .hamburger-icon .hamburger:after {
	  background: #333;
	  content: '';
	  display: block;
	  height: 100%;
	  position: absolute;
	  transition: all .2s ease-out;
	  width: 100%;
	}

	header .hamburger-icon .hamburger:before {
	  top: 5px;
	}

	header .hamburger-icon .hamburger:after {
	  top: -5px;
	}

	/* hamburger button */
	header .hamburger-btn {
		display: none;
	}
	
	header .hamburger-btn:checked ~ ul {
		max-height: 240px;
	}
	
	header .hamburger-btn:checked ~ ul li {
		max-height: 240px;
		opacity: 1;
	}

	header .hamburger-btn:checked ~ .hamburger-icon .hamburger {
		background: transparent;
	}

	header .hamburger-btn:checked ~ .hamburger-icon .hamburger:before {
		top: 0;
		transform: rotate(-45deg);
	}

	header .hamburger-btn:checked ~ .hamburger-icon .hamburger:after {
		top: 0;
		transform: rotate(45deg);
	}
	
}


.hero {
	/*background-image: url('https://images.squarespace-cdn.com/content/v1/64ad8861baaf3a579aa5dae6/03e4f4e5-7c25-4c6e-a84d-be4c5d532370/iStock-1390975349.jpg');*/
	/*background-image: url('../img/college-students.jpg');*/
	background-image: url('../img/graduate-home.webp');
	background-repeat: none;
	background-position: center;
	background-size: cover;
	height: 700px;
	display: grid;
	align-items: end;
}

.hero div {
	background-color: #fff;
	display: inline-block;
	width: 35%;
	margin-bottom: 2em;
	padding-block: 3em;
	padding-inline: 4em;
	box-shadow: 0px 0px 15px 5px rgba(0,0,0,0.25);
}

.hero .hero-heading {
	color: #0995CD;
	font-family: 'poppins';
	font-size: clamp(1.5rem, 3cqw, 2rem);
	font-weight: 600;
	line-height: 1.25em;
}

.hero-small {
	background-repeat: none;
	background-position: center;
	background-size: cover;
	height: 300px;
	display: grid;
	align-items: end;
	margin-bottom: 4rem;
}

@media( max-width: 800px ) {
	.hero-content {
		display: none;
	}
}

footer {
	background-color: var(--clr-primary);
	margin-block-start: 5rem;
	padding-block: 3rem;
	color: #88A8CE;
}

footer a, footer a.visited {
	text-decoration: none;
	color: #88A8CE;
}

footer a:hover {
	color: #fff;
}


footer .legal {
	font-size: .9rem;
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
}

footer .legal p:first-child {
	flex: 1;
	min-width: 220px;
}

footer .legal a, 
footer .legal a:visited {
	color: #3B92FB;
	text-decoration: none;	
}

footer .legal a:hover {
	color: #fff;
}


/* specific things */

#bythenumbers {
	border-collapse: collapse;
}


#bythenumbers tr td {
	padding-top: .5rem;
	color: var(--clr-primary);
	font-size: 1.25rem;
	font-weight: 400;
	vertical-align: top;
}

#bythenumbers tr td:first-child {
	font-family: 'Poppins', sans-serif;
	color: var(--clr-secondary);
	font-size: 2rem;
	font-weight: 700;
	padding-right: 2rem;
}

#bythenumbers tr td div:nth-child(2){
	font-family: 'Libre Franklin', sans-serif;
	color: var(--clr-text);
	font-size: 1rem;
	overflow: hidden;
	max-height: 0;
}

#bythenumbers tr.expanded td div:nth-child(2){
	max-height: unset;
	overflow: auto;
	padding-bottom: 2rem;
}

#bythenumbers tr {
	cursor: pointer;
}

#bythenumbers tr:hover {
	background-color: #e0e0e0;
	transition: background-color .3s;
}

.ourstory h2>span {
	display: inline-block;
	width: 4rem;
}

.ourstory p {
	padding-left: 4rem;
}


.job {
	margin-bottom: 2rem;
}

.job .job-title {
	font-family: 'Poppins', sans-serif;
	font-size: 1.25rem;
	font-weight: 500;
	padding-block-end: 1rem;
	padding-block-end: .5rem;
}

.job .job-title A, 
.job .job-title A:visited {
	color: var(--clr-primary);
	text-decoration: none;
}

.job .job-title A:hover {
	color: var(--clr-secondary);
}

.job job-summary {
}



.leadership-team {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
}

.leadership-team .card {
	display: flex;
	gap: 2rem;
	align-items: center;
	width: 400px;
	border: 1px solid #ddd;
	padding: 1rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	border-radius: 10px;
}

.leadership-team .card:hover {
	background-color: #eee;
}

.leadership-team .card img {
	width: 80px;
	height: 80px;
	border-radius: 100%;
}

.leadership-team .card h2 {
	margin-block: 0;
}

.leadership-team dialog {
	inset: 1rem;
	max-width: 800px;
	max-height: calc( 100% - min(20vw,240px) );
	padding-inline: clamp(1rem, 5vw, 4rem);
	padding-block-end: 2rem;
	border: 2px solid #eee;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	flex-direction: column;
}

.leadership-team dialog[open]{
	display: flex;
}

.leadership-team dialog .dlg-heading { 
	display: flex;
	align-items: center;
	margin-block: 2rem;
	gap: 2rem;
}
.leadership-team dialog .dlg-heading div {
	flex-grow: 1;
}
.leadership-team dialog .dlg-heading h1 {
	margin-block: 0;
	padding-block: .5rem .5rem;
}
	
.leadership-team dialog .dlg-heading h2 {
	margin-block: 0;
	padding-block: 0;
}

.leadership-team dialog .dlg-heading button {
	border: 0;					
	background: transparent;
	font-size: 32px;
	color: var(--clr-text );
}

.leadership-team dialog .dlg-content {
	flex-grow: 1;
	overflow-y: scroll;
}

.privacy-policy table {
	margin-block-end: 3em;
}

.privacy-policy table, .privacy-policy td {
	border: 1px solid var(--clr-primary);
	border-collapse: collapse;
	padding-block: .25em;
	padding-inline: 1em;
}

.privacy-policy td{
	font-size: 1em;
}

.privacy-policy td.light {
}

.privacy-policy td.dark {
	background-color: var(--clr-primary);
	color: #fff;
}