/* root */

:root {


   /* -------------- body content font styles -------------- */

   --gd-afterprom-orange: #F04B24;
   --gd-afterprom-purple: #250B3E;
   --gd-site-header-height: 80px;

   /* font family */   
   --gd-font-family-sans-serif: "Red Hat Display", helvetica, arial, sans-serif;
   --gd-font-family-serif: "Space Mono", "Times New Roman", serif;
   
   /* font color for light bg */
   --gd-font-color-dk:#222222; /* default text color */
   --gd-font-color-dkr:#000000; /* bold text color */
   
   /* font color  for dark bg */
   --gd-font-color-lt:rgba(255,255,255,0.8); /* default text color */ 
   --gd-font-color-ltr:rgba(255,255,255,1); /* bold text color */
   
   /* 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-font-size-micro: 11px; /* special cases  */
   --gd-line-height-micro: 1.5;
   --gd-letter-spacing-micro: 0.5px;
   
   --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;
   
   --gd-margin-heading-1: 0 auto 40px auto;
   --gd-margin-heading-2: 0 auto 20px auto;
   --gd-margin-heading-3: 0 auto 20px auto;
   --gd-margin-heading-4: 0 auto 20px auto;
   --gd-margin-heading-5: 0 auto 0 auto;
   --gd-margin-paragraph: 0 auto 20px auto;
   --gd-margin-top-heading: 40px;
   --gd-margin-hr: 40px;
   
   
   /* max width for content */
   --gd-content-width-max-1:1000px;
   --gd-content-width-max-2:800px;
   --gd-content-width-max-3:600px;
   
   
   
   
   /* -------------- links and buttons -------------- */
   --gd-link-color-default:#F04B24; /* default link color */
   --gd-link-color-hover:#ff5027; /* hover link color */
   --gd-button-color-default: #F04B24; /* default button color */
   --gd-button-color-hover: #ff5027; /* hover button color */
   
   --gd-button-font-color: #000000; /* button fill text color */
   --gd-button-font-size: 16px;
   --gd-button-line-height: 20px;
   --gd-button-padding: 11px 20px;
   --gd-button-height:48px;
   --gd-button-width-min:120px;
   --gd-button-padding-icon-only: 11px 0px;
   --gd-button-border-radius:500px;
   --gd-button-overlay-opacity: 0.04; /* for text, outline buttons hover bg color overlay opacity */
   --gd-button-group-gap: 20px 20px;
   --gd-button-group-padding: 20px 0;
   
   
   /* -------------- accordion --------------- */
   --gd-accordion-session-padding-vertical: 20px;
   
   
   
   /* -------------- icon sizes -------------- */
   --gd-icon-size-1: 24px;
   --gd-icon-size-2: 18px;
   --gd-icon-size-3: 16px;

   --gd-social-icon-size-1: 30px;
   
   
   
   /* -------------- states -------------- */
   --gd-state-disabled-opacity: 0.3;
   --gd-state-disabled-filter: grayscale(100%) brightness(100%);
   --gd-state-soldout-color: #bb0000;
   --gd-state-error-color: #bb0000;
   --gd-state-success-color: #339043;
   --gd-state-green:#339043;
   --gd-state-yellow:#c27f1f;
   --gd-state-red:#bb0000;
   
   
   
   /* -------------- borders and shades on light background -------------- */
   --gd-border-radius-1: 10px; /* for outter large blocks - banner, sessions, accordions  - not for buttons */
   --gd-border-radius-2: 0px; /* for inner nested blocks - not for buttons */
   --gd-border-color-dkr:#c0c0c0; /* border color */
   --gd-border-color-dk:#eeeeee; /* for keyline color */ 
   --gd-bg-color-dkr:#f5f5f5; /* for header footer background shade*/
   --gd-bg-color-dk:#f7f7f7;  /* for general row cell background shade */
   --gd-bg-color-dk-alt:#f9f9f9; /* for alt row cell background shade */
   
   --gd-border-color-session: #581896; /* border around sessions in event header */
   
   
   /* borders and shades on dark background */
   --gd-border-color-lt: rgba(255,255,255,0.30); 
   --gd-bg-color-ltr: rgba(255,255,255,0.20); /* for header footer background shade*/
   --gd-bg-color-lt: rgba(255,255,255,0.15);  /* for general row cell background shade */
   --gd-bg-color-lt-alt:rgba(255,255,255,0.10); /* for alt row cell background shade */
   
   --gd-bg-color-body: #ffffff; /* site body color */
   
   
   /* table  */
   --gd-table-cell-padding: 10px;
   --gd-table-header-cell-padding: 10px;
   --gd-table-line-height: 1.7;
   --gd-table-col-label-width: 130px;
   --gd-table-col-value-width: 200px;
   --gd-table-cell-checkbox-width:40px;
   --gd-table-cell-column-gap: 20px;
   --gd-table-margin:  30px auto 60px auto;
   
   
   
   
   /* -------------- site shell -------------- */
   /* site width */
   --gd-site-padding-horizontal: 20px;
   --gd-site-width-max: 1160px; /*1260px */
   --gd-site-width-min: 280px;
   
   
   /* padding */
   --gd-site-header-padding-vertical:17px;
   --gd-event-header-padding-vertical:25px;
   --gd-event-header-session-padding-horizontal:10px;
   --gd-page-content-padding-vertical:40px;
   --gd-footer-social-padding-vertical: 40px;
   --gd-footer-options-padding-vertical: 40px;
   
   
   /* -------------- nav -------------- */

   --gd-nav-toggle-color: #F04B24;
   --gd-nav-toggle-bg-color: transparent;
   --gd-site-nav-bg-color:transparent;
   --gd-site-nav-border-color: rgba(255,255,255,0.30);
   --gd-site-nav-height-max: 100vh;
   
   /* for links that use opacity - nav */
   --gd-site-nav-link-opacity: 0.8;
   --gd-site-nav-link-opacity-hover: 1;
   

   --gd-site-nav-font-size-1: 14px;
   --gd-site-nav-link-font-color:#ffffff;
   --gd-site-nav-link-bg-default: rgba(240, 75, 36, 0.85);
   --gd-site-nav-link-bg-hover: rgba(240, 75, 36, 1);
   --gd-site-nav-link-border:#b23618;
   
   
   
   /* -------------- event reg  header -------------- */
   --gd-site-header-bg-color: #ffffff;
   --gd-site-header-logo-width: 130px;
   --gd-app-header-bg-color: #000000;
   --gd-event-header-bg-color: transparent;
   --gd-event-header-column-gap: 20px;
   --gd-event-button-border-color:#ffffff;
   --gd-event-button-font-color:#ffffff;
   
   
   /* --------------  form -------------- */
   --gd-form-font-family: inherit;
   --gd-form-font-size-1: 16px; /* default font size for label, fields */
   --gd-form-font-size-2: 12px; /* font size for error hints and tool tips */
   --gd-form-line-height: 20px;
   --gd-form-label-padding: 5px 0;
   --gd-form-label-line-height: 25px;
   --gd-form-field-padding: 10px 10px;
   --gd-form-field-select-padding: 10px 25px 10px 10px;
   --gd-form-field-textarea-padding: 10px;
   --gd-form-field-height: 44px;
   --gd-form-field-margin: 20px;
   --gd-form-field-border-radius: 0px;
   --gd-form-field-border-color: #999999; 
   --gd-form-field-bg-color: #f7f7f7;
   
   
   /* ---------- focus visible outline color ----------- */
   --gd-focus-outline-color-1: #0075f9; /* main outline color */
   --gd-focus-outline-color-2: rgba(255,255,255,0.75);  /* alternate outline color for on contrasting dark background  */
   
   
   /* -------------- layouts -------------- */
   --gd-layout-column-gap: 40px;
   
   
   /* -------------- hr -------------- */
   --gd-hr-margin: 40px 0;
   
   
   /* transitions */
   --gd-transition-timing: 0.25s ease-out;
   
   
}
/* end root */




*, *:before, *:after {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}

*:focus-visible {
   outline-color: var(--gd-focus-outline-color-1);
   outline-offset: 3px;
   outline-style: solid;
   outline-width: 2px;
}

/* last block in the content */
.page-container > :last-child {
   margin-bottom:0;
}



/* ------- GENERAL TEXT STYLES ------ */
html {
   -webkit-text-size-adjust: 100%;
   scroll-behavior: smooth;
}

body,
.gdAppReg body {

   background-color:#ffffff;
   font-family:var(--gd-font-family-sans-serif);
   line-height:var(--gd-line-height-body-1);
   font-size:var(--gd-font-size-body-1);
   color:var(--gd-font-color-dk);
   padding:var(--gd-site-header-height) 0 0 0;
   margin:0;
   min-width:var(--gd-site-width-min);
   font-weight:300;
}

[class*="gd-heading"] {
   max-width:var(--gd-content-width-max-1);
   color:var(--gd-font-color-dkr);
}

.gd-heading-1 {
   text-align: center;
   color:var(--gd-afterprom-orange);
   font-family:var(--gd-font-family-serif);
   font-size:var(--gd-font-size-heading-1);
   margin: var(--gd-margin-heading-1);
   line-height:var(--gd-line-height-heading-1);
   font-weight:normal;
   text-transform:uppercase;
}

.gd-heading-2 {
   font-family:var(--gd-font-family-serif);
   font-size:var(--gd-font-size-heading-2);
   margin: var(--gd-margin-heading-2);
   line-height:var(--gd-line-height-heading-2);
   font-weight:normal;
   text-transform:uppercase;
}

.gd-heading-3 {
   font-family:var(--gd-font-family-serif);
   font-size:var(--gd-font-size-heading-3);
   margin: var(--gd-margin-heading-3);
   line-height:var(--gd-line-height-heading-3);
   font-weight:normal;
   text-transform:uppercase;
}

.gd-heading-4 {
   font-size:var(--gd-font-size-heading-4);
   margin: var(--gd-margin-heading-4);
   line-height:var(--gd-line-height-heading-4);
   font-weight:normal;
   text-transform:uppercase;
}

.gd-heading-5 {
   font-size:var(--gd-font-size-heading-5);
   margin: var(--gd-margin-heading-5);
   line-height:var(--gd-line-height-heading-5);
   font-weight:normal;
   text-transform:uppercase;
}

[class*="gd-heading"]:empty {
   display:none;
}



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


p {
   max-width:var(--gd-content-width-max-2);
   margin: var(--gd-margin-paragraph);
}

p.xl {
   font-size:var(--gd-font-size-heading-4);
   margin-bottom:60px;
}

b, strong {
   color:var(--gd-font-color-dkr);
}


.text-center,
.gdAppReg .registration .text-center {
   text-align:center;
}

.text-left,
.text-left p {
   text-align:left;
}

.text-right,
.text-right p {
   text-align:right;
}


.block-center {
   margin-left:auto;
   margin-right:auto;
}


table {
   border-collapse: collapse;
   margin: var(--gd-margin-paragraph);
}

table p {
   text-align:inherit;
}

img {
   display:block;
   width:100%;
}


hr {
   border-top:var(--gd-border-color-dk) solid 2px;
   border-left:0;
   border-right:0;
   border-bottom:0;
   margin:var(--gd-margin-hr) auto;
}

/* bullet list  */
ul.bullet {
   list-style-type:none;
   padding:0;
   margin:var(--gd-margin-paragraph);
}

ul.bullet > li {
   position:relative;
   padding-left:20px;
   margin-bottom:10px;
}

ul.bullet > li:before {
   content:'\2022';
   position:absolute;
   left:5px;
}

ul.bullet > li:last-child {
   margin-bottom:0;
}


li > ul.bullet,
li > ol.ordered {
   margin-top:20px;
   margin-left:20px;
}


/* button reset */
button {
   font-family:var(--gd-font-family-sans-serif);
   -webkit-appearance: button;
   line-height: inherit;
   margin:0;
   transform:none;
}

/* screen reader only */
.sr-only {
   overflow:hidden;
   width:1px;
   height:1px;
   margin:0 0 0 -2px;
}


/* content width */
.content-width-max-1 {
   width:var(--gd-content-width-max-1);
   margin:0 auto;
}


.content-width-max-2 {
   width:var(--gd-content-width-max-2);
   margin:0 auto;
}


.content-width-max-3 {
   width:var(--gd-content-width-max-3);
   margin:0 auto;
}


/* --------------- TEXT LINKS --------------- */
a {
   display:inline-block;
   color:var(--gd-link-color-default);
   text-decoration:underline;
}

a:hover,
a:focus-visible {
   color:var(--gd-link-color-hover);
   text-decoration:none;
}



/* link with an icon and label */
.gd-link {
   color:var(--gd-link-color-default);
   font-size:var(--gd-font-size-body-1);
   text-decoration:none;
   cursor:pointer;
   white-space:nowrap;
   border:0;
   background-color:transparent;
}

.gd-link:hover,
.gd-link:focus-visible {
   color:var(--gd-link-color-hover);
}


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




/* element icon, element label */


.gd-el-icon,
.gd-el-label {
   line-height:var(--gd-button-line-height);
   vertical-align:middle;
   display:inline-block;
   position:relative;
}

.gd-el-icon {
   font-size:var(--gd-icon-size-2);
}

.gd-link .gd-el-label {
   text-decoration:underline;
}

.gd-el-icon + .gd-el-label,
.gd-el-label + .gd-el-icon {
   margin-left:10px;
}



/* for non link or button labels */
:not(.gd-link) .gd-el-label,
:not(.gd-button) .gd-el-label {
   line-height:inherit;
}




/* only show label on mobile */
.gd-link.mobile-label .gd-el-label {
   overflow:hidden;
   width:1px;
   height:1px;
   margin:0 0 0 -2px;
}


.gd-link.mobile-label .gd-el-icon {
   width:auto;
   margin:0;
}





/* --------------- BUTTONS --------------- */


/* group of buttons */
.gd-button-group,
.gd-form-footer {
   display:flex;
   flex-direction:row;
   flex-wrap:wrap;
   gap:var(--gd-button-group-gap);
   width:100%;
   padding:var(--gd-button-group-padding);
   justify-content: center; 
   align-items: center;
   margin-top:20px;
}

.gd-button-group:empty,
.gd-form-footer:empty {
   display:none;
}



.gd-button .gd-el-icon,
.gd-button .gd-el-label  {
   text-decoration:none;
   vertical-align:top;
}

.gd-button .gd-el-icon {
   font-size:var(--gd-icon-size-2);
}

.gd-button .gd-el-label {
   line-height:var(--gd-button-line-height);
}




/* default button */
.gd-button {
   text-transform:uppercase;
   font-family:inherit;
   text-decoration:none;
   text-align:center;
   font-size:var(--gd-button-font-size);
   color:var(--gd-button-font-color);
   line-height:var(--gd-button-line-height);
   background-color:transparent;
   /* background-color:var(--gd-button-color-default); */
   padding:var(--gd-button-padding);

   height:var(--gd-button-height);
   min-width:var(--gd-button-width-min);

   border-radius:var(--gd-button-border-radius);
   border:var(--gd-button-color-default) solid 2px;
   display:inline-block;
   cursor:pointer;
   position:relative;
   overflow:hidden;

   white-space:nowrap;
   font-weight:400;

}


.gd-button:hover,
.gd-button:focus-visible {
   color:var(--gd-button-font-color);
   background-color:var(--gd-button-color-hover);
   border-color:var(--gd-button-color-hover);
}


/* button outline */
.gd-button.outline {
   background-color:transparent;
   color:var(--gd-button-font-color);
   /* border-color:var(--gd-button-color-default); */
   border-color:#000000;
}


.gd-button.outline:hover,
.gd-button.outline:focus-visible {
   /* 
   background-color:transparent; 
   color:var(--gd-button-font-color);
   border-color:var(--gd-button-color-hover); 
   */

   background-color:#000000;
   color:#ffffff;
}


/* button text only */
.gd-button.text {
   background-color:transparent;
   border-color:transparent;
   color:var(--gd-button-color-default);
}


.gd-button.text:not(.hover-outline) {
   border:0;
}

/* moz icon aligement */
@-moz-document url-prefix() {
   .gd-button.text.icon-only:not(.hover-outline) .gd-el-icon {
      top:2px;
   }
}



.gd-button.text:hover,
.gd-button.text:focus-visible {
   background-color:transparent;
   color:var(--gd-button-color-default);
}


/* button outline text - hover create shade in the background */

.gd-button.outline:hover:after,
.gd-button.outline:focus-visible:after,
.gd-button.text:hover:after,
.gd-button.text:focus-visible:after  {
   content:'';
   display:block;
   position:absolute;
   z-index:0;
   top:0px;
   left:0px;
   right:0px;
   bottom:0px;
   background-color:var(--gd-button-color-hover);
   opacity:var(--gd-button-overlay-opacity);
}



/* button icon only */
.gd-button.icon-only {
   min-width:0;
   width:var(--gd-button-height);
   padding:var(--gd-button-padding-icon-only);
   height:var(--gd-button-height);
   text-align:center;
} 




.icon-only .gd-el-label {
   overflow:hidden;
   width:1px;
   height:1px;
   margin:0 0 0 -1px;
   opacity:0.1;
}


.icon-only .gd-el-icon {
   width: calc(var(--gd-button-height) - 2px);
} 


/* gd link icon only */
.gd-link.icon-only {
   min-width:0;
   width:var(--gd-icon-size-1);
   height:var(--gd-icon-size-1);
   padding:0;
   text-align:center;
} 

.gd-link.icon-only .gd-el-icon {
   width:auto;
   margin:0;
}



/* -- special hover outline  -- */
.gd-button.text.hover-outline:hover,
.gd-button.text.hover-outline:focus-visible {
   background-color:transparent;
   border-color:var(--gd-button-color-default);
}

.gd-button.text.hover-outline:after,
.gd-button.text.hover-outline:hover:after,
.gd-button.text.hover-outline:focus-visible:after {
   display:none;
}




/* special hover inverse */

.gd-button.hover-inverse {
   background-color:transparent;
   color:var(--gd-button-color-default);
   border-color:var(--gd-button-color-default);
}

.gd-button.hover-inverse:hover .gd-el-label,
.gd-button.hover-inverse:focus-visible .gd-el-label {
   color:var(--gd-button-font-color);
   opacity:1;
}

.gd-button.hover-inverse:hover,
.gd-button.hover-inverse:focus-visible {
   background-color:var(--gd-button-color-hover);
   color:var(--gd-button-font-color);
   border-color:var(--gd-button-color-hover);
}



/* special hover expanding label */
.gd-button.hover-expand-label {
   transition: all  var(--gd-transition-timing);
}


.gd-button.hover-expand-label:hover .gd-el-label,
.gd-button.hover-expand-label:focus-visible .gd-el-label  {
   vertical-align:bottom;
   height:auto;
   bottom:0;
   text-align:left;
   margin-left:10px;
   width:auto;
   opacity:1;
}

.gd-button.hover-expand-label:hover .gd-el-icon,
.gd-button.hover-expand-label:focus-visible .gd-el-icon {
   width:auto;
   margin:0;
}

.gd-button.hover-expand-label:hover,
.gd-button.hover-expand-label:focus-visible  {
   padding:var(--gd-button-padding);
   width:auto;
}


/* for ticket icon in a button rotate it -45 deg */
.gd-button .fa-ticket-simple {
   transform:rotate(-45deg);
}


/* disabled */
.gd-disabled, 
[disabled] {
   pointer-events: none;
   outline:none;
   filter:var(--gd-state-disabled-filter);
   opacity:var(--gd-state-disabled-opacity);
}




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

      
      /* site width */
      /* increase padding on the sides */
      --gd-site-padding-horizontal: 30px;
      --gd-event-header-session-padding-horizontal:20px;

      /* vertical padding */
      --gd-page-content-padding-vertical:60px;


      
      /* nav */
      --gd-site-nav-font-size-1: 16px;

      
		/* padding */
		--gd-event-header-padding-vertical:50px;
   }

}


/* -------------- BREAK POINT -------------- */
@media screen and (min-width:992px) {
   :root {
      
      /* vertical padding */
      --gd-page-content-padding-vertical:60px;
   }
}

/* -------------- BREAK POINT -------------- */
@media screen and (min-width:1200px) {
   :root {
      /* font sizes */
      --gd-font-size-body-1: 20px;
      --gd-font-size-body-2: 16px;
      --gd-font-size-heading-1: 48px;
      --gd-font-size-heading-2: 36px;
      --gd-font-size-heading-3: 24px;

   }

   p.xl {
      font-size: 28px;
   }
}

