
:root {

	/* ---------------------------------------
	GLOBAL COLOURS
-----------------------------------------*/
	
	--white: 		#fff;
	--black: 		#000;
	--dark-gray: 	#333;
	--gray: 		#8e8581;
	--light-gray: 	#eee;
	
/* ---------------------------------------
	BRAND COLOURS
-----------------------------------------*/
	
	--dark-blue: 	#264283;
	--light-blue: 	#007dc3;
	--dark-green: 	#1e6633;
	--light-green: 	#a2ad00;
	--dark-red: 	#9b1f23;
	--light-red: 	#dc291e;
	--dark-yellow: 	#f0ab00;
	--light-yellow: #f6d50f;
	
/* ---------------------------------------
	TYPOGRAPHY
-----------------------------------------*/
	--sans-font-family:'Montserrat', Arial, Sans-Serif;
	--serif-font-family: Times, serif;
	--mono-font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
	
	--headings-font-family: var(--sans-font-family);
	--headings-font-weight: 400;
	--headings-font-color: var(--dark-blue);
	--headings-line-height: 1.2em;
	
/* ---------------------------------------
	SCAFFOLDING
-----------------------------------------*/
	--body-background: #fff;
	--body-text-color: #333;
	
/* ---------------------------------------
	HEADER
-----------------------------------------*/	
	--headerWrapBackground: var(--white);
	--headerBackground: var(--white);
	
/* ---------------------------------------
	HERO
-----------------------------------------*/	
	--heroWrapBackground: var(--white);
	--heroBackground: var(--white);
	
/* ---------------------------------------
	CONTENT
-----------------------------------------*/	
	--contentWrapBackground: var(--white);
	--contentBackground: var(--white);

/* ---------------------------------------
	NAVIGATION
-----------------------------------------*/
	--navWrap-background: var(--nav-background);
	--nav-background: var(--light-gray);
	--nav-link-color: 	var(--dark-blue);
	--nav-hover-color: 	var(--light-green);
	--nav-link-font-size: 	18px;
	--nav-link-font-weight: 400;
	--nav-font-family: var(--sans-font-family);
	--dropdown-menu-background-color: var(--white);	
	--nav-child-link-color: 	var(--dark-blue);
	--nav-child-hover-color: 	var(--light-green);
	
/* ---------------------------------------
	TABLE STYLES
-----------------------------------------*/
	
	/*STRIPED*/
	
	--table-border: var(--light-gray);
	--table-striped-cell-border: var(--table-border); 
	--table-striped-thead-border: var(--table-border);
	--table-striped-thead-bg: var(--light-gray);
	--table-striped-bg: var(--white);
	

/*root end*/}

/* ---------------------------------------
	SCAFFOLDING
-----------------------------------------*/

body {
	margin: 0;
	padding: 0;
	min-height: 100vh;
	font-family: var(--sans-font-family);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--body-text-color); 
	background-color: var(--body-background); 
	/*background: url('../images/animated-waves.svg') left top no-repeat;
	background-size: contain;*/
}


body.error-page #maincontent {
	margin-top: 100px;
}


/* ---------------------------------------
	MASONARY
-----------------------------------------*/

/*.grid-child {
	display: flex;
	width: 100%;
	max-width: 1320px;
	margin-right: auto;
	margin-left: auto;
}


.container {
	max-width: 1200px;
	padding: 0 20px;
	margin: auto;
}
*/

/* ---------------------------------------
	IMAGE
-----------------------------------------*/

/*---FLOATS---*/



.right.item-image, .imagefloatright {
	float: right; margin-left:1em;
}
.left.item-image, .imagefloatleft {
	float:left; margin-right:1em;
}


@media (max-width: 992px) {
	
.right.item-image, .imagefloatright, .left.item-image, .imagefloatleft  {float:none!important; margin:0;}
}

/*.img_caption {
	max-width: 100%;
	width: auto !important;
}*/

figcaption.caption {
font-size: 0.9em;
color: var(--dark-gray);
padding-top:5px;}

.mw300.item-image {max-width:300px;}
.mw350.item-image {max-width:350px;}
.mw400.item-image {max-width:400px;}
.mw450.item-image {max-width:450px;}
.mw500.item-image {max-width:500px;}

@media (max-width: 992px) {
	
.mw300.item-image,
.mw350.item-image,
.mw350.item-image,
.mw400.item-image,
.mw450.item-image,
.mw500.item-image {max-width:100%!important;}
}

.imgBorder {border:1px solid var(--light-gray); padding:10px;}
.imgFrame {border:5px solid var(--white); box-shadow: var(--gray) 2px 5px 20px;}
.imgPad {padding:1em;}


/*---SYSTEM FLOAT---*/

/*.right.item-image {max-width:350px;}*/


/* ---------------------------------------
	TYPOGRAPHY
-----------------------------------------*/

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
	margin-top: 0;
	margin-bottom: 0.5rem;
	font-weight: var(--headings-font-weight);
	line-height: var(--headings-line-height);
	color: var(--headings-font-color);
}

h1, .h1 { font-size: 38px;}
h2, .h2{ font-size: 38px;}
h3{ font-size: 30px;}
h4{ font-size: 24px;}
h5{ font-size: 20px;}
h6{ font-size: 18px;}

p { margin-bottom: 1rem!important;}

ul, ol { padding: .75em 0 .75em 0; margin: 0 0 0 35px;}

.page-header {
	font-family: var(--headings-font-family);
	font-weight: var(--headings-font-weight);
	margin: 20px 0;
	/*border-bottom:2px solid var(--headings-font-color);*/
	border-bottom:2px solid var(--light-green);
}

.introText {color:var(--dark-blue); font-size:1.5em; line-height:1.2em;}

.strapline {font-size:2rem;}


/* ---------------------------------------
	LINKS
-----------------------------------------*/

a {
	color: var(--light-green);
	text-decoration:none;
}

a:hover {
	color: var(--dark-blue);
}

.page-header a {text-decoration:none;}

/* ---------------------------------------
	HEADER
-----------------------------------------*/

.headerWrap { width:100%; margin:0; padding:1em 0; background: var(--headerWrapBackground); }

header {display:grid; row-gap: 1em; column-gap: 1em; grid-template-columns: repeat(12, minmax(0,1fr)); justify-items: start; background: var(--headerBackground);}

header .logo {grid-column: span 3; padding:1em; align-self:center;}

header .address,
div#bootnavAside {grid-column: span 9; padding:0 1em; align-self:center;}
	

@media (max-width: 992px) {
	header, 
	header .logo, 
	header .address {
		grid-template-columns: 1fr;
		grid-column: span 12;
		justify-items: center; }
	
	header .logo {text-align:center;}
	header .address {text-align:center;}
}



/* ---------------------------------------
	HERO
-----------------------------------------*/

.heroWrap{
	width:100%;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	background: var(--heroWrapBackground);
}

.hero{
	padding: 0px 0px 0px 0px;
	background: var(--heroBackground);
}

/* ---------------------------------------
PANELS
-----------------------------------------*/

/*---CUSTOM PANELS---*/

/*---Roof panel---*/

#roofPanel.moduleWrap {background: var(--light-gray);}
#roofPanel #moduleGrid > .moduleGrid-item > div {background: var(--light-gray); }
#roofPanel.moduleWrap, #roofPanel #moduleGrid > .moduleGrid-item > div, #moduleGrid > .moduleGrid-item > div {padding:0em;}

/*---Announcement panel---*/

#announcePanel.moduleWrap {background: var(--light-gray);}
#announcePanel #moduleGrid > .moduleGrid-item > div {background: var(--light-gray); }
#announcePanel.moduleWrap, announcePanel #moduleGrid > .moduleGrid-item > div, #moduleGrid > .moduleGrid-item > div {padding:0em;}

/*---Connect panel---*/

#connectPanel.moduleWrap {background: var(--light-gray);}
#connectPanel #moduleGrid > .moduleGrid-item > div {background: var(--light-gray); }

/* Let's Connect Panel */	
.connectBtn {padding-top:1em; text-align:center;}
#connectPanel p {font-size:20px; line-height:22px; color:var(--dark-blue);}

/*---TOP PANELS COMMON FACTORS---*/

.moduleWrap { width:100%; margin:0; padding:0;}
#moduleGrid > .moduleGrid-item  {display:grid; grid-gap:1em; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); justify-items: space-between;}
#moduleGrid > .moduleGrid-item > div {padding:2em 0;}

/*---TOP PANELS---*/

#t1Panel.moduleWrap {background: var(--dark-gray);}
#t1Panel #moduleGrid > .moduleGrid-item > div {background: var(--light-gray); }

#t2Panel.moduleWrap {background: var(--light-gray);}
#t2Panel #moduleGrid > .moduleGrid-item > div {background: var(--light-gray); }

#t3Panel.moduleWrap {background: var(--light-gray);}
#t3Panel #moduleGrid > .moduleGrid-item > div {background: var(--light-gray); }

/*---BOTTOM PANELS---*/

#b1Panel.moduleWrap {background: var(--white);}
#b1Panel #moduleGrid > .moduleGrid-item > div {background: var(--white); }

#b1Panel.moduleWrap section#moduleGrid div.moduleGrid-item > div {padding:0!important;}

#b2Panel.moduleWrap {background: var(--light-gray);}
#b2Panel #moduleGrid > .moduleGrid-item > div {background: var(--light-gray); }

#b3Panel.moduleWrap {background: var(--white);}
#b3Panel #moduleGrid > .moduleGrid-item > div {background: var(--white); }

/*---FULL WIDTH PANELS---*/

#fw1Panel.moduleWrap {padding:0!important; background: var(--dark-blue);}
#fw1Panel #moduleGrid > .moduleGrid-item > div {padding:0!important; background: var(--light-gray); }


/* ---------------------------------------
	MAIN CONTENT
-----------------------------------------*/

/*---CONTENT GRID---*/

.contentWrap { width:100%; margin:0; padding:0; background: var(--contentWrapBackground); }

.contentGrid {
		display: grid;
		grid-gap: 1em;
		grid-template-columns: 250px 1fr 250px ;
		grid-template-areas:
			"content content content";
		background: var(--contentBackground);
		padding:1em;
}

.sidebar-left {grid-area:sidebar-l;}
.content {grid-area:content;}
.sidebar-right {grid-area:sidebar-r;}


.has-sidebar-left.has-sidebar-right.contentGrid {
			grid-template-areas:
			"sidebar-l content sidebar-r"
}

.has-sidebar-left.contentGrid {
				grid-template-areas:
			"sidebar-l content content"
}

.has-sidebar-right.contentGrid {
				grid-template-areas:
			"content content sidebar-r"
}

@media (max-width: 992px) {

	.contentGrid,
	.has-sidebar-left.has-sidebar-right.contentGrid,
	.has-sidebar-left.contentGrid,
	.has-sidebar-right.contentGrid
	{
		grid-template-columns:1fr;
		grid-template-areas:
			"content"
			"sidebar-l"
			"sidebar-r"
	}	
	
}


/*---BLOG---*/

#maincontent {margin:1em 0;}

#maincontent .blog-items {
	column-gap: 2em;
	margin-bottom: 2em;
}

#maincontent .blog-item {
	/*box-shadow: rgba(42,67,113,0.2) 5px 5px 30px;*/
	border: 2px solid var(--light-gray); 
	margin-bottom: 2em;
}

/*#maincontent .blog-item .item-image {
	width: 100%;
}

#maincontent .blog-item .item-image img {
	width: 100%;
}*/

#maincontent .blog-item .item-content {
	padding: 1em;
}

/* Make the Div wrap around the content */

div.com-content-article__body:after, div.com-content-category-blog__item.blog-item:after { 
   content: "."; 
   visibility: hidden; 
   display: block; 
   height: 0; 
   clear: both;
}


/*---BLOG CATEGORY ---*/

div.category-desc {margin-bottom:2em;}


/*---BLOG MASONARY---*/

@media (min-width: 1200px) {
	.blog-items.masonry-2, .blog-items.columns-2 {
		display: grid;
		grid-template-columns: repeat(2, minmax(0,1fr));
		column-gap: 2em;
	}
	.blog-items.masonry-3, .blog-items.columns-3 {
		display: grid;
		grid-template-columns: repeat(3, minmax(0,1fr));
		column-gap: 2em;
	}
	.blog-items.masonry-4, .blog-items.columns-4 {
		display: grid;
		grid-template-columns: repeat(4, minmax(0,1fr));
		column-gap: 2em;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.blog-items.masonry-2, .blog-items.columns-2 {
		display: grid;
		grid-template-columns: repeat(2, minmax(0,1fr));
		column-gap: 2em;
	}
	.blog-items.masonry-3, .blog-items.columns-3,
	.blog-items.masonry-4, .blog-items.columns-4{
		display: grid;
		grid-template-columns: repeat(3, minmax(0,1fr));
		column-gap: 2em;
	}
}

@media (min-width: 576px) and (max-width: 991px) {
	.blog-items.masonry-2, .blog-items.columns-2,
	.blog-items.masonry-3, .blog-items.columns-3,
	.blog-items.masonry-4, .blog-items.columns-4 {
		display: grid;
		grid-template-columns: repeat(2, minmax(0,1fr));
		column-gap: 2em;
	}
}


/*---BLOG TYPOGRAPHY---*/

div#maincontent div.item-content div.page-header h2 {font-size:1.2em;}

nav.pagination__wrapper {background: var(--body-background);}


/* ---------------------------------------
	FOOTER
-----------------------------------------*/

footer {}
footer, footer a, footer a:hover, footer a:focus {color: var(--white);}
footer a {font-weight:700; text-decoration:none;}
footer a:hover, footer a:focus {text-decoration:underline;}

#footer-copyright.moduleWrap,
#footerAddress.moduleWrap
{ width:100%; margin:0; padding:0;}

#footer1.moduleWrap
{ width:100%; margin:0; padding:1em 0;}

#footer-copyright #moduleGrid > .moduleGrid-item,
#footerAddress #moduleGrid > .moduleGrid-item,
#footer1 #moduleGrid > .moduleGrid-item,
{display:grid; grid-gap:1em; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); justify-items: space-between;}

#footer-copyright #moduleGrid > .moduleGrid-item > div,
#footerAddress #moduleGrid > .moduleGrid-item > div, 
#footer1 #moduleGrid > .moduleGrid-item > div {padding:.5em;}

#footer-copyright.moduleWrap {background: var(--light-green);}
#footer-copyright #moduleGrid > .moduleGrid-item > div {background: var(--light-green); }

#footerAddress.moduleWrap {background: var(--light-green);}
#footerAddress #moduleGrid > .moduleGrid-item > div {background: var(--light-green); }

#footer1.moduleWrap {background: var(--light-green);}
#footer1 #moduleGrid > .moduleGrid-item > div {background: var(--light-green); }

div#footer-copyright.moduleWrap div.moduletable,
div#footerAddress.moduleWrap div.moduletable
{text-align: center;}

.gridFooterLogos {
	margin:1em 0;
	display: flex;
	flex-direction:row;
	justify-content:center;
	align-items: flex-end;
	gap:1em;}


/* ---------------------------------------
	NAVIGATION
-----------------------------------------*/

/* HAMBURGER ICON */

.navbar-light .navbar-toggler-icon {
     background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(30, 102, 51, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-light .navbar-toggler {
color: var(--light-yellow)!important;	
border-color: var(--dark-green)!important;
border-width: 2px;
}

/* TOP MENU AND OR NAVIGATION */

#navWrap,
#bootnavWrap{
	width:100%;
	background: var(--navWrap-background);
	padding:0;
}

nav {background: var(--nav-background);}

#navbar ul.nav{
	display: flex;
}

#navbar ul.nav > li {
	margin: 0 10px;;
}

#navbar ul.nav > li > a {
	padding: 0 5px 0 0;
	min-height: 40px;
	color: var(--nav-link-color);
	font-family: var(--nav-font-family);
	font-size: var(--nav-link-font-size);
	font-weight: var(--nav-link-font-weight);
	
	
}

#navbar ul.nav > li.active > a,
#navbar ul.nav > li:hover > a,
#navbar ul.nav > li:focus > a{
	color: var(--nav-hover-color); 
}

#navbar ul.nav ul{
	display: none;
	position: absolute;
	background: var(--white); 
	box-shadow: rgba(0,0,0,0.2) 5px 5px 20px;
	z-index:9999;
}


#navbar ul.nav li:hover > ul,
#navbar ul.nav li:focus > ul {
	display: block;
}

/* TO DO


#navbar ul.nav > li.parent a:after {
display: inline-block;
margin-left: .255em;
vertical-align: .255em;
content: "";
border-top: .3em solid;
border-right: .3em solid transparent;
border-bottom: 0;
border-left: .3em solid transparent;
} 

div#navbar1 ul.nav > li.parent ul > li > a:after {display:none;}

nav#navbar nav.navbar.navbar-expand-md div#navbar1.navbar-collapse.collapse.show ul.mod-menu.mod-list.nav li.nav-item.item-168.active.deeper.parent span.mod-menu__heading.nav-header:after {
	display: inline-block;
margin-left: .255em;
vertical-align: .255em;
content: "";
border-top: .3em solid;
border-right: .3em solid transparent;
border-bottom: 0;
border-left: .3em solid transparent;
}*/


@media (max-width: 768px) {
	
	#navbar {
		margin-left: auto;
	}

	
	#navbar .navbar-collapse > ul {
		display: flex;
		flex-direction: column;
	}

	#navbar .navbar-collapse > ul ul {
		display: block;
		position: static;
		box-shadow: none;
	}
	
	#navbar .navbar-collapse > ul li {align-self:center;}

	#navbar .navbar-collapse > ul li a {
		display: block;
		padding: 10px;
	}
}

@media (min-width: 769px) {.navbar-brand {display:none;}
	
}


/* ---------------------------------------
	GIMESPACE BOOTSTRAP NAV
-----------------------------------------*/

div#bootnavWrap ul.nav > li > a {
	font-family: var(--nav-font-family);
	color: var(--nav-link-color);
	font-size: var(--nav-link-font-size);
	font-weight: var(--nav-link-font-weight);
}

div#bootnavWrap ul.nav > li.active > a,
div#bootnavWrap ul.nav > li:hover > a,
div#bootnavWrap ul.nav > li:focus > a{
	color: var(--nav-hover-color); 
}

div#bootnavWrap ul.nav li > ul > li a { color: var(--nav-child-link-color); font-weight: var(--nav-link-font-weight);}
div#bootnavWrap ul.nav li > ul > li:hover a,
div#bootnavWrap ul.nav li > ul > li:focus a { color: var(--nav-child-hover-color); background: var(--dropdown-menu-background-color)}

div#bootnavWrap .dropdown-menu {background: var(--dropdown-menu-background-color);}

@media (max-width: 992px) {
div#bootnavWrap  div#navbarNav ul.nav {flex-direction: column;}
div#bootnavWrap div#navbarNav ul.nav li.parent ul.dropdown-menu {position:static; float:none;}
}


/* last dropdown stays within page */

div#bootnavWrap  div#navbarNav ul.nav li:last-child ul.dropdown-menu {left:auto; right:0;}

/* last dropdown stays within page END */

/* ---------------------------------------
	GIMESPACE BOOTSTRAP NAV ASIDE POSITION
-----------------------------------------*/

div#bootnavAside {width: 100%;}
div#bootnavAside .navbar, div#bootnavAside div#navbarNav {justify-content:flex-end;}

div#bootnavAside nav {background: var(--headerBackground);}

div#bootnavAside ul.nav > li > a {
	font-family: var(--nav-font-family);
	color: var(--nav-link-color);
	font-size: var(--nav-link-font-size);
	font-weight: var(--nav-link-font-weight);
}

div#bootnavAside ul.nav > li.active > a,
div#bootnavAside ul.nav > li:hover > a,
div#bootnavAside ul.nav > li:focus > a{
	color: var(--nav-hover-color); 
}

div#bootnavAside ul.nav li > ul > li a { color: var(--nav-child-link-color); font-weight: var(--nav-link-font-weight);}
div#bootnavAside ul.nav li > ul > li:hover a,
div#bootnavAside ul.nav li > ul > li:focus a { color: var(--nav-child-hover-color); background: var(--dropdown-menu-background-color)}

div#bootnavAside .dropdown-menu {background: var(--dropdown-menu-background-color);}

@media (max-width: 992px) {
div#bootnavAside .navbar, div#bootnavAside div#navbarNav {justify-content:center;}	
div#bootnavAside {grid-template-columns: 1fr; grid-column: span 12; padding:0; }
div#bootnavAside div.container {padding:0; margin:0;}
div#bootnavAside  div#navbarNav ul.nav {flex-direction: column; text-align:center; margin-top:2em;}
div#bootnavAside div#navbarNav ul.nav li.parent ul.dropdown-menu {position:static; float:none;}
}


/* last dropdown stays within page */

div#bootnavAside  div#navbarNav ul.nav li:last-child ul.dropdown-menu {left:auto; right:0;}

/* last dropdown stays within page END */

/* ---------------------------------------
	TABLES
-----------------------------------------*/

table.table-striped {
  /*border: 1px solid var(--table-striped-border);*/
  width: 100%;
  text-align: left;
  border-collapse: collapse;
}

table.table-striped td, table.table-striped th {
  padding: 5px 5px;
}


table.table-striped tr:nth-child(even) {
  background: var(--table-striped-bg);
}
table.table-striped thead {
  background: var(--table-striped-thead-bg);
  border-bottom: 2px solid var(--table-striped-thead-border);
}
table.table-striped thead th {
  font-weight: bold;
  text-align: left;
}


/* ---------------------------------------
	LANGUAGES
-----------------------------------------*/

div.mod-languages {	display: flex;
	flex-direction:row;
	justify-content:flex-end;
	align-items:center;
	gap:1em;
	padding:.5em;}

@media (max-width: 768px) {
div.mod-languages {justify-content:center;}
}

div.mod-languages__pretext.pretext p {margin:10px 0;}



