body {
    font-size: calc(1rem + 0.125vw);
}

/*********** Start of Main Body Changes ***********/
#sp-main-body {
	padding: calc(1rem + 1.5vh);
}

p.text-bg-primary {
	padding: 1vmin;
}

.sp-contact-info li {
	font-size: 100%;
}

#bottom-logos .col-sm-12 {
	display: flex;
	justify-content: center;
}
/************ End of Main Body Changes ************/

/********* Start of Editor Styles for JCE *********/
.dark-blue-news,
.light-blue-news,
.green-news,
.purple-news,
.red-news {
	color: #ffffff;
	font-weight: bold;
	line-height: 1.5rem;
	padding: 0.625rem;
	text-align: center;
	text-shadow: none;
}

.dark-blue-news {
	background: none repeat scroll 0 0 #05215e;
}

.light-blue-news {
	background: none repeat scroll 0 0 #41a1a6;
}

.green-news {
	background: none repeat scroll 0 0 #009900;
}

.purple-news {
	background: none repeat scroll 0 0 #990099;
}

.red-news {
	background: none repeat scroll 0 0 #ff0000;
}

.dark-blue-text {
	color: #05215e;
}

.light-blue-text {
	color: #41a1a6;
}

.green-text {
	color: #009900;
}

.purple-text {
	color: #990099;
}

.red-text {
	color: #ff0000;
}

.dark-blue-underline,
.light-blue-underline {
	display: inline-block;
}

.dark-blue-underline::after,
.light-blue-underline::after {
	content: '';
	display: block;
	height: 0.125rem;
	margin: 0.25rem auto 0.75rem;
	padding: 0.125rem;
	width: 90%;
}
	
.dark-blue-underline::after {
	background-color: #05215e;
}

.light-blue-underline::after {
	background-color: #41a1a6;
}
	
.note {
	border-left: 0.25rem solid #41a1a6;
	color: #05215e;
	font-style: italic;
	margin-left: 2rem;
	line-height: 1.5rem;
	padding-left: 0.5rem;
}
/*********** End of Editor Styles for JCE *********/

/******** Start of Template Styles for JCE ********/
/*### Coloured background sections ###*/
#sp-component section.bg-dark-blue,
#sp-component section.bg-light-blue,
#sp-component section.bg-red {
	color: #fff;
	margin: 0 0 2rem;
	padding: 1rem;
}

#sp-component section.bg-dark-blue {
	background: #05215e;
}

#sp-component section.bg-light-blue {
	background: #41a1a6;
}

#sp-component section.bg-red {
	background: #ff0000;
}

/*### Ordered and Unordered List sections ###*/
section ol, section ul {
    margin-bottom: 1.5rem;
	margin-inline-start: calc(2rem + 1vw);
	padding-inline-start: 0;
}

section.ol-normal li {
	font-size: calc(15px + 0.15vw);
	font-weight: bold;
}

section.ol-small li {
	font-size: calc(14px + 0.15vw);
	font-weight: bold;
}

section ul.star li:before,
section ul.check li:before {
    color: #41a1a6;
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    line-height: calc(15px + 0.5vw);
    margin: 0 0.75rem 0 -1rem;
}

section ul.star li:before {
    content: '\f005';
}

section ul.check li:before {
    content: '\f00c';
}

/********* End of Template Styles for JCE *********/

/********** Start of Off-canvas styling **********/
.burger-icon > span {
	height: 0.125rem;
	background-color: #05215e;
}

.offcanvas-menu .offcanvas-inner ul.menu > li > ul li a {
    font: 600 1rem/2 'Alegreya Sans SC', Arial, Helvetica, sans-serif;
}

.offcanvas-menu .offcanvas-inner ul.menu li,
.offcanvas-menu.border-menu .offcanvas-inner ul.menu > li {
    border: none;
}

.offcanvas-menu .offcanvas-inner ul.menu li:not(:last-child) {
	border-bottom: 1px solid rgba(5, 33, 94, 0.5)!important;
}

.offcanvas-menu .offcanvas-inner ul.menu li:not(.active) a {
	color: #05215e !important;
}

.offcanvas-menu .offcanvas-inner ul.menu li ul.menu-child li {
	margin-left: 1rem !important;
	padding: 0.5rem 0;
}
/*********** End of Off-canvas styling ***********/

/************* Start of Left Sidebar *************/
#sp-left .sp-module {
	border: none;
	font-family: 'Alegreya Sans SC',Arial, Helvetica;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 1px;
	margin-top: 0;
	padding: 0 1rem 1.5rem;
}

#sp-left .sp-module .sp-module-title {
	background: #05215e;
    border-radius: 0.5rem 0.5rem 0 0;
	color: #ffffff;
	font-size: inherit;
	padding: 0.75rem 1rem;
    margin: 0;
    border-bottom: 1px solid #f3f3f3;
}

#sp-left .sp-module .sp-module-content,
#sp-right .sp-module .sp-module-content {
	background: #41a1a6;
}


#sp-left .sp-module.logo .sp-module-content {
	background: none;
	border-bottom: none;
}

#sp-left .sp-module .pretext,
#sp-left .sp-module .posttext {
    margin: 0;
}

/*##### Left Sidebar Menu #####*/
#sp-left .sp-module .menu {
	background-color: #41a1a6;
	border-radius: 0 0 0.25rem 0.25rem;
	color: #05215e;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 1rem;
	width: 100%;
}

#sp-left .sp-module .menu > li {
	align-self: center;
	padding: 0.75rem 1rem;
	padding: 0.75rem 0.25rem;
	width: 100%;
}

#sp-left .sp-module .menu > li > a {
	color: #ffffff;
	display: inline-block;
	font-size: calc(1rem + 0.375vh);
	line-height: 1.5rem;
	padding: 0;
	position: relative;
	text-decoration: none;
	transition: all 0.6s ease-in-out;
	width: 100%;
}

#sp-left .sp-module .menu > li > a:hover {
	color: #05215e;
}

#sp-left .sp-module .menu > li.active > a {
	color: #05215e;
}

#sp-left .sp-module .menu > li.menu-parent {
	position: relative;
	transition: all 0.3s;
}

#sp-left .sp-module .menu > li.menu-parent > ul {
	position: absolute;
	left: 100%;
	right: auto;
	top: 0.25rem;
	height: 0;
	margin-left: 0;
	min-width: 250px;
	opacity: 0;
	padding: 0 1rem;
	transition: all 0.3s;
	visibility: hidden;
	width: 0;
}

#sp-left .sp-module .menu > li.menu-parent:hover > ul {
	background-clip: padding-box;
	background-color: #41a1a6;
	border-left: 0.0625rem solid #05215e;
	border-radius: 0;
	height: auto;
	opacity: 1;
	visibility: visible;
	width: 100%;
	z-index: 1000;
}

#sp-left .sp-module .menu > li.menu-parent ul > li {
	border-bottom: 1px solid #ffffff;
}

#sp-left .sp-module .menu > li.menu-parent ul > li:last-child {
	border-bottom: none;
}

#sp-left .sp-module .menu > li.menu-parent ul > li > a {
	color: #ffffff;
	display: inline-block;
	font-size: calc(1rem + 0.375vh);
	font-weight: 500;
	padding: 0.25rem 0;
	position: relative;
	text-decoration: none;
	transition: all 0.6s ease-in-out;
	width: 100%;
}

#sp-left .sp-module .menu > li.menu-parent ul > li > a:hover {
	color: #05215e;
}

#sp-left .sp-module .menu > li.menu-parent ul > li.active > a {
	color: #05215e;
}

#sp-left .sp-module .menu > li.menu-parent > a:after {
	display: inline-block;
	margin-left: .255em;
	vertical-align: .255em;
	content: "";
	border-top: .3em solid transparent;
	border-right: 0;
	border-bottom: .3em solid transparent;
	border-left: .3em solid;
	line-height: 1.5rem !important;
	margin-bottom: -3px;
	position: absolute;
	top: 50%;
	transform: translate(5px,-50%);
}

/* Third level menu */
#sp-left .sp-module .menu > li.menu-parent > ul > li {
	position: relative;
}

#sp-left .sp-module .menu > li.menu-parent > ul > li > ul {
	position: absolute;
	left: 100%;
	right: auto;
	top: 0;
	height: 0;
	margin-left: 0;
	min-width: 250px;
	opacity: 0;
	padding: 0 1rem;
	transition: all 0.3s; 
	visibility: hidden;
	width: 0;
}

#sp-left .sp-module .menu > li.menu-parent > ul > li:hover > ul {
	background-clip: padding-box;
	background-color: #41a1a6;
	border-left: 0.0625rem solid #05215e;
	border-radius: 0;
	height: auto;
	opacity: 1;
	visibility: visible;
	width: 100%;
	z-index: 1000;
}

#sp-left .sp-module .menu > li.menu-parent > ul > li.menu-parent > a:after {
	display: inline-block;
	margin-left: .255em;
	vertical-align: .255em;
	content: "";
	border-top: .3em solid transparent;
	border-right: 0;
	border-bottom: .3em solid transparent;
	border-left: .3em solid;
	line-height: 1.5rem !important;
	margin-bottom: -3px;
	position: absolute;
	top: 50%;
	transform: translate(5px,-50%);
}

/* Fourth level menu */
#sp-left .sp-module .menu > li.menu-parent > ul > li > ul > li {
	position: relative;
}

#sp-left .sp-module .menu > li.menu-parent > ul > li > ul > li > ul {
	position: absolute;
	left: 100%;
	right: auto;
	top: 0;
	height: 0;
	margin-left: 0;
	min-width: 250px;
	opacity: 0;
	padding: 0 1rem;
	transition: all 0.3s; 
	visibility: hidden;
	width: 0;
}

#sp-left .sp-module .menu > li.menu-parent > ul > li > ul > li:hover > ul {
	background-clip: padding-box;
	background-color: #41a1a6;
	border-left: 0.0625rem solid #05215e;
	border-radius: 0;
	height: auto;
	opacity: 1;
	visibility: visible;
	width: 100%;
	z-index: 1000;
}

#sp-left .sp-module .menu > li.menu-parent > ul > li.menu-parent > ul > li.menu-parent > a:after {
	display: inline-block;
	margin-left: .255em;
	vertical-align: .255em;
	content: "";
	border-top: .3em solid transparent;
	border-right: 0;
	border-bottom: .3em solid transparent;
	border-left: .3em solid;
	line-height: 1.5rem !important;
	margin-bottom: -3px;
	position: absolute;
	top: 50%;
	transform: translate(5px,-50%);
}

/*##### Left Sidebar Hours #####*/
#sp-left .sp-module tbody {
	background-color: #41a1a6;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 1rem;
	width: 100%;
}

#sp-left .sp-module tr {
	display: inline-flex;
	line-height: 1.5rem;
}

#sp-left .sp-module table tr {
	border-bottom: 1px solid #ffffff;
	padding: 0.75rem 0.25rem;
}

#sp-left .sp-module table tr:last-child {
	border-bottom: none;
}

#sp-left .sp-module table .col-left,
#sp-left .sp-module table .col-right  {
	display: table-cell;
	font-size: calc(1rem + 0.375vh);
	line-height: 1.5rem;
	width: 50%;
}

#sp-left .sp-module table .col-right  {
	text-align: center;
}
/************** End of Left Sidebar **************/

/******** Start of Main Component Changes ********/
section.article-header {
	margin-bottom: 1rem;
}

.article-divider hr {
	border-top-color: rgba(5, 33, 94, 0.5);
	width: 90%;
	margin: 0.5rem auto 1.5rem auto;
}

.latest-news-content {
	margin-bottom: 1rem;
}

#sp-component .va-middle img {
	margin: 0.5rem auto;
}
/********* End of Main Component Changes *********/

/********** Start of PDF Embed settings **********/
.responsive iframe {
	aspect-ratio: 4/3;
	width: 100%;
}

@include media-breakpoint-only(xs) {
    .responsive object {
	display: none;
    }
}

.responsive object {
	aspect-ratio: 5/7;
	height: 100%;
	width: 100%;
}
/*********** End of PDF Embed settings ***********/

/********* Start Cookie Consent settings *********/
#cookiesck_interface {
    border: 0.125rem solid #41a1a6;
    margin: 4vh 4vw;
}

.cookiesck-main-close {
    border: 0.125rem solid #41a1a6;
    right: 0.25rem;
    top: 0.25rem;}
/********** End Cookie Consent settings **********/


/********* Start additional page settings ********/
#contact h3,
#map h3 {
	display: inline-block;
	font-size: 1.5rem;
	margin-top: 1rem;
	padding-left: 0.5rem;
}

#bottom-logos {
	margin-top: calc(2rem + 0.5vh);
}

#sp-footer .container-inner {
	padding: 1rem 0;
}

#sp-footer #sp-footer1,
#sp-footer #sp-footer2  {
	padding: 0.5rem 0;
	text-align: center;
}

@media screen and (min-width: 768px) {
  #sp-footer #sp-footer1 {
	padding: 0.5rem 0;
    text-align: left;
 }
}

@media screen and (min-width: 768px) {
  #sp-footer #sp-footer2 {
	padding: 0.5rem 0;
	text-align: right;
 }
}
/********** End additional page settings *********/