/* root */

:root {


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

/* franki colors */
--franki-bright-yellow:#FFE500;
--franki-light-yellow: #FEFFB8;
--franki-off-white: #FFFFEC;
--franki-charcoal: #1E1E1E;
--franki-gold: #907502;
--franki-border-radius-1:15px;
--franki-border-radius-2:6px;

/* font family */   
--gd-font-family-sans-serif: helvetica, arial, sans-serif;
--gd-font-family-serif: georgia, "Times New Roman", serif;

/* font color for light bg */
--gd-font-color-dk:#505050; /* 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: 14px; /* primary page content */
--gd-font-size-body-2: 12px; /* secondary content / aside */
--gd-font-size-body-3: 12px; /* tertiary content / table column headers / error/ fine print */
--gd-font-size-heading-1: 26px;
--gd-font-size-heading-2: 20px;
--gd-font-size-heading-3: 18px;
--gd-font-size-heading-4: 16px;
--gd-font-size-heading-5: 14px;

--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.7;
--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:#000000; /* default link color */
--gd-link-color-hover:#1e1e1e; /* hover link color */
--gd-button-color-default: #000000; /* default button color */
--gd-button-color-hover: #1e1e1e; /* hover button color */

--gd-button-font-color: #ffffff; /* button fill text color */
--gd-button-font-size: 14px;
--gd-button-line-height: 20px;
--gd-button-padding: 11px 20px;
--gd-button-height:44px;
--gd-button-width-min:120px;
--gd-button-padding-icon-only: 11px 0px;
--gd-button-border-radius:6px;
--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-icon-size-heading: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: 5px; /* for inner nested blocks - not for buttons */
--gd-border-color-dkr:#000000; /* 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 */



/* 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: 150px;
--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: 1260px;
--gd-site-width-min: 280px;


/* padding */
--gd-site-header-padding-vertical:25px;
--gd-event-header-padding-vertical:25px;
--gd-event-header-session-padding-horizontal:10px;
--gd-page-content-padding-vertical:40px;
--gd-footer-social-padding-vertical: 20px;
--gd-footer-options-padding-vertical: 40px;


/* -------------- nav -------------- */
--gd-nav-toggle-color: #000000;
--gd-nav-toggle-bg-color: transparent;
--gd-site-nav-bg-color:#000000;
--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;




/* -------------- 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: 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: 20px;
--gd-form-label-padding: 5px 0;
--gd-form-label-line-height: 20px;
--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: 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;

overscroll-behavior: none;
}
/* end root */


html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, 
address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, 
b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, 
thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, 
hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
	display: block;
}

*, *: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 {
   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:0;
   margin:0;
   min-width:var(--gd-site-width-min);
}


.gd-heading-1 {
   font-weight:normal;
   font-size:var(--gd-font-size-heading-1);
   margin: var(--gd-margin-heading-1);
   line-height:var(--gd-line-height-heading-1);
}

.gd-heading-2 {
   font-weight:bold;
   font-size:var(--gd-font-size-heading-2);
   margin: var(--gd-margin-heading-2);
   line-height:var(--gd-line-height-heading-2);
}

.gd-heading-3 {
   font-weight:bold;
   font-size:var(--gd-font-size-heading-3);
   margin: var(--gd-margin-heading-3);
   line-height:var(--gd-line-height-heading-3);
}

.gd-heading-4 {
   font-weight:bold;
   font-size:var(--gd-font-size-heading-4);
   margin: var(--gd-margin-heading-4);
   line-height:var(--gd-line-height-heading-4);
}

.gd-heading-5 {
   font-weight:bold;
   font-size:var(--gd-font-size-heading-5);
   margin: var(--gd-margin-heading-5);
   line-height:var(--gd-line-height-heading-5);
}

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

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

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


[class*="gd-heading-icon"] {
   max-width:100%;
   position:relative;
}

[class*="gd-heading-icon"] .gd-el-icon {
   display:block;
   text-align:center;
   margin:0 auto 20px auto;
   height:50px;
   width:50px;
   line-height:60px;
   font-size:30px;
   border-radius:50%;
   color:var(--gd-font-color-dkr);
}



p {
   /* max-width:var(--gd-content-width-max-2); */
   margin: 0 0 calc( var(--gd-font-size-body-1) * var(--gd-line-height-body-1));
}


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

a b, a strong {
   color:inherit;
}

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

.text-normal {
   font-weight:normal;
}

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

.no-margin-bottom {
   margin-bottom:0;
}

.no-margin {
   margin:0;
}


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

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;
   clip: rect(0,0,0,0);
   border: 0;
}


/* 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, button {
	-webkit-tap-highlight-color:rgba(255, 255, 255, 0.1);
}

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;
   display:inline-flex;
   flex-wrap: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);
   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;
}

/* 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 */
.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 {
      /* site width */
      /* increase padding on the sides */
      --gd-site-padding-horizontal: 30px;
      --gd-event-header-session-padding-horizontal:20px;


      /* font sizes */
      --gd-font-size-heading-1: 30px;

   }

}


