/* Styles for GGKESR plugin */

/* Link types */
.block_link { width: 100%; height: auto; display: block; padding: 15px 5px 15px 5px; margin-bottom: 15pt; border-radius: 5px;  }
.button_link { 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; line-height:normal!important; }
.button_link:hover { color: var(--ggMidBlue)!important; background-color: #ffffff!important; text-decoration: none; }

.sys_button_link { 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(--ggDarkBlue)!important; border-color: var(--ggDarkBlue)!important; border-width: 2px; border-style: solid; text-decoration: none; line-height:normal!important; }
.sys_button_link:hover { color: var(--ggDarkBlue)!important; background-color: #ffffff!important; text-decoration: none; }

/* Animated busy 'button or link' */
/* size_shape can be used with button, link or div, so that animated div is same as button */
.sys_button { width: 200px; height: 50px; padding: 10px; border-radius: 20px; margin: 2px;
				display: inline-block; border-width: 2px; border-style: solid; 
				font-weight: 600; font-size: 14pt; vertical-align: middle; text-align: center;
					background-color: var(--ggDarkBlue)!important; color: #ffffff!important; border-color: var(--ggDarkBlue)!important; text-decoration: none; }
.sys_button:hover { color: var(--ggDarkBlue)!important; background-color: #ffffff!important; text-decoration: none; }
/* replacement system for link or button when disabled */
.sys_button_disabled { width: 200px; height: 50px; padding: 10px; border-radius: 20px; margin: 2px;
				display: inline-block; border-width: 2px; border-style: solid; 
				font-weight: 600; font-size: 14pt; vertical-align: middle; text-align: center;
					background-color: var(--ggLightBlue)!important; color: #007bc4!important; border-color: var(--ggLightBlue)!important; text-decoration: none; }
/* replacement divs that appear when link or button hidden */
.sys_button_outerdiv { position: relative; width: 200px; height: 50px; overflow: hidden; padding: 0; margin: 2px; border-radius: 20px;
						border-width: 2px; border-style: solid; background-color: var(--ggDarkBlue)!important; display: none; }
.sys_button_innerdiv { width: 100%; height: 100%; background-image: linear-gradient(to right, var(--ggDarkBlue), var(--ggMidBlue)); animation: slide infinite .75s linear; }
@keyframes slide {
  from{
    margin-left: -200px;
  }
  to{
    margin-left: 200px;
  }
}

.smallbutton_link { width: auto; height: auto; display: inline-block; min-height: 10px; padding: 3px; line-height: 1.2;
				margin: 0; font-weight: 700; font-size: 10pt; 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; cursor: pointer; }
.smallbutton_link:hover { color: var(--ggMidBlue)!important; background-color: #ffffff!important; text-decoration: none; }


/* Extreme Width Buster */
.ggkesrplugin_max_width_limit-container { position: relative; width: 100%; }
.ggkesrplugin_max_width_limit { width: 100%; max-width: 2800px; margin: auto; padding: 0; }

/* CSS to wrap last 2 words of a longer header to prevent */
/* orphans and widows (single words on second line) */
.nowrap { white-space: nowrap; }

/* Banner area (head) */
.ggkesrplugin_header_page { position: relative; min-width: 300px; width:100%; height: 400px; 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_page_container { position: relative; height: 100%; display: flex; justify-content: flex-end; }


@media only screen and (max-width: 1000px) {
	.ggkesrplugin_header_page { height: 300px; }
}

@media only screen and (max-width: 600px) {
	.ggkesrplugin_header_page { height: 200px; }

	.ggkesrplugin_header_page_container { position: relative; height: 100%; display: flex; justify-content: flex-end; }
}


/* -- */
/* Standard Banner Header */
.ggkesrplugin_banner_header_container { position: relative; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(400px, 2fr) minmax(300px, 3fr); background-color:#00a7e5;}
.ggkesrplugin_banner_header_container_banner { position: relative; height: 400px; display: flex; flex-direction: row; justify-content:flex-end ;
												align-items: flex-end; background-position: center; background-size: cover; background-repeat: no-repeat; }

.ggkesrplugin_banner_header_container_title { position: relative; display: flex; flex-direction: column; justify-content:center ; align-items:flex-end; }
.ggkesrplugin_banner_header_container_title h1 { font-size: 48pt; font-weight: 600; padding: 0; margin: 0px 15px 15px 0px;
													line-height: 1.2em; text-align: right; color: #161b4e; }
.ggkesrplugin_banner_header_container_title h2 { font-size: 24pt; font-weight: 500; padding: 0; margin: 0px 15px 15px 0px;
													line-height: 1.2em; text-align: right; color: #161b4e; }


@media (max-width: 800px) {
	/* --- */
	/* Standard header */
	/* Change to stacking, reversed order */
	.ggkesrplugin_banner_header_container { grid-template-columns: 1fr; }

    /* Reverse the order of the columns */
    .ggkesrplugin_banner_header_container_banner { order: 1; height: 300px; }
    .ggkesrplugin_banner_header_container_title { order: 2; display: block; padding: 10px; text-align: center; }	
	.ggkesrplugin_banner_header_container_title h1 { font-size: 36pt; font-weight: 600; padding: 0; margin: 10px 15px 15px 0px; text-align: center; display: inline; }
	.ggkesrplugin_banner_header_container_title h2 { font-size: 16pt; font-weight: 500; padding: 0; margin: 10px 0px 15px 0px; text-align: center; display: inline; }
}


/* Content area */
.ggkesrplugin_content { margin-top: 10px; margin-bottom: 30px; }

.ggkesrplugin_content p,li { color: #000000; }

.ggkesrplugin_content h3 { font-weight: 400; font-size: 18pt; }
.ggkesrplugin_content h4 { font-weight: 400; font-size: 16pt; }

.ggkesrplugin_content_center h1,h2 { text-align: center; }
.ggkesrplugin_content_center_p p { text-align: center; }

/* Front-end Editing, Image selector */
.ggkesrplugin_medsel_container { position: relative; width: 100%; }
.ggkesrplugin_medsel_header_preview { position: relative; width: 100%; height: 200px; max-width: 600px; border: 2px solid #007bc4; box-sizing: border-box;
										background-size: cover; background-repeat: no-repeat; background-position: center center; }
.ggkesrplugin_focuspoint { position: absolute; width: 20px; height: 20px; background-color: #ffffff; border-radius: 50%; opacity: 0.8;
									touch-action: none; cursor: move; border-style: solid; border-width: thin; border-color: #000000; }
.ggkesrplugin_medsel_previous { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); grid-gap: 10px; 
								margin: 10px 0px 10px 0px; padding: 0; }
.ggkesrplugin_medsel_previousthumb { position: relative; width: 120px; height: 120px; display: flex; justify-content: center; align-items: center; 
										box-sizing: border-box; background-repeat: no-repeat; background-position: center center; background-size: cover;
										border-radius: 20px; border-style: solid; cursor: auto; overflow: hidden; }

.ggkesrplugin_medsel_files { display: flex; flex-wrap: wrap; margin: 10px 0px 10px 0px; padding: 0; }

.ggkesrplugin_medsel_upload { position: absolute; width: 100%; height: 100%; left: 0; top: 00; background-color: #ffffff; overflow: hidden; display: none; }
.ggkesrplugin_medsel_delete { position: absolute; width: 100%; height: 40px; left: 0; top: 80; background-color: #ffffff; overflow: hidden; display: none; }


.ggkesrplugin_medsel_upload_animation { width: calc((120px / 0.866) * var(--n,3)); height: 100%;
		/* background: repeating-linear-gradient(-60deg, #82BD48, #82BD48 60px, #008939 60px, #008939 120px); */
			background: repeating-linear-gradient(-60deg, var(--ggMidBlue), var(--ggMidBlue) 60px, var(--ggLightBlue) 60px, var(--ggLightBlue) 120px); 
/*		background: repeating-linear-gradient(-60deg, #96D3F5, #96D3F5 120px, #FFD100 120px, #FFD100 240px, #173A86 240px, #173A86 360px, #40113F 360px, #40113f 480px);*/
		background-size: 200% 100%; animation: upload-animation 3s linear infinite; }
.ggkesrplugin_medsel_delete_animation { width: calc((120px / 0.866) * var(--n,3)); height: 40px;
		background: repeating-linear-gradient(60deg, #79348B, #79348B 60px, #40113F 60px, #40113F 120px);
		background-size: 200% 100%; animation: delete-animation 3s linear infinite; }
@keyframes upload-animation {
  from { background-position: right; }
  to { background-position: left; }
}
@keyframes delete-animation {
  from { background-position: left; }
  to { background-position: right; }
}

.ggkesrplugin_medsel_svg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.ggkesrplugin_medsel_svg svg { width: 100%; height: 100%; }

.ggkesrplugin_medsel_deletethumb {
    position: absolute; display: block; border: none; background-color: #161b4e;
    bottom: 0; right: 0; padding: 0;
    width: 40px; min-width: 40px!important; max-width: 40px!important; /* Adjust the width of the button to make it square */
    height: 40px; min-height: 40px!important; max-height: 40px!important; /* Adjust the height of the button to make it square */
	font-size: 30px; color: #ffffff; text-align: center; align-items: center; 
    justify-content: center; 
}
.ggkesrplugin_medsel_deletethumb:hover { background-color: #ffffff; color: #007bc4; }

.ggkesrplugin_medsel_previousthumb img { width: 100%; height: auto; }
.ggkesrplugin_medsel_active_image { border: 4px solid #007bc4; background-color: #007bc4; } /* Active border for currently selected header */
.ggkesrplugin_medsel_other_image { border: 2px solid #161b4e; background-color: #161b4e; } /* Standard border for in-active or previous header */
.ggkesrplugin_medsel_upload_image { border: 2px solid #161b4e; background-color: #ffffff; } /* Standard border for in-active or previous header */
.ggkesrplugin_medsel_upload_image i { font-size: 40px; color: #161b4e; }

/* User Control Front-End */
.ggkesrplugin_post_editors table { width: 100%; border-collapse: collapse; }
.ggkesrplugin_post_editors th { background-color: #161b4e; text-align: left; padding: 8px; font-weight: 600; font-size: 12pt; color: #ffffff; }
.ggkesrplugin_post_editors td { text-align: left; padding: 8px; font-weight: 500; font-size: 12pt; color: #000000; }

th.ggkesrplugin_post_editor_user { width: 25%; }
th.ggkesrplugin_post_editor_role { width: 25%; }
th.ggkesrplugin_post_editor_rights { width: 50%; }

/* Page, Page Type Heading */
.ggkesrplugin_pagetype_container { position: relative; width: 100%; background-color: #007bc4; margin: 0; padding: 0; }
.ggkesrplugin_pagetype_title { position: relative; width: 100%; margin: 15px 0px 15px 0px; }
.ggkesrplugin_pagetype_title h1 { color: #ffffff; font-size: 30pt; font-weight: 600; text-align: left; margin: 10px 0px 10px 0px; }
.ggkesrplugin_pagetype_title p { color: #ffffff; font-size: 16pt; font-weight: 500; text-align: left; margin: 5px 0px 5px 0px; }


/* Volunteer Support, County Appointments/Role Tree */
.ggkesrplugin_appointment_ul_tree { position: relative; margin: 10px; padding: 0; }
.ggkesrplugin_appointment_ul_tree li { color: #000000; font-size: 12pt; font-weight: 500; text-align: left; }
.ggkesrplugin_appointment_ul_tree h1 { color: #000000; font-size: 22pt; font-weight: 600; text-align: left; margin: 20px 0px 10px 0px; }
.ggkesrplugin_appointment_ul_tree h2 { color: #000000; font-size: 20pt; font-weight: 600; text-align: left; margin: 30px 0px 5px 0px; }
.ggkesrplugin_appointment_ul_tree h3 { color: #000000; font-size: 18pt; font-weight: 600; text-align: left; margin: 25px 0px 5px 0px; }
.ggkesrplugin_appointment_ul_tree h4 { color: #000000; font-size: 16pt; font-weight: 500; text-align: left; margin: 20px 0px 5px 0px; }
.ggkesrplugin_appointment_ul_tree h5 { color: #000000; font-size: 15pt; font-weight: 500; text-align: left; margin: 15px 0px 5px 0px; }
.ggkesrplugin_appointment_ul_tree h6 { color: #000000; font-size: 14pt; font-weight: 500; text-align: left; margin: 10px 0px 5px 0px; }



.ggkesrplugin_appointment_tree_element { position: relative; }

.ggkesrplugin_appointment_user_avatar { position: relative; width: 150px; height: 150px; background-size: cover; background-repeat: no-repeat; background-position: center; }
.ggkesrplugin_appointment_user_avatar_multi { position: relative; width: 50px; height: 50px; background-size: cover; background-repeat: no-repeat; background-position: center; }



/* Offering/section/what we do Header and introduction */
.ggkesrplugin-offering-header { position: relative; padding: 0; margin: 0; background-color: #161b4e; 
								display: flex; flex-direction: column; justify-content:center; align-items: center; }
.ggkesrplugin-offering-header h1 { color: #00a7e5; font-size: 32pt; font-weight: 500; text-align: center; margin: 40px 0px 40px 0px; line-height: 1.6em; }


.ggkesrplugin_introduction { margin: 50px 0px 30px 0px; }

@media screen and (max-width: 700px) {
	.ggkesrplugin-offering-header h1 { font-size: 18pt; text-align: left; margin: 40px 30px 40px 0px; }	
}
@media screen and (min-width: 701px) and (max-width: 1199px) {
	.ggkesrplugin-offering-header h1 { font-size: 26pt; }
}


/* */
.ggkesrplugin_rightwidgets { position: relative; padding: 0; margin: 0; display: grid; grid-template-columns: 3fr 2fr; grid-gap: 0; }
.ggkesrplugin_body { position: relative; padding: 0; margin: 0px 20px 0px 0px; max-width: 800px; }
.ggkesrplugin_widget { position: relative; padding: 0; margin: 0; background-repeat: no-repeat; background-position: center; background-size: cover;  }
@media screen and (max-width: 700px) {
	.ggkesrplugin_rightwidgets { grid-template-columns: 1fr; }
	.ggkesrplugin_widget { order: 1; max-width: 100%; height: 150px; }
	.ggkesrplugin_body { order: 2; }
}

/* Section links, full screen with featured image and logo */
.ggkesrplugin-section-links { position: relative; width: 100%; height: auto; padding: 0; margin: 0; 
								display: grid;  grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(0, 1fr); grid-gap: 0; }

.ggkesrplugin-section-link-container { position: relative; xmax-width: 600px; overflow: hidden; padding: 0; margin: 0; }
a.ggkesrplugin-section-link { text-decoration: none; width: 100%; height: 100%; }
a.ggkesrplugin-section-link:hover { text-decoration: none; }

.ggkesrplugin-section-link-image { position: relative; width: 100%; height: 175px; display: flex; justify-content: center; align-items: center;
									background-repeat: no-repeat; background-position: center; background-size: cover; padding-top: 50%; }
.ggkesrplugin-section-link-logo { posiion: relative; text-align: center; }
.ggkesrplugin-section-link-logoIC { posiion: relative; display: none; text-align: center; }
.ggkesrplugin-section-link-text { position: relative; width: 100%; padding: 12px; margin: 0; }

.ggkesrplugin-section-link-container h2 { font-size: 16pt; font-weight: 600; margin: 10px 5px 10px 5px; padding: 0;
										font-family: var(--ggFontPrimary)!important; text-align: center; }
.ggkesrplugin-section-link-container h4 { font-size: 14pt; text-align: left; font-weight: 500; line-height: 1.5em!important; margin: 20px 5px 10px 5px; padding: 0;
										font-family: var(--ggFontPrimary)!important; }

/* .ggkesrplugin-section-link-container:hover { background-color: #161b4e!important; }
.ggkesrplugin-section-link-container:hover h2 { color: #ffffff!important; text-decoration: none; }
.ggkesrplugin-section-link-container:hover h4 { color: #ffffff!important; text-decoration: none; }
*/

.ggkesrplugin-section-link-container img { max-width:90%; max-height: 90%; width: auto; height:auto; position: relative; }
.ggkesrplugin-section-link-container svg { max-width:400px; width: auto; height:auto; position: relative; margin: 20px auto 10px auto; display: inline-block;
    vertical-align: middle; }


@media screen and (max-width: 700px) {
	.ggkesrplugin-section-links{ grid-template-columns: 1fr; } 	
}
@media screen and (min-width: 701px) and (max-width: 1199px) {
	.ggkesrplugin-section-links{ grid-template-columns: repeat(2, 1fr); } 
}


/* Girlguiding Posts Block */
.ggkesrplugin-postblock-container { position: relative; width: 100%; height: auto; padding: 0; margin: 0; flex: 1 0 350px; 
						  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-auto-rows: minmax(0, 1fr); grid-gap: 20px; }

a.ggkesrplugin-postblock-link { text-decoration: none; background-color: #ffddaa; width: 100%; height: 100%; }
a.ggkesrplugin-postblock-link:hover { text-decoration: none; }

.ggkesrplugin-postblock-box { 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-postblock-box h2 { font-size: 16pt; text-align: left; font-weight: 800; line-height: 1.3em; color: #000000!important; font-family: var(--ggFontPrimary)!important; }
.ggkesrplugin-postblock-box h4 { font-size: 12pt; text-align: left; font-weight: 400; line-height: 1.5em; color: #000000!important; font-family: var(--ggFontPrimary)!important; }

.ggkesrplugin-postblock-box:hover { background-color: #007bc4; }
.ggkesrplugin-postblock-box:hover h2 { color: #ffffff!important; text-decoration: none; }
.ggkesrplugin-postblock-box:hover h4 { color: #ffffff!important; text-decoration: none; }

.ggkesrplugin-postblock-banner { 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-postblock-banner img { max-width:90%; max-height: 90%; width: auto; height:auto; position: relative; }
.ggkesrplugin-postblock-media-img { position: relative; padding: 0; margin: 0; width: 90%; height: 90%; background-repeat: no-repeat; background-position: center; background-size: contain; }
.ggkesrplugin-postblock-media-img svg { max-width:100%; max-height: 100%; width: auto; height:auto; position: relative; }
.ggkesrplugin-postblock-text { position: relative; width: 100%; padding: 6px; margin: 0; }


/* Girlguiding Posts Block, Table Data */

.ggkesrplugin-postblock-tablecontainer { position: relative; width: 100%; height: auto; padding: 0; margin: 0; overflow-x: scroll; }

.ggkesrplugin-postblock-tablecontainer table { border-collapse: collapse; width: auto; table-layout: auto; }

.ggkesrplugin-postblock-tablecontainer th, td { border: 1px solid #ddd; padding: 4px; text-align: left; }
.ggkesrplugin-postblock-tablecontainer th { background-color: #f2f2f2; }

.ggkesrplugin-postblock-tablecontainer p { font-size: 11pt; font-weight: 400; padding: 0px; margin: 0px; line-height: 1.3em; }
.ggkesrplugin-postblock-tablecontainer ul { list-style-type: none; padding: 0; margin: 0; }
.ggkesrplugin-postblock-tablecontainer li { display: inline; margin-right: 20px; position: relative;
											font-size: 10pt; text-align: left; font-weight: 400; line-height: 1.3em; }
.ggkesrplugin-postblock-tablecontainer li:not(:last-child)::after { content: '\2022'; position: absolute; right: -10px; }

.ggkesrplugin-postblock-table-td-name { width: 300px; min-width: 300px; }
.ggkesrplugin-postblock-table-td-icon { width: 30px; min-width: 30px; max-width: 30px; text-align: center; }
.ggkesrplugin-postblock-table-td-icon img { width: 20px; height: auto; }
.ggkesrplugin-postblock-table-td-icon span { font-size: 20px; color: #000000; width: 20px; }
.ggkesrplugin-postblock-table-td-smalltext { width: 100px; min-width: 100px; max-width: 100px; }
.ggkesrplugin-postblock-table-td-halfsmalltext { width: 50px; min-width: 50px; text-align: center; }
.ggkesrplugin-postblock-table-td-mediumtext { width: 200px; min-width: 200px; max-width: 200px; }
.ggkesrplugin-postblock-table-td-largetext { width: 400px; min-width: 400px; max-width: 400px; }

/**
 * Virtual page and dynamic page features
 **/

.ggkesrplugin_header_simple { position: relative; width:100%; height: auto; min-height: 100px; padding: 0 10px; margin: 0; background-color: var(--ggMidBlue);
							display: flex; align-items: flex-end; box-sizing: border-box; }

.ggkesrplugin_header_simple .title { font-size: 32px; font-weight: 600; color: var(--ggWhite); text-align: left; }


.ggkesrplugin_header_toolbar { position: relative; width:100%; height: auto; padding: 5px 0 5px 0; margin: 0; background-color: var(--ggLightBlue);
							display: flex; align-items:center; box-sizing: border-box; }
.ggkesrplugin_header_toolbar p { line-height: 1.2em; padding: 0; margin: 0; }



.nopadding { padding: 0 !important; }
.notopmargin { margin-top: 0!important; }

.bell-icon {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 60%;
	background-position: center;
	display: inline-block;
}


.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  padding: 1rem;
}
  
.ggkesrplugin-modalbox { background: var(--ggWhite); border: 4px solid var(--ggMidBlue); border-radius: 20px; width: 100%; max-width: 600px; max-height: 95vh;
			overflow-y: auto; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 0; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); z-index: 9998; }
.ggkesrplugin-modalbox .bcontent { width: 100%; height: auto; padding: 1.5em; }
.ggkesrplugin-modalbox .bbuttons { width: 100%; height: auto; display: flex; justify-content: flex-end!important; margin: 0; padding: 0.5em 1.5em 1.5em 0;
										text-align: right; gap: 10px; }

.ggkesrplugin-modalbox .bbuttons button { width: auto; height: auto; min-height: 20px; min-width: 100px; padding: 4px; border-radius: 5px; 
				display: inline-block; font-weight: 600; font-size: 12pt; vertical-align: middle; text-align: center;
				border-width: 2px; border-style: solid; text-decoration: none;
				line-height:normal; cursor: pointer; }

.ggkesrplugin-modalbox .bbuttons .edit_save { color: var(--ggWhite); background-color: var(--ggDarkBlue); border-color: var(--ggDarkBlue); }
.ggkesrplugin-modalbox .bbuttons .edit_save:hover { color: var(--ggDarkBlue); background-color: var(--ggWhite); text-decoration: none; }

.ggkesrplugin-modalbox .bbuttons .edit_save_disabled { color: var(--ggWhite); background-color: var(--ggDarkBlue); border-color: var(--ggDarkBlue);
														opacity: 0.2; cursor: default; }

.ggkesrplugin-modalbox .bbuttons .edit_cancel { color: var(--ggWhite); background-color: var(--ggRainbowsOrange); border-color: var(--ggRainbowsOrange); }
.ggkesrplugin-modalbox .bbuttons .edit_cancel:hover { color: var(--ggRainbowsOrange); background-color: var(--ggWhite); text-decoration: none; }

.ggkesrplugin-modalbox .field_section_grid { width: 100%; display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 4px; margin: 4px; }

.ggkesrplugin-modalbox .field_section { height: auto; box-sizing: border-box; min-width: 110px; padding: 6px; margin: 0; border-radius: 5px; }
 
.ggkesrplugin-modalbox .field_section label { width: 100%; height: 100%; user-select: none; display: flex;
											align-items: center; gap: 4px; border-radius: 4px; cursor: pointer; }

.ggkesrplugin-modalbox .field_section input[type="checkbox"] { width: 18px; height: 18px; cursor: pointer; accent-color: var(--ggMidBlue); }

.ggkesrplugin-modalbox .field_section_logo { flex: 1 1 auto; height: 80px; max-height: 80px; aspect-ratio: 1 / 1; display: flex;
													justify-content: center; align-items: center; overflow: hidden; }
.ggkesrplugin-modalbox .field_section_logo svg,
.ggkesrplugin-modalbox .field_section_logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }


.ggkesrplugin-modalbox .label-wrapper { position: relative; display: flex; flex-direction: column; width: 100%; padding: 2px; margin: 0; align-items: flex-start; }
.ggkesrplugin-modalbox .label-wrapper 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; }

.ggkesrplugin-modalbox .label-wrapper label small { font-size: 10pt; color: var(--ggMidBlue); }

.ggkesrplugin-modalbox .input-wrapper { position: relative; display: flex; width: 100%; padding: 0; margin: 0 0 15px 0;
											border: 1px solid var(--ggDarkBlue); align-items: center; border-radius: 4px; overflow: hidden; }
.ggkesrplugin-modalbox .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-modalbox .input-wrapper select { margin: 4px; padding: 8px 32px 8px 8px; border: none; outline: none; width: 100%;
											-webkit-appearance: none; -moz-appearance: none; appearance: none;
												font-size: 12pt; font-family: var(--ggFontPrimary); background-color: var(--ggTableRowHighlight);  
  background-image: url('data:image/svg+xml;utf8,<svg fill="gray" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 8px center;
	background-size: 16px 16px; }
.ggkesrplugin-modalbox .radio-wrapper { position: relative; display: flex; width: 100%; padding: 0; margin: 0 0 15px 0; 
											border: 1px solid var(--ggDarkBlue); align-items: center; border-radius: 4px; overflow: hidden; }


.ggkesrplugin-modalbox .input-wrapper input.field_readonly,
.ggkesrplugin-modalbox .input-wrapper select.field_readonly { background-color: var(--ggTableRowB)!important; color: var(--ggMidBlue); }

.ggkesrplugin-modalbox .prompt-wrapper { position: relative; width: 100%; padding: 0 2px 2px 2px; margin: 0 0 15px 0; }
.ggkesrplugin-modalbox .prompt-wrapper p { font-size: 12pt; color: var(--ggMidBlue); margin: 0; padding: 0; width: 100%; }

.ggkesrplugin-modalbox p { font-size: 12pt; color: var(--ggMidBlue); margin: 0; padding: 0; }

.modal-close {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  font-size: 1.5rem;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #666;
}

@media (max-width: 600px) {
  .modal-box {
    max-width: 100%;
    border-radius: 0;
    height: 100%;
    max-height: 100%;
  }
}






.ggkesrplugin_division_summary { position: relative; display: flex; width: 100%; height: auto; padding: 0; margin: 0; border-radius: 12px; overflow: hidden; align-items: stretch; }


.ggkesrplugin_division_summary .info { position: relative; flex: 1; padding: 0; margin: 0; box-sizing: border-box; }
.ggkesrplugin_division_summary .cover { position: absolute; left: 0; right: 0; top: 0; bottom: 0; width: auto; height: auto;
											background-repeat: no-repeat; background-size: cover; }
.ggkesrplugin_division_summary .overlay { position: absolute;  left: 0; bottom: 0; width: 100%; height: auto; background: rgba(255, 255, 255, 0.8); }
.ggkesrplugin_division_summary .overlay-text { width: 100%; height: auto; padding: 1em; }
.ggkesrplugin_division_summary .overlay-text p { color: var(--ggDarkBlue); font-size: 12pt; font-weight: 600; font-family: var(--ggFontPrimary); }
.ggkesrplugin_division_summary .logo_container { padding: 0; margin: 0; width: 30%; margin: 0 0 0 4px; box-sizing: border-box;
														display: flex; justify-content: center; align-items: center; }
.ggkesrplugin_division_summary .logo { width: 80%; height: 80%; display: flex; justify-content: center; align-items: center; }
.ggkesrplugin_division_summary .logo svg,
.ggkesrplugin_division_summary .logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; }

@media (max-width: 999px) {
	
	.ggkesrplugin_division_summary { display: block; }	
	.ggkesrplugin_division_summary .info { width: 100%; height: auto; flex: 0 0 auto; }
	.ggkesrplugin_division_summary .overlay { position: relative; left: 0; top: 0; right: auto; bottom: auto; width: 100%; height: auto; }

	.ggkesrplugin_division_summary .logo_container { width: 100%; height: 150px; margin: 4px 0 0 0; }
}


@keyframes shake {
    0% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    50% { transform: translateX(5px); }
    75% { transform: translateX(-5px); }
    100% { transform: translateX(0); }
}
.shake {
    animation: shake 0.3s ease-in-out;
}


.loading-overlay { position: fixed; top: 0; left: 0;width: 100%; height: 100%; 
										background-color: rgba(255,255,255,0.5); z-index: 9990; }


.loading-outerdiv { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 200px; height: 30px;
							overflow: hidden; padding: 0; margin: 2px; border-radius: 20px; z-index: 9999;
						border-width: 2px; border-style: solid; background-color: var(--ggDarkBlue); }

.loading-innerdiv { width: calc((120px / 0.866) * var(--n,3)); height: 100%;
			background: repeating-linear-gradient(-60deg, var(--ggMidBlue), var(--ggMidBlue) 60px, var(--ggLightBlue) 60px, var(--ggLightBlue) 120px); 
		background-size: 200% 100%; animation: upload-animation 3s linear infinite; }


/**
 * User lists, profile pictures, user links, and user trees
 **/

.ggkesrplugin_user_icon { position: relative; display: inline-block; margin: 5px; text-align: center; vertical-align: top; width: 50px; min-width: 100px; }
.ggkesrplugin_user_icon img { border-radius: 15%; }
.ggkesrplugin_user_icon_name { font-size: 12px; overflow: hidden; white-space: normal; word-wrap: break-word; 
								width: 100px; line-height: 1.2; margin: 0 auto; }
.ggkesrplugin_user_icon_name a { font-size: 12pt; color: var(--ggDarkBlue); text-decoration: none; }
.ggkesrplugin_user_icon_name a:hover { color: var(--ggMidBlue); text-decoration: underline; }	
.ggkesrplugin_user_icon_highlight img { border-color: var(--ggLightBlue); border-width: 3px; }

.ggkesrplugin_user_icon_remove { position: absolute; top: -10px; right: 10px; background-color: var(--ggRainbowsRed); color: var(--ggWhite)!important; font-weight: bold;
	 display: flex; justify-content: center; align-items: center; 
					font-size: 14px; line-height: 1; text-align: center; padding: 2px 4px; border-radius: 50%; cursor: pointer; z-index: 10; width: 20px; height: 20px; }
.ggkesrplugin_user_icon_remove:hover {
    background: var(--ggDarkBlue);
}

/* Activity, Booking Information section */

.ggkesrplugin_activity_files { position: relative; width: 100%; height: auto; padding: 0; margin: 0 0 20px 0; 
								display: grid;  grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(0, 1fr); grid-gap: 0; }

.ggkesrplugin_activity_files svg { width: 100px; height: 100px; margin: 20px auto 10px auto; display: block; }
.ggkesrplugin_activity_files h1 { font-size: 14pt; color: #000000; font-weight: 600; margin: 0; padding: 0;
									font-family: var(--ggFontPrimary)!important; text-align: center; }
.ggkesrplugin_activity_files h2 { font-size: 12pt; color: #000000; font-weight: 600; margin: 0; padding: 0;
									font-family: var(--ggFontPrimary)!important; text-align: center; }

.ggkesrplugin_activity_file { position: relative; overflow: hidden; padding: 0; margin: 0; height: auto; display: flex;
								flex-direction: column; align-items: center; justify-content: center; text-align: center; }

.ggkesrplugin_activity_booking ul { list-style: none; padding: 0; margin: 0 0 20px 0; display: flex; flex-wrap: wrap; justify-content: center; }
.ggkesrplugin_activity_booking li { width: calc(25% - 20px); margin: 10px; text-align: center; }
.ggkesrplugin_activity_booking h1 { font-size: 22pt; color: #000000; font-weight: 800; margin: 2px; padding: 0;
									font-family: var(--ggFontPrimary)!important; text-align: center; }
.ggkesrplugin_activity_booking h2 { font-size: 16pt; color: #000000; font-weight: 600; margin: 2px; padding: 0;
									font-family: var(--ggFontPrimary)!important; text-align: center; }

.ggkesrplugin_activity_contact { postion: relative; margin: 0 0 20px 0; }

@media screen and (max-width: 700px) {
	.ggkesrplugin_activity_files{ grid-template-columns: 1fr; } 
	.ggkesrplugin_activity_booking li { width: calc(100% - 20px); margin: 10px; text-align: center; }	
}
@media screen and (min-width: 701px) and (max-width: 1199px) {
	.ggkesrplugin_activity_files{ grid-template-columns: repeat(2, 1fr); }
	.ggkesrplugin_activity_booking li { width: calc(50% - 20px); margin: 10px; text-align: center; }	
}

/* Copy Block */
.ggkesr-block-copy-container { position: relative; width: 100%; height: auto; display: flex; flex-direction: row; flex-wrap: wrap;
								margin: 10px 0px 20px 0px; padding: 4px; background-color: #96d3f5; }
.ggkesr-block-copy-text { display: relative; padding: 4px; flex: 1; min-width: 300px; }
.ggkesr-block-copy-text p { font-weight: 600; font-size: 12pt; color: #161b4e; max-width: 800px; }
.ggkesr-block-copy-button { position: relative; width: 200px; height: auto; padding: 10px 5px 5px 5px; }
.ggkesr-block-copy-button a { width: auto; height: auto; display: inline-block; min-height: 20px; padding: 5px; border-radius: 5px; 
				margin: 0; font-weight: 700; font-size: 12pt; vertical-align: middle; text-align: center;
				color: #ffffff!important; background-color: #007bc4!important; border-color: #007bc4!important;
				border-width: 2px; border-style: solid; text-decoration: none; cursor: pointer; }
.ggkesr-block-copy-button a:hover { color: #007bc4!important; background-color: #ffffff!important; text-decoration: none; }


.ggkesr-copy-link { position: relative; width: 100%; }
.ggkesr-copy-link p { font-weight: 600; font-size: 14pt; text-decoration: none; line-height: 1; }
.ggkesr-copy-link ul { list-style-type: none; }
.ggkesr-copy-link li { display: inline-block; margin: 5px; padding: 5px; background-color: #96d3f5; }




/* Gutenberg block */
.ggkesr-block {
  position: relative;
	  display: flex;
  flex-direction: column;
	height: auto;
	margin-top: 30px; margin-bottom: 30px;
	
}

.ggkesr-block-content { position: relative; height: auto; }
.ggkesr-block-content-head { width: 100%; height: auto; }
.ggkesr-block-content-columns { position: relative; height: auto; display: flex; flex-direction: row; }
.ggkesr-block-content-gap { xflex: 0; }
.ggkesr-block-content-text { flex: 1; }
.ggkesr-block-content-image { overflow: hidden; }
.ggkesr-block-content-image img { max-width:100%; max-height:auto; position: relative; margin: auto;}

.ggkesr-block-background {
z-index: -1; 
  width: 100vw;
  position: absolute; top: 0;
  left: calc(-50vw + 50%);
	box-sizing: border-box;
	flex-grow: 1; height: 100%; 

  /* top: 0;
  //left: 0;
  //
  height: 100%; */
 /* 
	width: 100%;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
	
	 margin: 32px calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;	 */
}


@media only screen and (max-width: 800px) {
	.ggkesr-block-content-columns { position: relative; height: auto; display: flex; flex-direction: row; justify-content: center; flex-wrap: wrap-reverse; }
	.ggkesr-block-content-gap { min-width: 100%; height: 10px; }
	.ggkesr-block-content-text { min-width: 100%; flex: 1; }
	.ggkesr-block-content-image { width: 100%; overflow: hidden; text-align: center; }
	.ggkesr-block-content-image img { max-width:80%; position: relative; margin: auto; }
}

body { font-family: var(--ggFontPrimary); }

/* h1,h2,h3,h4,h5,h6,p,li,a */
.ggkesrplugin_content,
.editor-styles-wrapper { font-family: var(--ggFontPrimary)!important; }

h1, .editor-styles-wrapper h1 { font-weight: 800; font-size: 28pt; color: #000000; text-align: center; margin-top: 40px; margin-bottom: 25px; line-height: 1.5em; }
h2, .editor-styles-wrapper h2 { font-weight: 800; font-size: 24pt; color: #000000; text-align: center; margin-top: 35px; margin-bottom: 25px; line-height: 1.5em; }
h3, .editor-styles-wrapper h3 { font-weight: 600; font-size: 18pt; color: #000000; margin-top: 20px; margin-bottom: 15px; line-height: 1.5em; }
h4, .editor-styles-wrapper h4 { font-weight: 400; font-size: 16pt; color: #000000; margin-top: 20px; margin-bottom: 15px; line-height: 1.5em; }

li, .editor-styles-wrapper li { font-weight: 400; font-size: 12pt; }

p, .editor-styles-wrapper p { font-weight: 400; font-size: 12pt; margin-top: 10px; margin-bottom: 15px; line-height: 1.5em; }

p.is-style-ggkesrplugin_intro, 
.editor-styles-wrapper p.is-style-ggkesrplugin_intro { font-size: 22pt; font-weight: 400; line-height: 1.5em; }

/* Bredcrumbs */
.ggkesrplugin_breadcrumbs ul { list-style: none; margin: 3px 0px 10px 0px; padding: 0; overflow: hidden; text-align: left; }

.ggkesrplugin_breadcrumbs ul li { display: inline-block; vertical-align: middle; margin-right: 5px; font-size: 12pt; font-weight: 400; font-family: var(--ggFontPrimary); }
.ggkesrplugin_breadcrumbs strong { font-weight: 400; }
.ggkesrplugin_breadcrumbs a { font-size: 12pt; color: #007bc4; text-decoration: none; }
.ggkesrplugin_breadcrumbs a:hover { color: #007bc4; text-decoration: underline; }	
.ggkesrplugin_breadcrumbs ul .separator { color: #000000; }


.ggkesrplugin_offering_section_breadcrumbs ul { list-style: none; margin: 3px 0px 10px 0px; padding: 0; overflow: hidden; text-align: left; }

.ggkesrplugin_offering_section_breadcrumbs ul li { display: inline-block; vertical-align: middle; margin-right: 5px; font-size: 12pt; font-weight: 400; font-family: var(--ggFontPrimary); }
.ggkesrplugin_offering_section_breadcrumbs strong { font-weight: 400; }
.ggkesrplugin_offering_section_breadcrumbs a { font-size: 12pt; text-decoration: none; }
.ggkesrplugin_offering_section_breadcrumbs a:hover { text-decoration: underline; }	
.ggkesrplugin_offering_section_breadcrumbs ul .separator { }


/* Contact Header arrangement */

/* Large text, cover on right */
.ggkesrplugin_header_covercontainer { position: relative; height: 300px; overflow-x: hidden; overflow-y: hidden; }
.ggkesrplugin_header_cover { position: absolute; top: 0; right:0; width: calc(100vw / 2.5); height: 300px;
								background-size: cover; background-origin: border-box; border-bottom-left-radius: 50px; }
.ggkesrplugin_header_titlecontainer { position: absolute; left: 0; bottom: 0; width: 100%; height: auto; }
.ggkesrplugin_header_title { position: relative; width: 50%; height: auto; }
.ggkesrplugin_header_title h1 { font-size: 42pt; color: #000000; font-weight: 700; text-align: left; padding: 0; margin: 0; line-height: 1.5em; }
.ggkesrplugin_header_title h2 { font-size: 24pt; color: #161b4e; font-weight: 700; text-align: left; padding: 0; margin: 0; line-height: 1.5em; }

.ggkesrplugin_content_badge { position: relative; width: 300px; height: 300px; overflow: hidden; background-size: contain; background-repeat: no-repeat; }

.ggkesrplugin_content_poster { position: relative; width: 300px; height: 300px; overflow: hidden; background-size: contain; background-repeat: no-repeat; }

.ggkesrplugin_content_icons { position: relative; width: 100%; max-width: 800px; display: grid;
									grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }

.ggkesrplugin_content_icon-item { position: relative; width: 120px; height: auto; display: flex; flex-direction: column;
										align-items: center; justify-content: flex-start; overflow: hidden; }
.ggkesrplugin_content_icon-link { position: absolute; left: 0; top: 0; width: 120px; height: 100%; }
.ggkesrplugin_content_icon-link a { display: block; width: 100%; height: 100%; text-decoration: none; }
.ggkesrplugin_content_icon-inner { position: relative; left: 0; top: 0; width: 120px; height: 120px; display: flex; align-items: center; justify-content: center; }
.ggkesrplugin_content_icon-grow { position: relative; width: 100px; height: 100px; transition: all 0.3s ease-in-out;
									background-size: contain; background-origin: border-box; background-repeat: no-repeat; }
.ggkesrplugin_content_icon-grow svg { width: 100%; height: 100%; }
.ggkesrplugin_content_icon-item:hover .ggkesrplugin_content_icon-grow { transform: scale(1.2); } 
.ggkesrplugin_content_icon-item:hover .ggkesrplugin_content_icon-text h6 { text-decoration: underline; font-weight: 600; }
.ggkesrplugin_content_icon-item:hover .ggkesrplugin_content_icon-text h4 { text-decoration: underline; font-weight: 600; }
.ggkesrplugin_content_icon-text { position: relative; left: 0; top: 0; width: 100%; height: auto; text-align: center; }
.ggkesrplugin_content_icon-text h6 { font-size: 10pt; color: #000000; font-weight: 500; text-decoration: none;
										padding: 0!important; margin: 0!important; line-height: 1.3em!important; }
.ggkesrplugin_content_icon-text h4 { font-size: 11pt; color: var(--ggDarkBlue); font-weight: 600; text-decoration: none;
										padding: 0!important; margin: 0!important; line-height: 1.3em!important; }



.ggkesrplugin_content_files { display: flex; flex-wrap: wrap; margin: 10px 0px 10px 0px; padding: 0; }
.ggkesrplugin_content_file-item { position: relative; width: auto; height: auto; min-width: 120px; display: flex; flex-direction: column;
										align-items: center; justify-content: center; overflow: hidden; padding: 0 10px 0 10px; }
.ggkesrplugin_content_file-link { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.ggkesrplugin_content_file-link a { display: block; width: 100%; height: 100%; text-decoration: none; }
.ggkesrplugin_content_file-inner { position: relative; left: 0; top: 0; width: 100%; height: 120px; display: flex; align-items: center; justify-content: center; }
.ggkesrplugin_content_file-grow { position: relative; width: 100px; height: 100px; transition: all 0.3s ease-in-out;
									background-size: contain; background-origin: border-box; background-repeat: no-repeat; }
.ggkesrplugin_content_file-grow svg { width: 100%; height: 100%; }
.ggkesrplugin_content_file-item:hover .ggkesrplugin_content_file-grow { transform: scale(1.2); } 
.ggkesrplugin_content_file-text { position: relative; width: auto; height: auto; display: flex; align-items: center; text-align: center; justify-content: center; }
.ggkesrplugin_content_file-item h6 { font-size: 12pt!important; color: #000000; font-weight: 600; text-decoration: none;
										padding: 0 5px 0px 5px!important; margin: 0!important; line-height: 1.2em!important; }
.ggkesrplugin_content_file-item:hover h6 { text-decoration: underline; }

/* Colours for the file svg icon */
.fico_black { fill: #000000; }
.fico_shadow { fill: #D9D9D9; }
.fico_doc { fill: #007BC4; }
.fico_pdf { fill: #E41513; }
.fico_msic { fill: #79348B; }
.fico_inactive { opacity: 0.3; }



.ggkesrplugin_content_columns { position: relative; display: grid; grid-template-columns: 1fr 300px; grid-gap: 20px; }
.ggkesrplugin_content_body_column { position: relative; order: 1; }
.ggkesrplugin_content_side_column { position: relative; order: 2; display: flex; align-items: flex-start; justify-content: center; }
.ggkesrplugin_content_center { position: relative; width: 100%; height: auto; padding: 20px 0 20px 0; display: flex; align-items: flex-start; justify-content: center; }

@media (max-width: 799px) {
	.ggkesrplugin_header_covercontainer { position: relative; height: auto; }
	.ggkesrplugin_header_cover { position: relative; width: 100%; height: 200px; border-bottom-left-radius: 0; }
	.ggkesrplugin_header_titlecontainer { position: relative; width: 100%; height: auto; }
	.ggkesrplugin_header_title { width: 100%; }
	.ggkesrplugin_header_title h1 { font-size: 32pt; }
	.ggkesrplugin_header_title h2 { font-size: 16pt; }	
	.ggkesrplugin_content_columns { grid-template-columns: 1fr; }
	
	.ggkesrplugin_content_body_column { order: 2; }
	.ggkesrplugin_content_side_column { order: 1; }
	
.ggkesrplugin_content_icons { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 10px; }	
	.ggkesrplugin_content_icon-item { width: 100px; }
.ggkesrplugin_content_icon-link { width: 90px; }
.ggkesrplugin_content_icon-inner { width: 90px; height: 90px; }
.ggkesrplugin_content_icon-grow { width: 75px; height: 75px; }
.ggkesrplugin_content_icon-text h6 { font-size: 9pt; }	
.ggkesrplugin_content_icon-text h4 { font-size: 10pt; }		
}

/* Content archive filter */
.ggkesrplugin_filter { position: relative; width: 100%; height: auto; padding: 8px; margin: 0; background-color: #007bc4; }
.ggkesrplugin_filter h1 { color: #ffffff; font-weight: 600; font-size: 16pt; line-height: 1.2; text-align: left; display: inline; margin-right: 15px;
					vertical-align: middle; }
.ggkesrplugin_filter p { color: #ffffff; font-weight: 400; font-size: 11pt; line-height: 1.2; display: inline; vertical-align: middle; }
.ggkesrplugin_filter select { color: #000000; }
.ggkesrplugin_filter label { font-weight: 400; }

.ggkesrplugin_filter button { width: auto; height: auto; min-height: 30px; padding: 10px; border-radius: 20px; 
				margin: 2px; display: inline-block; font-weight: 700; font-size: 14pt; vertical-align: middle; text-align: center;
				color: #ffffff!important; background-color: #00a7e5!important; border-color: #00a7e5!important;
				border-width: 2px; border-style: solid; text-decoration: none; }
.ggkesrplugin_filter button:hover { color: #00a7e5!important; background-color: #ffffff!important; text-decoration: none; }

/* Link boxes */
.ggkesrplugin_link_boxes_background { background-color: #dddddd; padding: 10px 0px 10px 0px; }

/* Usually 4 wide, will vary */
.ggkesrplugin_link_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; }
/* Usually 3 wide, taller */
.ggkesrplugin_link_boxes_large { position: relative; width: 100%; height: auto; padding: 0; margin: 0; flex: 1 0 350px; 
						  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-auto-rows: minmax(0, 1fr); grid-gap: 20px; }

a.ggkesrplugin_link_box { text-decoration: none; background-color: #ffddaa; width: 100%; height: 100%; }
a.ggkesrplugin_link_box:hover { text-decoration: none; }

.ggkesrplugin_link_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_link_box_container h2 { font-size: 16pt; text-align: left; font-weight: 800; line-height: 1.3em; color: #000000!important; font-family: var(--ggFontPrimary)!important; }
.ggkesrplugin_link_box_container h4 { font-size: 12pt; text-align: left; font-weight: 400; line-height: 1.5em; color: #000000!important; font-family: var(--ggFontPrimary)!important; }

.ggkesrplugin_link_box_container:hover { background-color: #007bc4; }
.ggkesrplugin_link_box_container:hover h2 { color: #ffffff!important; text-decoration: none; }
.ggkesrplugin_link_box_container:hover h4 { color: #ffffff!important; text-decoration: none; }
/* Old way, to be removed */
.ggkesrplugin_link_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_link_box_image img { max-width:90%; max-height: 90%; width: auto; height:auto; position: relative; }
/* New way */
.ggkesrplugin_link_box_cover { 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_link_box_cover svg { max-width:100%; max-height: 100%; width: auto; height:auto; position: relative; }
		/* will be adding a media container here so it has some padding around it compared to cover */
.ggkesrplugin_link_box_media { position: relative; margin-top: -150px; width: 100%; height: 150px; display: flex; justify-content: center; align-items: center; }
.ggkesrplugin_link_box_media_img { position: relative; padding: 0; margin: 0; width: 90%; height: 90%; background-repeat: no-repeat; background-position: center; background-size: contain; }
.ggkesrplugin_link_box_media_img svg { max-width:100%; max-height: 100%; width: auto; height:auto; position: relative; }
.ggkesrplugin_link_box_text { position: relative; width: 100%; padding: 6px; margin: 0; }

/* Block links - for sections */
/* Section links on home page, division home pages */
.ggkesrplugin_blocklink_sections { position: relative; margin: 30px 0px 20px 0px;  }
.ggkesrplugin_blocklink_sections ul { list-style-type: none; margin: 0; padding: 0; text-align: center; display: flex; flex-wrap: nowrap; justify-content: center; }
.ggkesrplugin_blocklink_sections li { flex-basis: auto; display: inline-block;  max-width: 400px; font-size: 12pt; margin-left: 2px; margin-right: 2px; }
.ggkesrplugin_blocklink_sections h2 { font-weight: 600; font-size: 18pt; }
.ggkesrplugin_blocklink_sections img { max-width:100%; max-height:auto; position: relative; margin: auto;}



@media only screen and (max-width: 1000px) {
	.ggkesrplugin_blocklink_sections ul { flex-wrap: wrap; }
	.ggkesrplugin_blocklink_sections li { min-width: 45%; display: block; flex-basis: 45%; margin-bottom: 30px; }
	.ggkesrplugin_blocklink_sections h2 { font-size: 16pt; }
}

@media only screen and (max-width: 600px) {
	.ggkesrplugin_blocklink_sections ul { display: block; }
	.ggkesrplugin_blocklink_sections li { width: 100%; max-width: 400px; min-width: 100%; display: block; xflex-basis: auto;  
										 margin: 0px 0px 30px 0px; }	
	.ggkesrplugin_blocklink_sections h2 { font-size: 16pt; }

}

/* Volunteer areas - boxes */
.ggkesrplugin_vzareas_group { position: relative; width: 100%; display: grid; 
								grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); xgrid-auto-rows: minmax(0, 1fr); grid-gap: 20px; }
.ggkesrplugin_vzarea { position: relative; height: auto; background-color: #00a7e5; padding: 0 4px 4px 4px; display: flex; flex-direction: column; }
.ggkesrplugin_vzarea_title { background-color: #00a7e5; height: 100px; padding: 3px; overflow: hidden; display: flex; justify-content: center; align-items: center; }
.ggkesrplugin_vzarea_title h1 { font-size: 20pt; color: #ffffff; width: 100%; height: auto; font-weight: 600; line-height: 1.2; margin: 0; padding: 0;
								font-family: var(--ggFontPrimary); }

.ggkesrplugin_vzarea_content { background-color: #ffffff; width: 100%; padding: 4px; flex: 1; }


/* Division shortcode */

/* Usually 3 wide, taller */
.ggkesr-divisions { position: relative; width: 100%; height: auto; padding: 0; margin: 0; 
						  display: grid; xgrid-auto-rows: minmax(0, 1fr); grid-gap: 20px; }

/*  grid-template-columns: minmax(300px, 1fr) repeat(auto-fit, minmax(150px, 1fr)); */
.ggkesr-divisions-content { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.ggkesr-divisions-none { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }

.ggkesr-divisions-column-content { position: relative; height: auto; grid-column: 1 / 3; margin: 0 0 10px 0; }
.ggkesr-divisions-column-content p { max-width: 90%; padding: 0; margin: 0px 0 10px 0; }
.ggkesr-divisions-column-content img { max-width:200px; max-height: 200px; width: auto; height:auto; position: relative; }
.ggkesr-divisions-column-content svg { max-width:400px; max-height: 300px; width: auto; height:auto; margin: auto; position: relative; }

.ggkesr-divisions-column { position: relative; height: auto;}
.ggkesr-divisions-column p { padding: 0; margin: 3px 0 10px 0; }
.ggkesr-divisions-column ul { list-style-type: none; margin: 0; padding: 0; }
.ggkesr-divisions-column li { margin: 0px 0px 6px 0px; }


@media only screen and (max-width: 800px) {
	.ggkesr-divisions-column-content { grid-column: 1/-1; }
	.ggkesr-divisions-content { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
	
	.ggkesr-divisions { xgrid-auto-rows: minmax(0, 1fr); grid-gap: 0; }
	
	.ggkesr-divisions-column-content p { max-width: 100%; text-align: left; }; 
	.ggkesr-divisions-column-content img { display: block; max-width: 150px; max-height: 150px; width: auto; height:auto; margin: auto; position: relative; }
	.ggkesr-divisions-column-content svg { display: block; max-width: 400px; max-height: 300px; width: auto; height:auto; margin: auto; position: relative; }	
	
}
	