@charset "utf-8";
/* CSS Document */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
/*End of Meyer's Reset*/
* {
	box-sizing:border-box;
}
body {
	font-family: montserrat, sans-serif;
	font-weight: 400;
	font-style: normal;
	color:#192e56;
	font-size:62.5%;
	background-color:#eee;
	line-height:1.5;
}
strong {
	font-family: montserrat, sans-serif;
	font-weight: 900;
	font-style: normal;
}
em {
	font-style:italic;
}
.photo-caption {
	display:block;
	font-size: clamp(0.75rem, 0.75vw, 1rem);
	font-style:italic;
	text-align:center;
	padding:.5rem;
	color:#af1e2d;
}
#container {
	max-width:1200px;
	border:1px solid #ccc;
	margin:0 auto;
	background-color:white;	
}
#alert {
	width:100%;
	padding:2rem;
	background-color:yellow;
	color:#323232;
	text-align:center;
	font-size: clamp(0.75rem, 0.75vw, 1rem);
}
header {
	text-align:center;
}
header a {
	text-decoration:none;
}
header h1 {
	font-size: clamp(0.75rem, 0.75vw, 1rem);
	background-color:#192e56;
	color:#fff;
	padding:1rem;
}
header h2 {
	font-size: clamp(2rem, 2vw, 3rem);
	display:block;
	padding:.5rem;
	color:#274288;
	font-weight:900;
}
header h3 {
	font-size: clamp(1.25rem, 1.25vw, 2.25rem);
	background-color:#af1e2d;
	color:#fff;
	padding:1rem;
}
.logo-hold {
	position:relative;
	background-image:url("../_images/bg.jpg");
	background-size:cover;
	background-position:center;
	padding:1rem 0;
}
.logo {
	display:block;
	width:15%;
	margin:0 auto;
}
nav {
	background-color:#274288;
	font-size: clamp(1rem, 1vw, 2rem);
}
nav, #days {
	position:sticky;
	top:0;
	color:#fff;
	z-index:1000;
}
#days {
	background-color:#6d90ca;
}
nav ul, #days ul {
	display:flex;
}
nav li, #days li  {
	flex:1;
	text-align:center;
	text-transform:uppercase;
	padding:1rem;
}
nav li a, #days li a {
	text-decoration:none;
	color:#fff;
}
#content, #agenda-hold {
	padding:2rem;
	font-size: clamp(1rem, 1vw, 1.5rem);
}
#content h1, #agenda-intro h1 {
	font-size: clamp(2rem, 2vw, 3rem);
	text-align:center;
	font-weight:900;
	color:#af1e2d;
}
#content h1 {
	padding-bottom:2rem;
}
#agenda-intro h1 {
	padding-bottom:1rem;
}
#agenda-intro {
	display:block;
	padding-bottom:2rem;
	border-bottom:1px solid #ccc;
	text-align:center;
}
#agenda-intro a {
	color:#af1e2d;
}
.welcome-letter {
	display:flex;
	gap:2rem;
}
.welcome-photo {
	flex:1;
}
.welcome-message {
	flex:5;
	padding-bottom:1rem;
}
#content p {
	margin-bottom:1rem;
}
#sig {
	display:block;
	max-width:250px;
}
.sponsors {
	text-align:center;
}
.sponsors h2 {
	display:block;
	padding:1rem;
	margin-bottom:1rem;
	background-color:black;
	color:#fff;
	font-size: clamp(1.25rem, 1.25vw, 2.25rem);
	font-weight:900;
}
#champ {
	background-color:#af1e2d;
}
#collaborator {
	background-color:#274288;
}
#supporter {
	background-color:#6d90ca;
}
#companion {
	background-color:#323232;
}
.vendor-hold {
	border-bottom:1px solid #ccc;
	margin-bottom:1rem;
	text-align:center;
}
.vendor-hold a {
	color:#af1e2d;
}
#sponsors {
	width:100%;
	padding:2rem;
	background-color:#af1e2d;
}
#sponsors h1 {
	display:block;
	width:100%;
	color:#fff;
	text-align:center;
	font-weight:900;
	font-size: clamp(1.25rem, 1.25vw, 2.25rem);
	margin-bottom:1rem;
}
#prez-hold {
	display:flex;
	align-items: center;
	column-gap:4rem;
}
.sponsor-hold {
	flex:1;
	text-align:center;
}
.handouts-hold button {
	display:block;
	padding:1rem 2rem;
	background-color:#af1e2d;
	color:#fff;
	font-size: clamp(1rem, 1vw, 1rem);
	font-family: montserrat, sans-serif;
	font-weight: 900;	
	border:0;
	margin-bottom:1rem;
	cursor:pointer;
}
.handouts-hold a {
	text-decoration:none;
}
footer {
	padding:2rem 2rem 0 2rem;
	background-color:#192e56;
	color:#fff;
	text-align:center;
	font-size: clamp(0.75rem, 0.75vw, 1rem);	
}
small {
	font-size:calc(6px +.25vw) !important;
}
.divider {
	display:block;
	width:100%;
	border-bottom:1px solid #ccc;
	margin-bottom:2rem;
}
.divider2 {
	display:block;
	width:100%;
	border-bottom:1px solid #ccc;
	margin-bottom:1rem;
}
.mob-block {
	display:none;
}
/*AGENDA STYLING*/
.event {
	display:flex;
	flex-direction:row;
}
.time {
	width:25%;
	text-align:right;
	padding:1rem 1rem .5rem 1rem;
}
.timeline-divider {
	width:0px;
	border-right-width:1px;
	border-left-width:1px;
	border-right-style:solid;
	border-left-style:solid;
	text-align:center;
	position:relative;
}
.fa-circle {
	position: absolute;
	top:1rem;
	left: 50%;
	transform: translate(-50%,0%);
}
.description {
	width:75%;
	padding:1rem 2rem 0 1rem;
	margin:0 1rem;
}
.show-more {
	display:block !important;
}
.poof {
	display:none !important;
}
.purple-italic {
	font-style: italic;
}
.Monday, .Tuesday, .Wednesday, .Thursday, .Friday {
	color:#af1e2d;
	border-right-color:#af1e2d;
	border-left-color:#af1e2d;
}
.Round, .Session {
	padding:1rem 2rem 1rem 1rem;
	border-radius:0px 30px 30px 30px;
	margin:1rem 1rem 0 1rem;
	color:#fff !important;
}
.General {
	background-color:#274288;
}
.Workshop {
	background-color:#af1e2d;
}
.keynote-speaker {
	display:none;
	margin-bottom:1rem;
	max-width:250px;
	float:left;
	padding-right:2rem;
}
/*Accordion Styling*/
 /* Style the buttons that are used to open and close the accordion panel */
.accordion {
	display:none;
  	background-color:transparent;
  	cursor: pointer;
  	padding:0;
  	width:100%;
  	text-align: left;
  	border:none;
  	outline:none;
  	transition: 0.4s;
	font-family: montserrat, sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: clamp(1rem, 1vw, 1.5rem);
	margin:1rem 0 .5rem 0;
	color:#fff;
}

/* Style the accordion panel. Note: hidden by default */
.panel {
	z-index:1000;
	color:#fff;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	min-height:100%;
	max-height:100%;
  	overflow-y: auto;
	background-color:rgba(5,27,55,.97);
  	padding: 2rem;
  	display: none;
	animation:fly-in .25s ease-out forwards;
} 
.panel ul {
	margin-left:2rem;
}
.panel ul li {
	list-style:disc;
}
.bottom-mar {
	margin-bottom:1rem;
}
.bottom-mar::after {
	content: "";
  	clear: both;
  	display: table;
}
.top-line-bar {
	display:block;
	padding-top:1rem;
	border-top:1px solid #394056;
}
@keyframes fly-in {
	0% {
		transform:translateY(-100%);
		transform:scaleY(0%);
		opacity:0;
	}
	100% {
		transform:translateY(0%);
		transform:scaleY(100%);
		opacity:1;
	}
}
.close-me {
	display:block;
	position:absolute;
	top:1rem;
	right:1rem;
	width:100%;
	padding:0;
	text-align:right;
	border:0;
	background-color:transparent;
	font-size:30px;
	color:#fff;
	cursor:pointer;
}
.hold {
	display:none;
	width:100%;
	padding:1rem;
}
.day {
	display:none;
	width:100%;
	padding:1rem;
	font-weight: 900;
	font-style: normal;
	color:#af1e2d;
	font-size: clamp(1.5rem, 2vw, 2.5rem);
}
.show-day {
	display:block !important;
}
#map {
	width:100%;
	background-color:#6d90ca;
	color:#fff;
	padding:1rem;
	text-align:center;
	font-size: clamp(1.25rem, 1.75vw, 1.75rem);	
}
/*MAP OVERLAY STYLING*/
/* The Overlay (background) */
.overlay {
  /* Height & width depends on how you want to reveal the overlay (see JS below) */   
  height: 100%;
  width: 0;
  position: fixed; /* Stay in place */
  z-index: 1001; /* Sit on top */
  left: 0;
  top: 0;
  background-color:#fff;
  overflow-x: hidden; /* Disable horizontal scroll */
  transition: 0.5s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}
/* Position the content inside the overlay */
.overlay-content {
flex:1;
  position: relative;
  width: 100%; /* 100% width */
  text-align: center; /* Centered text/links */
}

/* Position the close button (top right corner) */
.closebtn {
  	display:block;
	width:100%;
	z-index:999;
	background-color:#ddd;
	text-align:center;
	padding:1rem;
	margin-bottom:2rem;
	font-size: clamp(1.25rem, 1.75vw, 1.75rem);		
}
.overlay a {
	color:#323232;
	text-decoration:none;
}
/* When the height of the screen is less than 450 pixels, change the font-size of the links and position the close button again, so they don't overlap */
@media only screen and (max-width: 750px) {
	nav {
		font-size: clamp(0.85rem, 0.85vw, 0.85rem);
	}	
	header h2 {
		font-size: clamp(1.25rem, 2vw, 2rem);
		line-height:1;
	}
	header h3 {
		font-size: clamp(1rem, 1vw, 1.5rem);
	}
	.logo {
		display:block;
		width:25%;
		margin:0 auto;
	}	
	.poof2 {
		display:none;
	}
	.mob-block {
		display:inline-block;
	}
	.keynote-speaker {
		max-width:100%;
		float:none;
		padding-right:0;
	}
	#content, #agenda-hold {
		padding:1rem;
		font-size: clamp(1rem, 1vw, 1rem);
	}	
	.welcome-letter {
		display:flex;
		gap:0;
		flex-direction:column;
	}	
	.photo-caption {
		font-size: clamp(1rem, 1vw, 1rem);
	}	
	#prez-hold {
		flex-direction:column;
	}
	#sponsors h1 {
		margin-bottom:2rem;
	}
	.sponsor-hold {
		display:block;
		width:100%;
		margin-bottom:3rem;
	}
	.sponsor-hold:last-child {
		margin-bottom:0;
	}
	.sponsor-hold img {
		max-width:75%;
	}
}