:root {
   /* promnight specific */
   --gd-promnight-yellow: #dead19;
   --gd-site-header-height: 80px;

   --gd-site-header-logo-width: 50px;
   --gd-nav-toggle-color: #dead19;

   --gd-border-color-session: #666666; /* border around sessions in event header */
   --gd-state-disabled-opacity: 0.75;

   /* font color */
   --gd-font-color-dk:#222222; /* default text color */

   /* -------------- links and buttons -------------- */
   --gd-link-color-default:#dead19; /* default link color */
   --gd-link-color-hover:#efba1a;; /* hover link color */
   --gd-button-color-default: #dead19; /* default button color */
   --gd-button-color-hover: #efba1a;; /* hover button color */

   --gd-font-family-sans-serif: "Open Sans", helvetica, arial, sans-serif;
   --gd-font-family-serif: "trajan-pro-3", "Times New Roman", serif;

   /* font sizes */
   --gd-font-size-body-1: 16px; /* primary page content */
   --gd-font-size-body-2: 14px; /* secondary content / aside */
   --gd-font-size-body-3: 12px; /* tertiary content / table column headers / error/ fine print */
   --gd-font-size-heading-1: 24px;
   --gd-font-size-heading-2: 18px;
   --gd-font-size-heading-3: 18px;
   --gd-font-size-heading-4: 18px;
   --gd-font-size-heading-5: 16px;
   
  
   --gd-line-height-body-1: 1.7;
   --gd-line-height-heading-1: 1.4;
   --gd-line-height-heading-2: 1.4;
   --gd-line-height-heading-3: 1.5;
   --gd-line-height-heading-4: 1.5;
   --gd-line-height-heading-5: 1.7;

   /* form */
   --gd-form-font-size-1: 16px;
   --gd-form-label-line-height: 25px;
}

body {
   font-weight:300;
}

.site-header {
   border-top:var(--gd-promnight-yellow) solid 2px;
}

.no-header-logo .logo {
   display:block;
}

.site-header .logo img {
   margin-top:8px;
   margin-bottom:8px;
}

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

.site-header .user {
   font-size:14px;
}


/* headings */

.gd-heading-1,
.gd-heading-2 {
   color:var(--gd-promnight-yellow);
   font-family:var(--gd-font-family-serif);
   font-weight:normal;
   text-transform:uppercase;
}


* + [class*="gd-heading"] {
   margin-top:var(--gd-margin-top-heading);
}


/* ----- 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 name */
.banner-has-event-name .full-header .event-name {
   height:auto;
   width:auto;
   margin:0;
}




.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.short-header .event-name .subline,
.event-header .event-name .subline {
   font-family:var(--gd-font-family-serif);
   font-size:var(--gd-font-size-heading-3);
   color:var(--gd-promnight-yellow);
	margin-top:5px;
   text-transform:uppercase;
}


.event-header .event-name .mainline {
	font-size:var(--gd-font-size-heading-3);
	font-weight:bold;
	color:var(--gd-font-color-dkr);
	display:none;
}

.event-header.full-header .event-name .mainline {
   display:none;
}




/* end full header */







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

.event-header .sessions-group {
   background-color:#000000;
   background-image:url(../../../resources/custom/images/site-satin-bg.jpg);
   background-repeat:no-repeat;
   background-size:cover;
   background-position:center center;
   border:0;
	display:flex;
	width:100%;
	flex-wrap: wrap;
   overflow:hidden;
}



.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 {
	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 100%;
	position:relative;
	text-align:center;
}

.event-header .session-date-day:before,
.event-header .session-venue-name:before {
	display:none;
   margin:0;
}


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




.event-header .session-name-actual {
   display: block;
   color: var(--gd-promnight-yellow);
   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;
	color:var(--gd-font-color-ltr);
	font-size:var(--gd-font-size-body-1);
   margin-top:10px;
}

.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;
   color: var(--gd-font-color-ltr);
   font-weight:normal;
   min-height:auto;
}



.event-header .session-date-day {
   margin-bottom:0;
}

.event-header .session-venue-name,
.event-header .session-venue-address {
   font-size:var(--gd-font-size-heading-5);
   color: var(--gd-font-color-ltr);
   min-height:auto;
}

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

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


.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-event-header-padding-vertical) 0;
}



/* ----- SITE FOOTER ----- */
.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-font-color-dkr);
}


/* form */
abbr.pfRequired {
   transform: scale(80%);
   width:10px;
   margin-left: -10px;
}

output.pfField, input.pfField, select.pfField, textarea.pfField {
   margin-top:5px;
}

.pfOptionSet ul li input[type="radio"],
.pfOptionSet ul li input[type="checkbox"] {
   top:4px;
}




/* --- elements with the small text up the fontweight --- */
ul.ticketsList li.ticket, 
.modal .modalInner .tabPanel .tab.ticketDetails .sessions,
.finePrintContainer {
   font-weight:normal;
}



/* -------------- BREAK POINT -------------- */
@media screen and (min-width:768px) {
   
   :root {
      
      /* font sizes */
		--gd-font-size-heading-1: 32px;
		--gd-font-size-heading-2: 24px;
		--gd-font-size-heading-3: 20px;
   }



   /* header */
   .site-header .user,
   .no-header-logo .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;
   }

   .no-header-logo .site-header .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;
  }


}	


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

   }


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

      --gd-font-size-heading-1: 48px;
      --gd-font-size-heading-2: 36px;
      --gd-font-size-heading-3: 24px;

   }

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



}


