
/* 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 .sessions-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 {
	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 .banner-container,
.event-header .event-name-container,
.event-header .sessions-container,
.event-header .event-details-container,
.page-content .page-container,
.site-footer .footer-social-container,
.site-footer .footer-options-container {
	margin-left:auto;
	margin-right:auto;
	max-width: var(--gd-site-width-max);
}








/* ----- SKIP TO CONTENT ----- */
.skip {
	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:4;
}

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



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

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


.site-header {
	background-color:var(--gd-site-header-bg-color);
	border-bottom: var(--gd-border-color-dkr) solid 1px;
}

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


.site-header .logo {
	padding-left: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;
	margin-top:var(--gd-site-header-padding-vertical) ;
	margin-bottom:var(--gd-site-header-padding-vertical) ;
}



/* 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:2px;
}


.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);; 
 }
 


 /* NO HEADER LOGO */
 .no-header-logo .logo {
	display:none;
 }

 .no-header-logo .site-header .user {
	order:2;
	width: calc(100% - 60px);
	text-align:left;
	border:0;
	background-color:transparent;
 }

 .no-header-logo .site-header .nav-toggle {
	order:3;
	margin-left:auto;
 }



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

/* nav links */
.site-nav a,
.site-nav .nav-sign-out  {
	cursor:pointer;
	white-space:nowrap;
	text-decoration:none;
	color:var(--gd-font-color-ltr);
	opacity:var(--gd-site-nav-link-opacity);
 }

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav .nav-sign-out:hover,
.site-nav .nav-sign-out:focus-visible {
	 opacity:var(--gd-site-nav-link-opacity-hover);
  }
 
.site-nav .nav-links-list {
	list-style:none;
	padding:0;
	margin:0;
}


.site-nav .nav-links-list a,
.site-nav .nav-links-list .nav-sign-out  {
	display:inline-block;
}


/* sign out link */
.nav-sign-out {
	white-space:nowrap;
	border:0;
	background-color:transparent;
	margin:0;
	line-height:var(--gd-line-height-body-1);
	cursor:pointer;
}

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





/* 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:absolute;
	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);
	border-bottom:#ffffff solid 1px;
}


.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;
}

/* nav bg mask */
body.nav-open:before {
	content:'';
	display:block;
	position:fixed;
	z-index:1;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:#000000;
	opacity:0.8;
}







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


/* primary nav links */
.site-nav a:focus-visible,
.site-nav button:focus-visible {
	outline-color:var(--gd-focus-outline-color-2);
}

.site-nav .nav-links-list.primary {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	gap:0;
	justify-content:center;
}

.site-nav .nav-links-list.primary > li {
	flex:1 1 33.33%;
	max-width:120px;
	padding:10px 0;
}

.site-nav .nav-links-list.primary  a {
	padding:10px 5px;
	display:block;
}

.site-nav .nav-links-list.primary  .gd-el-icon {
	content:'';
	display:block;
	width:100%;
	height:30px;
	overflow:hidden;
	background-repeat:no-repeat;
	background-size:30px auto;
	background-position:center top;
	margin: 0 0 10px 0;
}

.site-nav .nav-links-list.primary .gd-el-label {
	text-decoration:none;
	margin:0;
}

.site-nav .nav-links-list.primary  a:hover  .gd-el-icon,
.site-nav .nav-links-list.primary  a:focus-visible  .gd-el-icon  {
	background-position:center bottom;
}

.site-nav .nav-links-list.primary .nav-home .gd-el-icon{
	background-image:url(../../../gd/images/icon-nav-home.svg);
}

.site-nav .nav-links-list.primary .nav-tickets .gd-el-icon{
	background-image:url(../../../gd/images/icon-nav-tickets.svg);
}

.site-nav .nav-links-list.primary .nav-help .gd-el-icon{
	background-image:url(../../../gd/images/icon-nav-help.svg);
}





/* secondary nav links */
/* borders */
.site-nav .nav-links-list.secondary {
	padding:5px 15px;
	display:flex;
	flex-direction:column;
	flex-wrap:wrap;
	justify-content:center;
	gap:0 20px;
	border-top:var(--gd-site-nav-border-color) solid 1px;
}

.site-nav .nav-links-list.secondary li {
	margin: 10px;
}

.site-nav .nav-links-list.secondary   .gd-el-label {
	text-decoration:none;
}




 /* ----- FOOTER ----- */
.site-footer {
	font-size:var(--gd-font-size-body-1);
	text-align:center;
	border-top: solid 1px var(--gd-border-color-dkr);
}



/* social links  */
.footer-links:has(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 a {
	padding-top:2px;
	font-size:var(--gd-icon-size-1);
	color:#000000;
	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);
}


/* footer links */
.site-footer a {
	text-decoration:none;
 }

.site-footer a:hover,
.site-footer a:focus-visible {
	 text-decoration:underline;
  }

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

.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-default);
	display:inline-block;
}

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

.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 content */
.site-footer .footer-content {
	font-size:var(--gd-font-size-body-2);
}


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

.gd-badge img {
	display:inline-block;
	width:100px;
}





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


/* full-header */
.event-header {
	overflow:hidden;
}

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

.event-header .event-name [class*="gd-heading"],
.event-header .sessions [class*="gd-heading"]  {
	color:var(--gd-font-color-dkr);
	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-header .banner-container {
	padding-left: var(--gd-site-padding-horizontal);
	padding-right: var(--gd-site-padding-horizontal);
	margin: var(--gd-event-header-padding-vertical) auto;
}

.event-header .banner-actual {
	border-radius:var(--gd-border-radius-1);
	overflow:hidden;
}




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

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

.event-header .event-name-actual {
	line-height:var(--gd-line-height-heading-1);
	margin:20px auto 0 auto;
}

.event-header .event-name .superline,
.event-header .event-name .subline {
	font-size:var(--gd-font-size-body-1);
	color:var(--gd-font-color-dk);
	font-weight:normal;
	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-3);
	font-weight:bold;
	color:var(--gd-font-color-dkr);
	display:block;
}

/* if banner has event name */
.banner-has-event-name .full-header .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:var(--gd-border-color-dkr) solid 1px;
	border-radius:var(--gd-border-radius-1);
	margin:0 0 var(--gd-event-header-padding-vertical) 0;
}



.event-header .session-info {
	display:flex;
	width:100%;
	max-width: calc( var(--gd-content-width-max-2) + (2 *  var(--gd-event-header-session-padding-horizontal) ));
	margin-left:auto;
	margin-right:auto;
	flex-wrap: wrap;
	gap: var(--gd-event-header-column-gap);
	padding:0 var(--gd-event-header-session-padding-horizontal);
}



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

.event-header .session-date,
.event-header .session-venue {
	flex:1 1 300px;
	position:relative;
	text-align:center;
}

.event-header .session-date-day:before,
.event-header .session-venue-name:before {
	content:'';
	width:100%;
	height:23px;
	margin-bottom:10px;
	display:block;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:contain;
}

.event-header .session-date-day:before {
	background-image:url(../../../gd/images/icon-date.svg);
}

.event-header .session-venue-name:before {
	background-image:url(../../../gd/images/icon-venue.svg);
}

.event-header .session + .session  {
	border-top:var(--gd-border-color-dkr) solid 1px;
}

.event-header .session-name-actual {
	display:block;
	font-weight:bold;
	color:var(--gd-font-color-dkr);
	font-size:var(--gd-font-size-heading-4);
	padding:0 var(--gd-event-header-session-padding-horizontal);
}

.event-header .session-subline {
	display:block;
	font-weight:normal;
	color:var(--gd-font-color-dk);
	font-size:var(--gd-font-size-body-1);
}


.event-header .session-date-day,
.event-header .session-venue-name {
	text-align:center;
	font-size:var(--gd-font-size-heading-5);
	line-height:var(--gd-line-height-body-1);
	color:var(--gd-font-color-dkr);
	font-weight:bold;
	display:inline-block;
	min-height:35px;
	position:relative;
}

.event-header .session-date-time,
.event-header .session-venue-address {
	text-align:center;
	font-size:var(--gd-font-size-body-1);
	display:block;
	margin:0;

}

.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:7px;
}

.gd-table.session-agenda {
	border-color:var(--gd-border-color-dkr);
	font-size:inherit;
	margin-bottom:0;
}


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

.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 20ch;
	/* if no time range use flex 0 1 110px */
}

.gd-table.session-agenda .cell-activity {
	padding:0;
	flex:1 0 130px;
	/* 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;
	}


	/* event header */
	.event-header .event-name-actual {
		margin: 30px auto 10px auto;
	 }
	
	.event-header .event-name .mainline {
		font-size:var(--gd-font-size-heading-2);
	}

	.event-header .event-name .superline,
	.event-header .event-name .subline {
		font-size:var(--gd-font-size-body-1);
	}

	
	.event-header .session-date {
		order: 1;
	}

	.event-header .session-venue {
		order: 2;
	}

	.event-header .session-agenda {
		order: 3;
	}

	.event-header .session-details {
		order: 4;
	}




	/* 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) {

}




