/* root */

:root {
   /* -------------- body content font styles -------------- */

   --gd-bb-neon: #ff4baf;
   --gd-bb-pink: #FFC9E7;
   --gd-bb-beige: #faf4f4;
   --gd-bb-green: #595900;
   --gd-bb-burgundy: #912064;
   --gd-site-header-height: auto;

   /* font family */   
   --gd-font-family-sans-serif:  "poppins", helvetica, arial, sans-serif;
   --gd-font-family-serif: "Times New Roman", times, serif;
   
   /* font color for light bg */
   --gd-font-color-dk:#111; /* default text color */
   --gd-font-color-dkr:#000; /* bold text color */
   
   /* font color  for dark bg */
   --gd-font-color-lt:rgb(255 255 255 / 80%); /* default text color */ 
   --gd-font-color-ltr:rgb(255 255 255 / 100%); /* 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: 32px;
   --gd-font-size-heading-2: 24px;
   --gd-font-size-heading-3: 20px;
   --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:950px;
   --gd-content-width-max-2:750px;
   --gd-content-width-max-3:600px;
   
   
   
   
   /* -------------- links and buttons -------------- */
   --gd-link-color-default:#912064; /* default link color */
   --gd-link-color-hover:#b92980; /* hover link color */
   --gd-button-color-default: #ff4baf; /* default button color */
   --gd-button-color-hover: #ff5cc5; /* hover button color */
   --gd-button-font-color: #fff; /* button fill text color */
   --gd-button-font-size: 16px;
   --gd-button-line-height: 20px;
   --gd-button-padding: 11px 20px;
   --gd-button-height:44px;
   --gd-button-width-min:160px;
   --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: #b00;
   --gd-state-error-color: #b00;
   --gd-state-success-color: #339043;
   --gd-state-green:#339043;
   --gd-state-yellow:#c27f1f;
   --gd-state-red:#b00;
   
   
   
   /* -------------- 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: 5px; /* for inner nested blocks - not for buttons */
   --gd-border-color-dkr:#c0c0c0; /* border color */
   --gd-border-color-dk:#eee; /* 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: #c0c0c0 /* border around sessions in event header */
   
   
   /* borders and shades on dark background */;
   --gd-border-color-lt: rgb(255 255 255 / 30%); 
   --gd-bg-color-ltr: rgb(255 255 255 / 20%); /* for header footer background shade */
   --gd-bg-color-lt: rgb(255 255 255 / 15%);  /* for general row cell background shade */
   --gd-bg-color-lt-alt:rgb(255 255 255 / 10%); /* for alt row cell background shade */
   --gd-bg-color-body: #fff; /* 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: 5%;
   --gd-site-width-max: 1400px; 
   --gd-site-width-min: 280px;
   
   
   /* padding */
   --gd-site-header-padding-vertical:10px;
   --gd-event-header-padding-vertical:25px;
   --gd-event-header-session-padding-horizontal:10px;
   --gd-page-content-padding-vertical:60px;
   --gd-footer-social-padding-vertical: 40px;
   --gd-footer-options-padding-vertical: 40px;
   
   
   /* -------------- nav -------------- */

   --gd-nav-toggle-color: #FFF;
   --gd-nav-toggle-bg-color: #ff4baf;
   --gd-site-nav-bg-color:#ff4baf;
   --gd-site-nav-border-color: rgb(255 255 255 / 30%);
   --gd-site-nav-height-max: 100dvh;
   
   /* for links that use opacity - nav */
   --gd-site-nav-link-opacity: 0.7;
   --gd-site-nav-link-opacity-hover: 1;
   --gd-site-nav-font-size-1: 18px;
   --gd-site-nav-link-font-color:#fff;
   --gd-site-nav-link-bg-default: rgb(255 255 255 / 85%);
   --gd-site-nav-link-bg-hover: rgb(255 255 255 / 100%);
   --gd-site-nav-link-border:transparent;
   
   
   
   /* -------------- event reg  header -------------- */
   --gd-site-header-bg-color: #fff;
   --gd-site-header-logo-width: 40px;
   --gd-app-header-bg-color: #000;
   --gd-event-header-bg-color: transparent;
   --gd-event-header-column-gap: 20px;
   --gd-event-button-border-color:#fff;
   --gd-event-button-font-color:#fff;
   
   
   /* --------------  form -------------- */
   --gd-form-font-family: inherit;
   --gd-form-font-size-1: 14px; /* default font size for label, fields */
   --gd-form-font-size-2: 12px; /* font size for error hints and tool tips */
   --gd-form-line-height: inherit;
   --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: 5px;
   --gd-form-field-border-color: #c0c0c0; 
   --gd-form-field-bg-color: #f7f7f7;
   
   
   /* ---------- focus visible outline color ----------- */
   --gd-focus-outline-color-1: #0075f9; /* main outline color */
   --gd-focus-outline-color-2: rgb(255 255 255 / 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 {
   box-sizing: border-box;
}

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

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



/* ------- GENERAL TEXT STYLES ------ */
html {
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scrollbar-gutter: stable;
	overscroll-behavior: none;
}

body {
   background-color:#000;
   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);
}

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

.gd-heading-1 {
   color:var(--gd-bb-neon);
   font-family:var(--gd-font-family-sans-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;
}

.gd-heading-2 {
   font-family:var(--gd-font-family-sans-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;
}

.gd-heading-3 {
   font-family:var(--gd-font-family-sans-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:700;
}

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

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

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



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

[class*="gd-heading"].serif {
   font-family:var(--gd-font-family-sans-serif);
}

[class*="gd-heading"].orange {
   color:var(--gd-bb-neon);
}


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

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

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

.text-center,
.gd-app-reg .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%;
   height:auto;
}


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

sup {
	vertical-align:top;
}

/* 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:'\25cf';
   position:absolute;
   left:0;
   transform:scale(0.6);
}

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


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


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

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

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


/* button reset */
button {
   font-family:var(--gd-font-family-sans-serif);
   appearance: auto;
   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-flow:row 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);
   overflow:hidden;
   white-space:nowrap;
   text-overflow:ellipsis;
}




/* default button */
.gd-button {
   font-family:inherit;
   text-decoration:none;
   font-size:var(--gd-button-font-size);
   color:var(--gd-button-font-color);
   line-height:var(--gd-button-line-height);
   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 1px;
   display:inline-flex;
   justify-content:center;
   cursor:pointer;
   position:relative;
   overflow:hidden;
   white-space:nowrap;


}


.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-color-default);
   border-color:var(--gd-button-color-default);
}


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


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



.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;
   inset:0;
   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 */
.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 {
      --gd-font-size-heading-1: 38px;
   	--gd-font-size-heading-2: 26px;
	
      /* increase padding on the sides */
      --gd-site-padding-horizontal: 40px;

	}

}



/* -------------- BREAK POINT -------------- */
@media screen and (min-width:1200px) {
   :root {
      /* font sizes */
      --gd-font-size-heading-1: 48px;
	   --gd-site-padding-horizontal: 60px;

   }

   

   
}

