
/* transitions */
.nav-open .site-nav .site-nav-container,
.nav-close .site-nav .site-nav-container,
.nav-toggle-actual > span {
   transition: all var(--gd-transition-timing);
}






/* filter to make black icons white */
.site-nav .nav-links-list.primary  .gd-el-icon {
	filter: invert(93%) sepia(100%) saturate(0%) hue-rotate(248deg) brightness(106%) contrast(106%);
}




/* ----- SHELL PADDING, SPACING ----- */

/* shell padding */
.event-header .event-name-container,
.event-header .event-details-container,
.site-footer .footer-social-container, 
.site-footer .footer-options-container, 
.page-content .page-container {
	padding-left: var(--gd-site-padding-horizontal);
	padding-right: var(--gd-site-padding-horizontal);
}



.event-header .session {
	padding-top:var(--gd-event-header-padding-vertical);
	padding-bottom:var(--gd-event-header-padding-vertical);
}



.page-content .page-container {
	padding-top:var(--gd-page-content-padding-vertical);
	padding-bottom:var(--gd-page-content-padding-vertical);
}


.site-footer .footer-social-container {
	display:none;
	/*
	padding-top: var(--gd-footer-social-padding-vertical);
	padding-bottom: var(--gd-footer-social-padding-vertical);
	*/
}

.site-footer .footer-options-container {
	padding-top: var(--gd-footer-options-padding-vertical);
	padding-bottom: var(--gd-footer-options-padding-vertical);
}


/* shell max width */
.site-header .site-header-container,
.event-header .event-name-container,
.event-header .event-details-container,
.page-content .page-container,

.site-footer .footer-options-container {
	margin-left:auto;
	margin-right:auto;
	max-width: var(--gd-site-width-max);
}








/* ----- SKIP TO CONTENT ----- */
.skip {
	font-size:14px;
	position:fixed;
	text-align:center;
	padding:10px 20px;
	height:50px;
	overflow:hidden;
	width:100%;
	top:-50px;
	transition: all var(--gd-transition-timing);
	border-bottom:var(--gd-border-color-dkr) solid 1px;
	background-color:var(--gd-bg-color-dk);
	z-index:7;
}

.skip a {
	color:var(--gd-font-color-dkr);
}

.skip a:hover,
.skip a:focus-visible {
	color:var(--gd-font-color-dk);
}


.skip:focus-within {
	top:0;
}

div.anchor {
	display: block;
    position: relative;
    top: calc( -1 * var(--gd-site-header-height));
    visibility: hidden;
}


/* ----- HEADER ----- */

.site-header,
.site-nav  {
	position:relative;
	z-index:6;
}


.site-header {
	height:var(--gd-site-header-height);
	position:fixed;
	top:0;
	width:100%;
	border-top:var(--gd-afterprom-orange) solid 2px;
	background-color:var(--gd-site-header-bg-color);
}

.site-header .site-header-container {
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:center;
	gap:0px;
	height:76px;
}


.site-header .logo {
	padding-left:var(--gd-site-padding-horizontal);
	padding-right:var(--gd-site-padding-horizontal);
	font-size:0;
	order:1;
}


.site-header .logo > img,
.site-header .logo > a {
	width:var(--gd-site-header-logo-width);
	display:inline-block;
}

/* school name */
.site-header .school-name {
	order:2;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.site-header .school-name h1 {
	font-family:var(--gd-font-family-serif);
	font-size:var(--gd-font-size-body-1);
	color:var(--gd-afterprom-orange);
	font-weight:normal;
	text-transform:uppercase;
	display:inline;
}


/* user */
.site-header .user {
	order:3;
	width:100%;
	text-align:center;
	padding:10px var(--gd-site-padding-horizontal);
	border-top:var(--gd-border-color-dkr) solid 1px;
	background-color:var(--gd-bg-color-dkr);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;  
	overflow: hidden;
}

.site-header .user-name {
	font-weight:bold;
	color:var(--gd-font-color-dkr);
	display:block;
	width:100%;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.site-header .user-email {
	width:100%;
	display:block;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}


/* nav toggle */
.nav-toggle {
	padding: 5px var(--gd-site-padding-horizontal) 5px 0;
	order:2;
	margin-left:auto;
}

.nav-toggle-actual	{
	position:relative;
   display:block;
	width:40px;
	height:40px;
	cursor:pointer;
	left:5px;
	z-index:1;
	border:0;
	border-radius:50%;
	background-color:var(--gd-nav-toggle-bg-color);
}

.nav-toggle-actual > span	{
	display:block;
	border-radius:2px;
	position:absolute;
	left:5px;
   width:calc(100% - 10px);
	background-color: var(--gd-nav-toggle-color);
}


.nav-toggle-actual .top,
.nav-toggle-actual .middle, 
.nav-toggle-actual .bottom  {
	height:3px;
}


.nav-toggle-actual .top	{ top:11px; }
.nav-toggle-actual .middle { top:19px;}
.nav-toggle-actual .bottom	{ top:27px;} 

.nav-open .nav-toggle-actual .top,
.nav-open .nav-toggle-actual .bottom {
	opacity:0;
}

.nav-open .nav-toggle-actual	.middle	{	
	transform: rotate(-45deg) scaleX(1); 
 }

.nav-open  .nav-toggle-actual .middle + .middle	{	
	transform: rotate(45deg)  scaleX(1);; 
 }
 


 


/* ----- NAV ----- */

/* nav links */
.site-nav a {
	cursor:pointer;
	white-space:nowrap;
	text-decoration:none;
	color:var(--gd-font-color-ltr);
	background-color:var(--gd-site-nav-link-bg-default);
	font-size:var(--gd-site-nav-font-size-1);
	font-family:var(--gd-font-family-serif);
	text-transform:uppercase;
 }

.site-nav a:hover,
.site-nav a:focus-visible  {
	background-color:var(--gd-site-nav-link-bg-hover);
  }
 
.site-nav .nav-links-list {
	list-style:none;
	padding:0;
	margin:0;
	width:100%;
}

.site-nav .nav-links-list li {
	border-top:var(--gd-site-nav-link-border) solid 1px;
}

.site-nav .nav-links-list a {
	display:block;
	padding:15px;
}







/* nav layout */
@keyframes nav-open {
	0% {
		max-height:0px;
		opacity:0;
		visibility:hidden;
	}
	100% {
		max-height:var(--gd-site-nav-height-max);
		opacity:1;
		visibility:visible;
	}
 }

 @keyframes nav-close {
	0% {
		max-height:var(--gd-site-nav-height-max);
		opacity:1;
		visibility:visible;
	}
	100% {
		max-height:0px;
		opacity:0;
		visibility:hidden;
	}
 }




.site-nav {
	font-size:var(--gd-font-size-body-1);
	text-align:center;
	color:var(--gd-font-color-lt);
	width:100%;
	visibility:hidden;
	overflow:hidden;
	position:fixed;
	padding-bottom:3px; /* so the last button outline doesn't get cut off */;
}

.site-nav .site-nav-container {
	background-color:var(--gd-site-nav-bg-color);
	transform:translateY(-100px);
}


.nav-open .site-nav-container {
	transform:translateY(0px);
}


.nav-close .site-nav {
	animation: nav-close var(--gd-transition-timing) forwards;
}


.nav-open .site-nav {
	animation: nav-open var(--gd-transition-timing) forwards;
	overflow-x:hidden;
	overflow-y:auto;
	height:calc(100vh - var(--gd-site-header-height))
}

/* nav bg mask */
body.nav-open:before {
	content:'';
	display:block;
	position:fixed;
	z-index:4;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:var(--gd-afterprom-purple);
	opacity:0.8;
}







.site-nav b,
.site-nav strong {
	color:var(--gd-font-color-ltr);
}








/* ----- SITE MAIN ----- */
.site-main {
	background-color:#ffffff;
}


 /* ----- FOOTER ----- */
.site-footer {
	background-image:url(../../../custom/images/site-satin-bg.jpg);
	background-size:cover;
	background-position:center top;
	font-size:var(--gd-font-size-body-2);
	color:var(--gd-font-color-ltr);
}

.site-footer  p,
.site-footer  [class*="gd-heading"] {
	max-width:none;
	text-align:left;
}


/* social links  */
.footer-social-container {
	
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
	background-color:#000000;
	margin-bottom: 40px;
	text-align:center;
}



.footer-links:has(ul:empty + ul:empty),
.site-footer [class*="links"]:empty,
.site-footer [class*="links"] li:empty {
	display:none;
	padding:0;
	margin:0;
}

.site-footer .footer-social-links-list {
	list-style:none;
	margin:0;
	padding:0;
	display:block;
}

.site-footer .footer-social-links-list li {
	display:inline-block;
}

.site-footer .footer-social-links-list li + li {
	margin-left:30px;
}


.site-footer .footer-social-links-list a {
	padding-top:2px;
	font-size:var(--gd-social-icon-size-1);
	/* color:var(--gd-link-color-default); */
	color:#ffffff;
	opacity:var(--gd-site-nav-link-opacity);
	display:inline-block;
	width:40px;
	height:40px;
	line-height:40px;
	text-align:center;
}

.site-footer .footer-social-links-list a:hover,
.site-footer .footer-social-links-list a:focus-visible {
	/* color:var(--gd-link-color-hover); */
	opacity:var(--gd-site-nav-link-opacity-hover);
}


/* footer links */
.site-footer a:not(.gd-button) {
	text-decoration:none;
 }

.site-footer a:not(.gd-button):hover,
.site-footer a:not(.gd-button):focus-visible {
	 text-decoration:underline;
  }

  
.site-footer .footer-links {
	padding-bottom:20px;
}

.site-footer .footer-links a {
	color:var(--gd-font-color-ltr);
}

.site-footer .footer-links-list {	
	list-style:none;
	margin:0;
	padding:0;
}

.site-footer .footer-links-list li {
	margin: 0 20px 20px 20px;
}

.site-footer .footer-links-list a {
	white-space:nowrap;
	color:var(--gd-font-color-ltr);
	display:inline-block;
}

/* sign out */
.site-footer .nav-sign-out {
	color:var(--gd-font-color-ltr);
}

.site-footer .nav-sign-out .gd-el-label {
   text-decoration:none;
}


.site-footer .nav-sign-out:hover .gd-el-label ,
.site-footer .nav-sign-out:focus-visible .gd-el-label  {
	text-decoration:underline;
}


.site-footer .footer-links-list a:hover,
.site-footer .footer-links-list a:focus-visible,
.site-footer .nav-sign-out:hover .gd-el-label ,
.site-footer .nav-sign-out:focus-visible .gd-el-label,
.site-footer .nav-sign-out:hover .gd-el-icon ,
.site-footer .nav-sign-out:focus-visible .gd-el-icon {
	color:var(--gd-link-color-hover);
} 


/* footer site map */

.gdAppReg .site-footer .footer-message {
	display:block;
}

.site-footer .footer-content .footer-site-map [class*="gd-heading"] {
	font-family:var(--gd-font-family-serif);
	color:var(--gd-afterprom-orange);
	text-transform:uppercase;
}

.site-footer .site-map-links {
	list-style:none;
	margin:0;
	padding:0;
	text-transform:uppercase;
}

.site-footer .site-map-links  li + li {
	margin-top:5px;
}

.site-footer .site-map-links a {
	color:var(--gd-font-color-ltr);
}

/* footer content */
.site-footer .footer-content {
	font-size:var(--gd-font-size-body-2);
}


.site-footer .footer-content [class*="gd-heading"] {
	text-transform:none;
	font-weight:300;
}

.site-footer .footer-content .footer-site-map [class*="gd-heading"] {
	font-family: var(--gd-font-family-serif);
	color: var(--gd-afterprom-orange);
	text-transform: uppercase;
 }

.site-footer .content-cols {
	display:flex;
	width:100%;
	flex-direction:row;
	flex-wrap:wrap;
	gap:40px 13% ;
	margin-bottom:80px;
}

.site-footer .content-cols > div {
	flex:1 1;
	min-width:300px;
}


/* badge */
.gd-badge  {
	margin: 40px 0;
	text-align:center;
}

.gd-badge img {
	filter: brightness(0) invert(1);
	display:inline-block;
	width:100px;
}





/* ----- EVENT HEADER ----- */


/* full-header */
.event-header {
	background-color:var(--gd-afterprom-purple);
	overflow:hidden;
	/* background-image:url(../../../custom/images/site-satin-bg.jpg); */
	background-repeat:no-repeat;
	background-size:cover;
	max-width:100%;
	padding:0;
}

.event-header [class*="gd-heading"] {
	text-align:center;
}

.event-header div:empty {
	display:none;
}

.event-header .event-name [class*="gd-heading"],
.event-header .sessions [class*="gd-heading"]  {
	color:var(--gd-font-color-ltr);
	margin:var(--gd-margin-paragraph);
}

.event-header .event-name,
.event-header .sessions  {
	color:var(--gd-font-color-dk);	
}

/* event banner */
.event-header .banner {
	background-color:var(--gd-event-header-bg-color);
}






/* event name */
.event-header .event-name {
	background-color:var(--gd-event-header-bg-color);
	overflow:hidden;
	display:none;  /* hide event name site wide */
}




.event-header .event-name-container {
	overflow:hidden;
	text-align:center;
}

.event-header .event-name-actual {
	margin-top:var(--gd-event-header-padding-vertical);
	margin-bottom:var(--gd-event-header-padding-vertical);
	line-height:var(--gd-line-height-heading-1);
	font-family:var(--gd-font-family-serif);
	font-weight:normal;
}

.event-header .event-name .superline,
.event-header .event-name .subline {
	font-size:var(--gd-font-size-heading-3);
	color:var(--gd-font-color-ltr);
	display:block;
}
.event-header .event-name .superline {
	margin-bottom:5px;
}

.event-header .event-name .subline {
	margin-top:5px;
}


.event-header .event-name .mainline {
	font-size:var(--gd-font-size-heading-1);
	color:var(--gd-afterprom-orange);
	text-transform:uppercase;
	display:block;
}

/* if banner has event name */
.banner-has-event-name .event-name {
	overflow:hidden;
   width:1px;
   height:1px;
   margin:0 0 0 -2px;
}



/* website link */
.event-header .event-website {
	margin:10px auto 20px auto;
	max-width:var(--gd-site-width-max);
	padding-left: var(--gd-site-padding-horizontal);
  	padding-right: var(--gd-site-padding-horizontal);
	text-align:center;
}


/* end full header */

/* short header */
.event-header.short-header {
	border-bottom:var(--gd-bg-color-dkr) solid 5px; 
}


.event-header.short-header .event-name .superline, 
.event-header.short-header .event-name .subline {
  font-size:var(--gd-font-size-body-2);
}
.event-header.short-header .event-name .mainline {
  font-size:var(--gd-font-size-heading-4);
}

.event-header.short-header .event-name-actual {
  margin:15px auto;
}

.event-header.short-header .event-website {
  margin:0 auto 10px auto;
}
/* end short header */

/* event session */
.event-header .sessions {
	background-color:var(--gd-event-header-bg-color);
}

.event-header .sessions-group {
	border:0;
	margin-bottom:0;
	display:flex;
	width:100%;
	flex-wrap: wrap;
}

.event-header .session {
	flex:1 1 100%;
	padding:50px;
	border-top:var(--gd-border-color-session) solid 1px; 
	border-bottom:var(--gd-border-color-session) solid 1px; 
	margin-top:-1px;
	color:var(--gd-font-color-ltr);
}


/* only 1 */
.event-header .session:only-child {
	max-width:100%;
	border-left:0;
	border-right:0;
	}


.event-header .session-info {
	padding:0 var(--gd-event-header-session-padding-horizontal);
}


.event-header .session-details :last-child {
	margin-bottom:0;
}



.event-header .session-name-actual {
	display:block;
	color:var(--gd-afterprom-orange);
	font-size:var(--gd-font-size-heading-4);
	font-family:var(--gd-font-family-serif);
	font-weight:normal;
	line-height:var(--gd-line-height-heading-4);
	text-transform:uppercase;
	padding:0 var(--gd-event-header-session-padding-horizontal);
}

.event-header .session-subline {
	display:block;
	font-weight:normal;
	font-size:var(--gd-font-size-heading-5);
	margin-top:10px;
}

.event-header .session-date {
	margin: var(--gd-margin-heading-3);
}

.event-header .session-date-day,
.event-header .session-date-time {
	margin-bottom:5px;
	text-align:center;
	font-family:var(--gd-font-family-serif);
	font-size:var(--gd-font-size-heading-4);
	line-height:var(--gd-line-height-heading-4);
	text-transform:uppercase;
	display:block;
	position:relative;
}



.event-header .session-venue {
	text-align:center;
	font-size:var(--gd-font-size-heading-5);
	display:block;
	margin:0;
}

.event-header .session-venue-name {
	font-weight:700;
}

.event-header .session-agenda,
.event-header .session-details {
	min-width:100%; /* needs to be 100% for flexbox to take up whole row otherwise column gap added after venue */
}

.event-header .session-details {
	margin-top:10px;
}


.event-header .session-details:empty {
	display:none;
}



/* event header session agenda */
.event-header .session-date-day + .session-agenda  {
	margin-top:20px;
}

.gd-table.session-agenda {
	border-color:var(--gd-border-color-session);
	font-size:inherit;
	margin-bottom:0;
	max-width:500px;
	min-width:auto;
}


.gd-table.session-agenda tbody {
	border-color:var(--gd-border-color-session);
}

.gd-table.session-agenda tr {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	padding:var(--gd-table-cell-padding);
	gap:0 var(--gd-table-cell-flex-gap);
}

.gd-table.session-agenda .cell-time {
	padding:0;
	flex:0 1 22ch;
	/* if no time range use flex 0 1 110px */
}

.gd-table.session-agenda .cell-activity {
	padding:0;
	flex:1 0 160px;
	/* if no time range use flex 0 1 150px */
}


/* event details */
.event-header .event-details {
	padding:  var(--gd-accordion-session-padding-vertical) 0 0 0;
}


/* event header accordion */
.event-header .gd-accordion-toggle {
	padding:var(--gd-accordion-session-padding-vertical) 40px var(--gd-accordion-session-padding-vertical) 20px;
}

.event-header .gd-accordion .session-name-actual {
	padding:0;
}

.event-header .gd-accordion  .session-info {
	padding-left:0;
	padding-right:0;
}



/* -------------- BREAK POINT -------------- */
@media screen and (min-width:360px) {

	/* event header session accordion */
	.event-header .gd-accordion-toggle {
		text-align:center;
		padding:var(--gd-accordion-session-padding-vertical)  40px;
	}

	.event-header .gd-accordion-body p {
		text-align:center;
	}
	
}



/* -------------- BREAK POINT -------------- */
@media screen and (min-width:768px) {

	/* site header */
	.site-header .site-header-container { 
		flex-wrap:nowrap;
	}

	.site-header .user {
		order:2;
		max-width:60%;
		overflow:hidden;
		text-align:right;
		padding:0;
		border:0;
		background-color:transparent;
		margin:0 0 0 auto;
		white-space:nowrap;
		text-overflow:ellipsis;
	}

	.site-header .user-name {
		display:inline;
	}
	
	.site-header .user-email {
		display:inline;
	}

	.site-header .user-email:before {
		content:'';
		display:inline-block;
		width:10px;
	}


	.no-header-logo .site-header .user {
		padding-left:var(--gd-site-padding-horizontal);
		margin:0;
	}

	.nav-toggle {
		order:3;
	}

	.user + .nav-toggle {
		margin-left:30px;
	}


	/* ----- sessions ----- */

    /* default if there are 2 or more */
   .event-header .session {
		flex:1 1 50%;
		max-width:50%;
		border-right:var(--gd-border-color-session) solid 1px;
		border-left:0;
	}

	
	.event-header .session:nth-child(even) {
		border-right:0;
	}


	/* only 2 */
	.event-header .session:nth-last-child(n+2):nth-last-child(-n+2):first-child, 
	.event-header .session:nth-last-child(n+2):nth-last-child(-n+2):first-child ~ .session {
		max-width:50%;
  }
	 
  .event-header .session:nth-last-child(n+2):nth-last-child(-n+2):first-child {
		border-left:0;
  }

  .event-header .session:nth-last-child(n+2):nth-last-child(-n+2):first-child ~ .session  {
	  border-right:0;
	  border-left:0;
  }



	/* NAV FOOTER LINKS */
	/* make links display in a row */
	.site-nav .nav-links-list.secondary {
		flex-direction:row;
	}
	
	.site-footer .footer-links-list {
		display: inline-flex;
		justify-content:center;
		gap:0px 20px;
		align-items:baseline;
	}

	.site-footer .footer-links-list +  .footer-links-list  {
		margin-left:20px;
	}





}


/* -------------- BREAK POINT -------------- */
@media screen and (min-width:992px) {



  /* ----- sessions ----- */
  .event-header .session {
		flex:1 1 33.33%;
		max-width:33.33%;
	}


	.event-header .session:nth-child(even) {
		border-right:var(--gd-border-color-session) solid 1px;
	}

	/* every 3rd */         
	.event-header .session:nth-child(2n) {
		border-right:var(--gd-border-color-session) solid 1px;
	}

	/* every 3rd */
	.event-header .session:nth-child(3n) {
		border-right:0;
	}


	/* ----- footer ----- */

	.site-footer [class*="gd-heading"] {
		font-size:var(--gd-font-size-heading-3);
	}

}


/* -------------- BREAK POINT -------------- */
@media screen and (min-width:1200px) {


	/* ----- event header sessions ----- */
	.event-header .session-name-actual {
		font-size:var(--gd-font-size-heading-2);
	}
	
	.event-header .session-subline {
		font-size:var(--gd-font-size-heading-4);
	}
	
	.event-header .session-date-day,
	.event-header .session-date-time {
		font-size:var(--gd-font-size-heading-3);
	}
	
	.event-header .session-venue { 
		font-size:var(--gd-font-size-heading-4);
	}

}

