/**
 * Activities
 **/

/* The header */

.ggkesrplugin_activitybar { position: relative; display: block; width: 100%; height: 4px; padding: 0; margin: 0; overflow: hidden; 
							background-color: var(--ggMidBlue); }
.ggkesrplugin_activity { position: relative; width: 100%; height: auto; padding: 0; margin: 0; overflow: hidden;
							background-color: var(--ggTableRowHighlight); border: none; }


.ggkesrplugin_activity_covercontainer { position: relative; height: 200px; overflow-x: hidden; overflow-y: hidden; }
.ggkesrplugin_activity_cover { position: absolute; top: 0; right:0; width: calc(100vw / 3); height: 200px;
								background-size: cover; background-origin: border-box; border-left: 3px solid #fff; }
.ggkesrplugin_activity_titlecontainer { position: absolute; left: 0; bottom: 0; width: 100%; height: auto; margin: 0 0 60px 0; }

.ggkesrplugin_activity_title { position: relative; width: 50%; height: auto; }
.ggkesrplugin_activity_title h1 { font-size: 32pt; color: #161b4e; font-weight: 700; text-align: left; padding: 0; margin: 0; line-height: 1.2em; }
.ggkesrplugin_activity_title h2 { font-size: 12pt; color: #161b4e; font-weight: 600; text-align: left; padding: 0; margin: 0; line-height: 1.2em; }

#activity_tabbar { display: none; position: relative; }

@media only screen and (max-width: 799px) {
	.ggkesrplugin_activity_covercontainer { position: relative; height: auto; }
	.ggkesrplugin_activity_cover { position: relative; width: 100%; height: 200px; border-bottom: 3px solid #fff; border-left: none;}
	.ggkesrplugin_activity_titlecontainer { position: relative; width: 100%; height: auto; margin-top: 10px; }
	.ggkesrplugin_activity_title { width: 100%; }	
}


/* Count down timer... Will move from here.. */
.ggkesrplugin_countdown { display: flex; gap: 10px; justify-content: center; font-family: sans-serif; margin-bottom: 25px; }

.ggkesrplugin_countdown .countdown-box { background: var(--ggTableRowHighlight); color: var(--ggDarkBlue); text-align: center;
											padding: 10px 15px; border-radius: 8px; min-width: 80px; }

.ggkesrplugin_countdown .countdown-box .seconds { color: var(--ggMidBlue); }

.ggkesrplugin_countdown .countdown-box .number { font-size: 2em; font-weight: 700; display: block; }

.ggkesrplugin_countdown .countdown-box .label { font-size: 0.8em; margin-top: 5px; display: block; color: var(--ggMidBlue); }


/* Ticket type table */

.ggkesrplugin_tickettypes { width: 100%; border-collapse: collapse; font-family: var(--ggFontPrimary); margin: 0; table-layout: fixed }
.ggkesrplugin_tickettypes tbody tr:hover { cursor: pointer; background-color: var(--ggTableRowHighlight); }


.ggkesrplugin_tickettypes th,
.ggkesrplugin_tickettypes td { padding: 0.75em 1em; text-align: center; border: none; border-bottom: 1px solid var(--ggTableRowB); }

.ggkesrplugin_tickettypes thead th { background-color: var(--ggTableRowA); font-weight: 600; }
.ggkesrplugin_tickettypes tbody td { font-weight: 500; }

.ggkesrplugin_tickettypes .money { text-align: right; width: 8em; }
.ggkesrplugin_tickettypes .name { text-align: left; width: auto; /* takes remaining space */ }

/* Booking tickets, intro and button, used on tickets tab of booking, and booking tab of activity page */
.ggkesrplugin_book_tickets { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ggkesrplugin_book_tickets > div:first-child { flex: 1 1 auto; padding-right: 25px; }
.ggkesrplugin_book_tickets > div:last-child { flex: 0 0 200px; }

.ggkesrplugin_book_tickets button { width: 200px; height: 60px; padding: 10px; border-radius: 20px; margin: 2px; text-decoration: none;
				display: inline-block; border-width: 2px; border-style: solid; font-weight: 600; font-size: 14pt; vertical-align: middle; text-align: center;
					background-color: var(--ggMidBlue)!important; color: #ffffff!important; border-color: var(--ggMidBlue)!important;  }
.ggkesrplugin_book_tickets button:hover { color: var(--ggMidBlue)!important; background-color: #ffffff!important; text-decoration: none; }

/* Ticket booking window/terminal */
#ggkesrplugin_ticket_window { display: none; position: relative; width: 100%; min-height: 20px; margin: 20px 0; padding: 8px 0; 
								border-top: 4px solid var(--ggMidBlue); border-bottom: 4px solid var(--ggMidBlue); }

#ggkesrplugin_ticket_window div { position: relative; width: 100%; heigth: auto; border: 1px solid var(--ggDarkBlue); border-radius: 4px; overflow: hidden; margin: 10px 0; padding: 4px; }

#ggkesrplugin_ticket_window .soldout { color: var(--ggMidBlue); }

#ggkesrplugin_ticket_window table { width: 100%; border-collapse: collapse; font-family: var(--ggFontPrimary); margin: 0; padding: 4px; table-layout: fixed; border: none; 
										background-color: var(--ggTableRowHighlight); }
#ggkesrplugin_ticket_window thead tr { font-size: 12pt; font-weight: 600; color: var(--ggMidBlue); }
#ggkesrplugin_ticket_window tbody tr { font-size: 12pt; font-weight: 500; color: var(--ggDarkBlue); }

#ggkesrplugin_ticket_window tbody tr:not(.soldout):hover { cursor: pointer; background-color: var(--ggDarkBlue); color: var(--ggWhite); }

#ggkesrplugin_ticket_window th { border: none; padding: 10px; }
#ggkesrplugin_ticket_window td { border: none; padding: 15px 10px; }

#ggkesrplugin_ticket_window th:nth-child(1),
#ggkesrplugin_ticket_window td:nth-child(1) { text-align: left; width: 500px; }
#ggkesrplugin_ticket_window th:nth-child(2),
#ggkesrplugin_ticket_window td:nth-child(2) { text-align: right; width: 100px; }
#ggkesrplugin_ticket_window th:nth-child(3),
#ggkesrplugin_ticket_window td:nth-child(3) { width: auto; }

#ggkesrplugin_ticket_window .input-wrapper { position: relative; display: flex; width: 100%; padding: 0; border: 1px solid var(--ggDarkBlue); align-items: center; border-radius: 4px; overflow: hidden; margin: 0 0 20px 0; }
#ggkesrplugin_ticket_window .input-wrapper input { margin: 4px; padding: 8px; border: none; outline: none; width: 100%;
												font-size: 12pt; font-family: var(--ggFontPrimary); background-color: var(--ggTableRowHighlight); }
#ggkesrplugin_ticket_window .ticket-quantity { width: 100px; }

#ggkesrplugin_ticket_window .wrappers { border: none; padding: 0; margin:0; display: flex; flex-wrap: wrap; gap: 10px; }
#ggkesrplugin_ticket_window .postlabel { width: auto; border: none; }
/* Buttons */

#ggkesrplugin_ticket_window .book { width: 200px; height: 60px; padding: 10px; border-radius: 20px; margin: 2px; text-decoration: none;
				display: inline-block; border-width: 2px; border-style: solid; font-weight: 600; font-size: 14pt; vertical-align: middle; text-align: center;
					background-color: var(--ggRainbowsGreen)!important; color: #ffffff!important; border-color: var(--ggRainbowsGreen)!important;  }

#ggkesrplugin_ticket_window .book:hover { color: var(--ggRainbowsGreen)!important; background-color: #ffffff!important; text-decoration: none; }

#ggkesrplugin_ticket_window .cancel { width: 200px; height: 60px; padding: 10px; border-radius: 20px; margin: 2px; text-decoration: none;
				display: inline-block; border-width: 2px; border-style: solid; font-weight: 600; font-size: 14pt; vertical-align: middle; text-align: center;
					background-color: var(--ggRainbowsOrange)!important; color: #ffffff!important; border-color: var(--ggRainbowsOrange)!important;  }

#ggkesrplugin_ticket_window .cancel:hover { color: var(--ggRainbowsOrange)!important; background-color: #ffffff!important; text-decoration: none; }

/* Booking tickets table */
.ggkesrplugin_tickets { width: 100%; border-collapse: collapse; font-family: var(--ggFontPrimary); margin: 0; padding: 0; table-layout: fixed; border: none; }
.ggkesrplugin_tickets thead tr { font-size: 10pt; font-weight: 500; color: var(--ggWhite); background-color: var(--ggMidBlue); }
.ggkesrplugin_tickets tbody tr { font-size: 10pt; font-weight: 500; color: var(--ggDarkBlue); }

.ggkesrplugin_tickets .total { font-size: 12pt; font-weight: 600; background-color: var(--ggTableRowHighlight); color: var(--ggBlack); }

.ggkesrplugin_tickets tbody tr:not(.total):nth-child(even) { background-color: var(--ggTableRowA); }
.ggkesrplugin_tickets tbody tr:not(.total):nth-child(odd) { background-color: var(--ggTableRowB); }

.ggkesrplugin_tickets th { padding: 15px 4px; border: none; }
.ggkesrplugin_tickets td { border: none; padding: 10px 4px; }
.ggkesrplugin_tickets .total td { padding: 10px 4px; }

.ggkesrplugin_tickets th:nth-child(1) { text-align: center; }
.ggkesrplugin_tickets td:nth-child(1):not([colspan]) { text-align: right; padding-right: 10px; }

.ggkesrplugin_tickets th:nth-child(1),
.ggkesrplugin_tickets td:nth-child(1) { width: 60px;  }

.ggkesrplugin_tickets th:nth-child(2),
.ggkesrplugin_tickets td:nth-child(2) { text-align: left; width: 420px; }

.ggkesrplugin_tickets td[colspan] { text-align: left; }

.ggkesrplugin_tickets th:nth-child(3),
.ggkesrplugin_tickets td:nth-child(3) { text-align: right; width: 120px; padding-right: 10px; }

.ggkesrplugin_tickets th:nth-child(4),
.ggkesrplugin_tickets td:nth-child(4) { width: auto; }

.ggkesrplugin_tickets .ticket-cancel { width: auto; height: auto; padding: 5px; border-radius: 5px; margin: 2px; text-decoration: none;
				display: inline-block; border-width: 2px; border-style: solid; font-weight: 600; font-size: 12pt; vertical-align: middle; text-align: center;
					background-color: var(--ggMidBlue)!important; color: #ffffff!important; border-color: var(--ggMidBlue)!important;  }
.ggkesrplugin_tickets .ticket-cancel:hover { color: var(--ggMidBlue)!important; background-color: #ffffff!important; text-decoration: none; }

@media (max-width: 800px) {
	#ggkesrplugin_ticket_window th:nth-child(1),
	#ggkesrplugin_ticket_window td:nth-child(1) { width: 70%; }
	#ggkesrplugin_ticket_window th:nth-child(2),
	#ggkesrplugin_ticket_window td:nth-child(2) { width: 30%; }	
	#ggkesrplugin_ticket_window th:nth-child(3),
	#ggkesrplugin_ticket_window td:nth-child(3) { display: none; }	
	
	.ggkesrplugin_book_tickets { flex-direction: column; align-items: stretch; }
	.ggkesrplugin_book_tickets > div:first-child { padding-right: 0px; }	
	.ggkesrplugin_book_tickets > div:last-child { flex: none; width: auto; margin-top: 8px; }	
	
	.ggkesrplugin_tickets .space{ display: none; }
	
.ggkesrplugin_tickets th:nth-child(1),
.ggkesrplugin_tickets td:nth-child(1) { width: 15%; }

.ggkesrplugin_tickets th:nth-child(2),
.ggkesrplugin_tickets td:nth-child(2) { width: 60%; }

.ggkesrplugin_tickets th:nth-child(3),
.ggkesrplugin_tickets td:nth-child(3) { width: 25%; }
	
}


/* Select unit booking process table */

.ggkesrplugin_event_levels { width: 100%; border-collapse: separate; border-spacing: 2px 2px; background: transparent;
											font-family: var(--ggFontPrimary); table-layout: fixed }

.ggkesrplugin_event_levels .row-active:hover { cursor: pointer; background-color: var(--ggTableRowHighlight); position: relative; }
.ggkesrplugin_event_levels .row-inactive { cursor: not-allowed; } 

.ggkesrplugin_event_levels th,
.ggkesrplugin_event_levels td { text-align: center; border: none; vertical-align: top; }

.ggkesrplugin_event_levels .unit { width: 200px; }
.ggkesrplugin_event_levels .details { text-align: left; width: auto; padding: 10px; /* takes remaining space */ }

.ggkesrplugin_event_levels .section_logo { width: 100%; height: 130px; padding: 10px; display: flex; align-items: center; justify-content: center; }

.ggkesrplugin_event_levels tr:nth-child(even) { background: var(--ggTableRowA); }
.ggkesrplugin_event_levels tr:nth-child(odd) { background: var(--ggTableRowB); }

.ggkesrplugin_event_levels h4 { font-size: 16pt; font-weight: 600; color: var(--ggBlack); margin: 4px 0 4px 0; line-height: 1.2; }
.ggkesrplugin_event_levels h5 { font-size: 12pt; font-weight: 500; color: var(--ggBlack); margin: 0px 0 4px 0; line-height: 1.2; } 
.ggkesrplugin_event_levels p { font-size: 12pt; font-weight: 600; color: var(--ggBlack); margin: 10px 0 4px 0; line-height: 1.2; } 

/* Joint participation, levels */

.ggkesrplugin_linkedlevels { position: relative; background-color: var(--ggTableRowHighlight); margin: 4px; padding: 2px; min-height: 80px; }
.ggkesrplugin_linkedlevels .level { position: relative; width: auto; height: auto; padding: 8px; margin: 4px; border: 2px dashed;
										display: inline-flex; align-items: center; justify-content: center; }
.ggkesrplugin_linkedlevels .level p { color: inherit; font-size: 12pt; font-weight: 600; line-height: 1.2; padding: 2px; margin-right: 16px; }
.ggkesrplugin_linkedlevels .icon { display: inline; width: 40px; height: 40px; };
.ggkesrplugin_linkedlevels .icon img,
.ggkesrplugin_linkedlevels .icon svg { max-width:100%; max-height: 100%; width: auto; height:auto; position: relative; }

.ggkesrplugin_linkedlevels .delete { position: absolute; top: -4px; right: -4px; }
.ggkesrplugin_linkedlevels button { color: var(--ggWhite); background-color: var(--ggRainbowsRed); border: none; border-radius: 50%; width: 26px; height: 26px;
					display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-size: 12px; font-weight: 600; line-height: 1; }


/* Register, attendee information, database field rows */

.ggkesrplugin_database_rows { position: relative; width: 100%; }

.ggkesrplugin_database_rows .dbrow_container { position: relative; width: 100%; margin-bottom: 4px; padding: 4px; border-radius: 4px; }
.ggkesrplugin_database_rows .saved { border: 2px solid var(--ggTableRowB); }
.ggkesrplugin_database_rows .unsaved { border: 2px solid var(--ggBrowniesOrange); }
.ggkesrplugin_database_rows .blank { border: 2px solid var(--ggTableRowB); }
.ggkesrplugin_database_rows .is-deleted { opacity: 0.4; }


.ggkesrplugin_database_rows .dbrow_bar { position: relative; width: 100%; padding: 4px; background-color: var(--ggTableRowA);
											display: flex; justify-content: flex-end; align-items: center; gap: 0.5em; } 
.ggkesrplugin_database_rows .dbrow_bar p { font-size: 10pt; font-weight: 600; color: var(--ggDarkBlue); line-height: 1.2; padding: 0; margin: 0; } 

.ggkesrplugin_database_rows .hidden { display: none; }
.ggkesrplugin_database_rows .dbrow_delete { width: auto; }

.ggkesrplugin_database_rows .delete-icon {
    color: var(--ggWhite);
    border: none;
    border-radius: 50%;

    width: 28px;
    height: 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    font-size: 16px; font-weight: 600;
    line-height: 1;
}

.ggkesrplugin_database_rows .delete-icon.delete { background: var(--ggRainbowsRed); }
.ggkesrplugin_database_rows .delete-icon.restore { background: var(--ggMidBlue); }
	
.ggkesrplugin_database_rows .delete-icon:hover {
    background: var(--ggDarkBlue);
}

.ggkesrplugin_database_rows .dbrow { width: 100%; margin: 0; padding: 4px; display: flex; flex-wrap: wrap; gap: 10px; background-color: var(--ggTableRowB); }


.ggkesrplugin_database_rows .dbfield { position: relative; display: flex; flex-direction: column; flex: 1 1 100%; }

@media (min-width: 700px) {
    .ggkesrplugin_database_rows .dbfield {
        flex: 1 1 calc(50% - 10px);
    }
}

@media (min-width: 1000px) {
    .ggkesrplugin_database_rows .dbfield {
        flex: 1 1 calc(33.333% - 10px);
    }
}

.ggkesrplugin_database_rows .dbfield {
    flex-grow: 1;
}

.ggkesrplugin_database_rows .dbfielddata { position: relative; display: flex; width: 100%;
												padding: 0; border: 1px solid var(--ggDarkBlue); align-items: center; border-radius: 2px; overflow: hidden; margin: 0; }

.ggkesrplugin_database_rows .dbfielddata input { margin: 2px; padding: 4px; border: none; outline: none; width: 100%;
												font-size: 12pt; font-family: var(--ggFontPrimary); background-color: var(--ggTableRowHighlight); }
.ggkesrplugin_database_rows .dbfielddata textarea { margin: 2px; padding: 4px; border: none; outline: none; width: 100%; line-height: 1.7; resize: none;
											font-size: 12pt; font-family: var(--ggFontPrimary); background-color: var(--ggTableRowHighlight); box-sizing: border-box; }

.ggkesrplugin_database_rows .dbfielddata ul { display: flex; width: 100%; list-style: none; padding: 4px; margin: 2px; flex-wrap: wrap; gap: 0.75rem 1.5rem; 
 												background-color: var(--ggTableRowHighlight); }
.ggkesrplugin_database_rows .dbfielddata li { display: block; float: none; width: auto; padding: 0; margin: 0; }

.ggkesrplugin_database_rows .dbfielddata input[type="checkbox"] { width: 16px; height: 16px; margin: 2px; cursor: pointer; accent-color: var(--ggMidBlue); }

.ggkesrplugin_database_rows .dbfielddata label { font-size: 12pt; font-family: var(--ggFontPrimary); color: var(--ggDarkBlue);
											line-height: 1.2; margin: 2px; padding: 0; text-align: left; font-weight: 500; }

.ggkesrplugin_database_rows .checkbox-wrapper { border: none; xalign-items: center; overflow: hidden; margin: 0 0 20px 0; }



.ggkesrplugin_database_rows .dbfieldlabel { position: relative; width: 69%; max-width: 360px; padding: 2px; margin: 0;
													align-items: flex-start; }
.ggkesrplugin_database_rows .dbfieldlabel label { display: block; font-size: 12pt; font-family: var(--ggFontPrimary); color: var(--ggDarkBlue);
											line-height: 1.2; margin: 0; padding: 0; text-align: left; font-weight: 500; }

/* Form titles and buttons */

/* Level title with optional edit and leave buttons */
.ggkesrplugin_content .title_container { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.ggkesrplugin_content .title_container .title { flex: 1 1 100%; } /* Default, for no buttons */
.ggkesrplugin_content .title_container .buttons { flex: 0 0 310px; text-align: right; }
/* When buttons exist AND screen ≥1000px */
@media (min-width: 1000px) {
  .ggkesrplugin_content .title_container:has(.buttons) .title { flex: 1 1 auto; }
  .ggkesrplugin_content .title_container .buttons { flex: 0 0 310px; }
}
/* On narrow screens (<1000px): stack */
@media (max-width: 999px) {
  .ggkesrplugin_content .title_container .title { flex: 1 1 100%; text-align: left; }
  .ggkesrplugin_content .title_container .buttons { flex: 1 1 100%; text-align: right; }
}

/**
 * Event manager
 **/

/* Defines the layout for the event management overview section, that shows numbers of tickets allocated. */

/* Main container, children in rows of 2 */
.manage_event_ticket_numbers { postion: relative; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.manage_event_ticket_numbers .ticket { margin: 0; padding: 0; display: flex; align-items: center; gap: 12px; min-width: 0; }

.manage_event_ticket_numbers .ticket .value { display: inline-flex; width: 50px; height: 50px; align-items: center; justify-content: center; border-radius: 4px;
				padding: 0; background: var(--ggTableRowHighlight); color: var(--ggDarkBlue); font-weight: 600; font-size: 20px; flex-shrink: 0; }
.manage_event_ticket_numbers .ticket .name { flex: 1; word-break: break-word; margin: 0; padding: 0; min-width: 0; }

.manage_event_ticket_numbers .ticket h4 { font-size: 12pt; font-weight: 600; line-height: 1.2; color: var(--ggBlack); margin: 0; padding: 0; 
								white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.manage_event_ticket_numbers .ticket p { font-size: 10pt; font-weight: 500; line-height: 1.2; color: var(--ggDarkBlue); margin: 0; padding: 0; }

.manage_event_ticket_numbers .gauge,
.manage_event_ticket_numbers .nogauge { display: flex; min-height: 70px; margin: 0; padding: 0; align-items: center; justify-content: center;  }

/* Table of bookings */
.manage_event_bookings { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

.manage_event_bookings table { width: 100%; border-collapse: collapse; font-family: var(--ggFontPrimary); margin: 0; table-layout: fixed }
.manage_event_bookings tbody tr:hover { cursor: pointer; background-color: var(--ggTableRowHighlight); }

.manage_event_bookings th,
.manage_event_bookings td { padding: 0.75em 1em; text-align: left; border: none; border-bottom: 1px solid var(--ggTableRowB); }

.manage_event_bookings thead th { background-color: var(--ggTableRowA); font-weight: 600; }
.manage_event_bookings tbody td { font-weight: 500; }

.manage_event_bookings .name { }
.manage_event_bookings .value { width: 50px; text-align: right; }

@media (max-width: 800px) {
	/* Main container, in stacked mode */
    .manage_event_ticket_numbers { grid-template-columns: 1fr; gap: 0px; }
	.manage_event_ticket_numbers .gauge  { min-height: 50px; margin-bottom: 15px; align-items: flex-end; justify-content:flex-end;  }		
	.manage_event_ticket_numbers .nogauge { min-height: 0px; margin-bottom: 15px; }	
}


/**
 * Old stuff
 **/

/* Styles for Activity pages */
.ggkesrplugin_header_activity { position: relative; min-width: 300px; width:100%; height: 300px; padding: 0; margin: 0;
								background-position: center; background-repeat: no-repeat; background-size: cover; }
/* This one is relative to ggkesrplugin_header_section but -250 so it overlaps it. */
.ggkesrplugin_header_activity_container { position: relative; height: 100%; display: flex; justify-content: flex-end; }
.ggkesrplugin_header_activity_badge { position: relative; align-self:center; width: 50%; min-width: 200px; max-width: 290px;
										height: auto; max-height: 290px;
										padding: 0; margin: 0; overflow: hidden; }
.ggkesrplugin_header_activity_badge img { max-width:100%; max-height:100%; position: relative; margin: auto; }


@media only screen and (max-width: 600px) {
	.ggkesrplugin_header_activity { position: relative; min-width: 300px; width:100%; height: 200px; padding: 0; margin: 0;
									background-position: center; background-repeat: no-repeat; background-size: cover; }

	.ggkesrplugin_header_activity_badge { position: relative; align-self:center; width: 50%; min-width: 100px; max-width: 190px;
										height: auto; max-height: 190px; padding: 0; margin: 0; overflow: hidden; }	
	
}

.ggkesrplugin_section_content { margin-top: 10px; margin-bottom: 30px; }

.ggkesrplugin_section_content h1,h2,h3,h4,h5,h6,h7,p,li,a { font-family: var(--ggFontPrimary)!important; }
.ggkesrplugin_section_content h1,h2,h3,h4,h5,h6,h7 { color: var(--ggDarkBlue); }
.ggkesrplugin_section_content h1,h2 { margin-top: 30px; margin-bottom: 25px; }
.ggkesrplugin_section_content h3,h4 { margin-top: 20px; margin-bottom: 15px; }
.ggkesrplugin_section_content p { margin-top: 10px; margin-bottom: 15px; }
.ggkesrplugin_section_content p,li { color: #000000; }

.ggkesrplugin_section_content h1 { font-weight: 600; font-size: 26pt; }
.ggkesrplugin_section_content h2 { font-weight: 600; font-size: 22pt; }
.ggkesrplugin_section_content h3 { font-weight: 400; font-size: 18pt; }
.ggkesrplugin_section_content h4 { font-weight: 200; font-size: 16pt; }

.ggkesrplugin_section_boxes_background { background-color: #dddddd; padding: 10px 0px 10px 0px; }
.ggkesrplugin_section_boxes { position: relative; width: 100%; height: auto; padding: 0; margin: 0; flex: 1 0 300px; 
						  display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); grid-auto-rows: minmax(0, 1fr); grid-gap: 20px; }


a.ggkesrplugin_section_box { text-decoration: none; background-color: #ffddaa; width: 100%; height: 100%; }
a.ggkesrplugin_section_box:hover { text-decoration: none; }

.ggkesrplugin_section_box_container { position: relative; max-width: 600px; background-color: #ffffff; overflow: hidden;
										padding: 0; margin: 10px 0px 10px 0px;
										border-bottom-color: #007bc4; border-bottom-width: 5px; border-bottom-style: solid; }
.ggkesrplugin_section_box_container h2 { font-size: 16pt; text-align: left; font-weight: 800; color: #000000!important; font-family: var(--ggFontPrimary)!important; }
.ggkesrplugin_section_box_container h4 { font-size: 12pt; text-align: left; font-weight: 400; color: #000000!important; font-family: var(--ggFontPrimary)!important; }

.ggkesrplugin_section_box_container:hover { background-color: #007bc4; }
.ggkesrplugin_section_box_container:hover h2 { color: #ffffff!important; text-decoration: none; }
.ggkesrplugin_section_box_container:hover h4 { color: #ffffff!important; text-decoration: none; }

.ggkesrplugin_section_box_image { position: relative; width: 100%; height: 150px; display: flex; justify-content: center; align-items: center;
									background-repeat: no-repeat; background-position: center; background-size: cover; }
.ggkesrplugin_section_box_image img { max-width:90%; max-height: 90%; width: auto; height:auto; position: relative; }
.ggkesrplugin_section_box_text { position: relative; width: 100%; padding: 6px; margin: 0; }

/* .ggkesrplugin_section_box_text a { display: block; left: 0px; top: 0px; width: 100%; height: 100%; margin: auto; margin-left: 50%; background-color: #dddddd!important; }
*/



.ggkesrplugin_footer_section { position: relative; min-width: 300px; width: 100%; height: auto;
								padding: 0; margin: 0; padding-bottom: 30px; text-align: center; justify-content: center; overflow: hidden; }
.ggkesrplugin_footer_section_links { postion: relative; width: 100%; height: auto; text-align: center; }
.ggkesrplugin_footer_section_links ul { list-style-type: none; margin: 10px 0px 20px 0px; padding: 0; text-align: center; }
.ggkesrplugin_footer_section_links li { white-space: nowrap; display: inline; padding: 10px; font-size: 12pt; }
.ggkesrplugin_footer_section_links a { text-decoration: none; font-weight: 400; font-size: 16pt; }
.ggkesrplugin_footer_section_links a:hover { font-weight: 400;  font-size: 16pt; text-decoration: underline; }


.ggkesrplugin_footer_section_connector { position: relative; width: 200px; margin-left: auto; margin-right: auto; }
.ggkesrplugin_footer_section_connector img { max-width:100%; max-height:auto; position: relative; margin: auto;}

.ggkesrplugin_introduction_activity { position: relative; min-width: 300px; width: 100%; padding: 20px 0px 20px 0px!important; margin: 0!important; }
.ggkesrplugin_introduction_activity h1 { font-size: 36pt; display: inline-block; margin: 0; padding: 0; }
.ggkesrplugin_introduction_activity h2 { font-size: 24pt; display: inline-block; margin: 0; margin-right: 10px; padding: 0; }

.ggkesrplugin_introduction_activity ul { list-style-type: none; margin: 0; padding: 0; text-align: left; }
.ggkesrplugin_introduction_activity li { white-space: nowrap; display: inline-block; padding: 0; margin: 0; margin-right: 10px; }
.ggkesrplugin_introduction_activity img { width: 50px; height: 50px; margin: auto; }

@media only screen and (max-width: 600px) {
	.ggkesrplugin_introduction_activity h1 { font-size: 30pt; display: inline-block; margin-right: 10px; }
	.ggkesrplugin_introduction_activity h2 { font-size: 18pt; display: inline-block; margin-right: 10px; }	
	
}




.ggkesrplugin-booking-form { width: 100%; height: auto; padding: 20px 0px 20px 0px; }
.ggkesrplugin-booking-form p { font-size: 12pt; text-align: left; font-weight: 500; }
.ggkesrplugin-booking-form label { font-size: 12pt; font-weight: 800px; }
.ggkesrplugin-booking-form textarea { width: 100%; max-width: 800px; font-size: 12pt; font-weight: 500; font-family: var(--ggFontPrimary);
												min-height: 10em; resize: none; border: 2px solid var(--ggDarkBlue); background-color: #fff; padding: 8px; 
												color: #000; }
.ggkesrplugin-booking-form input { width: 100%; max-width: 600px; color: #000; border: 2px solid var(--ggDarkBlue); background-color: #fff; padding: 8px; 
											font-size: 12pt; font-weight: 500; font-family: 'Poppins', sans-serif; }
.ggkesrplugin-booking-form select { box-sizing: border-box; border: 2px solid #000; background-color: #fff; padding: 8px; }

.ggkesrplugin-booking-form table { width: 100%; border: none; }
.ggkesrplugin-booking-form td:first-child { max-width: 100px; }
.ggkesrplugin-booking-form button { width: auto; height: auto; min-height: 30px; padding: 10px; border-radius: 20px; 
				margin: 2px; display: inline-block; font-weight: 600; font-size: 14pt; vertical-align: middle; text-align: center;
				color: #ffffff!important; background-color: var(--ggMidBlue)!important; border-color: var(--ggMidBlue)!important; border-width: 2px; border-style: solid; text-decoration: none; }



.xggkesr-divisions { position: relative; display: flex; flex-direction: row; flex-wrap: wrap; width:100%; height: auto; padding: 0; margin: 0; }
.xggkesr-divisions-column { position: relative; display: flex; flex-direction: column; flex-basis: 100%; flex: 1; min-width: 300px; width: 50%; height: auto; }
.xggkesr-divisions-column ul { list-style-type: none; margin: 0; padding: 0; }