*, *::before, *::after		{ box-sizing:border-box; }
html						{ overflow-x:hidden }
ul,li						{ margin:0; padding:0; list-style:none }
a							{ color:0D68B5; }


html, body { padding:0px; margin:0px; font-family:'Poppins Sans', sans-serif; font-size:18px; color:#405568; min-height:100%; height:100%; background:#F6F9FC; width:100%; }
div, section, header, footer, form, p { margin:0px; padding:0px; position:relative; }
h1, h2, h3, h4, h5, h6 { color:#17324D; padding:0px; margin:0px; font-weight:300; font-family:'Roboto Condensed',sans-serif; text-transform:uppercase; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color:#17324D; }
p, li 					{ line-height:26px; font-weight:100; }
a   					{ text-decoration:none; color:inherit; }
a:hover					{ text-decoration:underline; }
img  					{ border:0px; }
td						{ vertical-align:top; }

.shadow		{ box-shadow: 3px 3px 10px #333; -webkit-box-shadow: 3px 3px 10px #333; -moz-box-shadow: 3px 3px 10px #999; }

h1			{ font-size:28px; }
h2			{ font-size:26px; }
h3			{ font-size:24px; }
h4			{ font-size:22px; }
h5			{ font-size:20px; }

.section 		{ margin:0px auto; width:1400px; position:relative; }
.sectionPadded	{ padding:4% 0; }
.sectionThin	{ padding:0 5%; }
#contentSpacer	{ height:160px; }
.mobileElement	{ display:none; }

header	   		{ top:0px; z-index:2; position:fixed; width:100%; background:#F6F9FC; box-shadow: 3px 3px 10px #ccc; -webkit-box-shadow: 3px 3px 10px #ccc; -moz-box-shadow: 3px 3px 10px #ccc; }
header .section				{ height:100px; }
header .section #logo img 	{ position:absolute; top:13px; left:0px; height:70px; }

header #headerLinks 					{ position: absolute; top: 20px; right: 20px; display: flex; gap: 30px; }
#headerLinks a 							{ display: flex; align-items: center; padding: 0 10px; text-decoration: none; }
#headerLinks .iconCircle 				{ display: flex; flex-direction: row; align-items: center; justify-content: center; flex: 0 0 60px; width: 60px; height: 60px; padding: 14px; margin-right: 10px; border: 1px solid #999; border-radius: 50%; background-color: #ffffff; box-sizing: border-box; transition: background-color 0.2s ease; }
#headerLinks .iconCircle img			{ display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; border-radius: 0; object-fit: contain; transition: filter 0.2s ease; }
#headerLinks .iconText 					{ display: flex; flex-direction: column; align-items: flex-start; font-size: 14px; }
#headerLinks .iconText span		 		{ font-weight: bold; text-transform: uppercase; color: #000; padding: 6px; font-family: 'Roboto Condensed', sans-serif; }
#headerLinks .iconText em 				{ font-style: normal; color: #59a9da; padding: 6px; }
#headerLinks a:hover .iconCircle		{ background-color: #072a4d; }
#headerLinks a:hover .iconCircle img 	{ filter: brightness(0) saturate(100%) invert(87%) sepia(97%) saturate(1355%) hue-rotate(2deg) brightness(104%) contrast(99%); }
/* #headerLinks a:hover .iconCircle img	{ filter: brightness(0) invert(1); } */

header nav					{ background:#072a4d; border-bottom:1px solid #fedc14; padding:0; marging 0; position:relative; height:70px; margin-left:auto; display:flex; align-items:center; overflow:visible; }
.main-menu					{ position:relative; height:70px; padding:0; display:flex; align-items:center; overflow:visible }
.main-menu > li				{ position:relative; height:70px; margin:0; padding:0 }
.main-menu > li > a			{ display:flex; align-items:center; height:70px; padding:0 18px; color:#fff; text-decoration:none; white-space:nowrap }
/* .main-menu > li > a:hover	{ color:#06c; background:#f5f5f5 } */

/* Desktop */
@media (min-width:1081px)	{
.main-menu > li.has-submenu > .submenu	{ position:absolute; top:70px; left:0; width:auto; margin:0; padding:0; display:none; background:#072a4d; box-shadow:0 8px 25px rgba(0,0,0,.15); z-index:2; overflow:visible }
.main-menu > li.has-submenu:hover > .submenu	{ display:block; }
.main-menu .submenu > li				{ position:relative; display:block; width:100%; height:auto; min-height:48px; margin:0; padding:0 }
.main-menu .submenu > li > a			{ display:flex; align-items:center; width:100%; min-height:48px; padding:13px 18px; color:#fff; text-decoration:none; white-space:nowrap }
.main-menu .submenu > li > a:hover		{ color:#06c; background:#f5f5f5 }
.main-menu .submenu > li.has-submenu > .submenu	{ position:absolute; top:0px; left:100%; width:auto; margin:0; padding:0; display:none; background:#072a4d; box-shadow:0 8px 25px rgba(0,0,0,.15); z-index:2; overflow:visible }

.main-menu .submenu > li.has-submenu:hover > .submenu	{ display:block }
.has-submenu > a::after	{ content:""; width:7px; height:7px; margin-left:10px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); flex-shrink:0 }
.main-menu .submenu > li.has-submenu>a::after	{ margin-left:auto; transform:rotate(-45deg) }
.mobile-toggle, .submenu-toggle, .submenu-back, .mobile-utility	{ display:none!important }
}

/* Mobile toggle */
.mobile-toggle						{ display:none; width:32px; height:32px; margin-left:auto; padding:0; border:0; background:transparent; cursor:pointer; position:relative; top:15px; }
.mobile-toggle span, .mobile-toggle span::before, .mobile-toggle span::after{ position:absolute; display:block; width:32px; height:2px; background:#072a4d; content:""; transition:all .25s ease }
.mobile-toggle span					{ top:20px; left:0px }
.mobile-toggle span::before			{ top:-10px; left:0 }
.mobile-toggle span::after			{ top:10px; left:0 }
.mobile-toggle.active span			{ background:transparent }
.mobile-toggle.active span::before	{ top:0; transform:rotate(45deg) }
.mobile-toggle.active span::after	{ top:0; transform:rotate(-45deg) }


#footerSocial					{ overflow:hidden; text-align:left; margin-left:-10px; text-align:center; padding-top:10px; }
#footerSocial img				{ width:48px; margin:4px; opacity:0.8; background:#1372c1; }
#footerSocial img:hover			{ opacity:1; width:52px; margin:2px; }

#footerLinks					{ border-top:1px solid #619935; margin:20px 20% 0 20%; padding-top:10px; }

#footerEnquire					{ background:#008edb; color:#fff; }
#footerEnquire .section			{ padding-top:50px; padding-bottom:50px; overflow:auto; width:1350px; }
#footerEnquire .section	p		{ float:left; width:70%; padding-right:5%; margin-right:5%; border-right:5px solid #fff; font-size:32px; line-height:40px; font-weight:700; }
#footerEnquire .section	.button	{ background:#fff; color:#008edb; border:0px; text-transform:uppercase; margin-top:0px; padding:5px 40px 10px 40px; font-size:14px; }

footer	   				 							{ font-size:14px; padding:30px 0; background:#072a4d; color:#fff; }
footer .section			 							{ overflow:auto; text-align:center; display: flex; flex-wrap:nowrap; width:1400px; }
footer .section	a									{ text-decoration:none; display: inline-flex; padding:2px; font-weight:700; color:#fff; }
footer .section	a:hover								{ color:#008edb; }
footer .section .footerPanel						{ margin:25px; text-align:left; font-size:16px; }
footer .section .footerPanel h2 					{ font-weight:700; padding-bottom:20px; text-transform:uppercase; font-size:22px; color:#fff;  }
footer .section .footerPanel h2 a					{ color:#fff; }
footer .section .footerPanel strong 				{ font-weight:700; color:#fff; }
footer .section .footerPanel p 						{ padding:2px; font-size:14px; }
footer .section .footerPanel table 					{ border-collapse:collapse !important; border:0; }
footer .section .footerPanel table td p 			{ padding:2px 0; }
footer .section .footerPanel table td p a 			{ padding:0; color:#fff; }
footer .section .footerPanel:first-of-type 			{ flex: 0 0 33%; }
footer .section .footerPanel:not(:first-of-type)	{ flex: 1 1 0; }
footer .section .footerPanel p a:hover				{ text-decoration:underline; color:#1372c1; }

#footerEnd						{ padding:20px; font-size:12px; text-align:center; background:#072a4d;}
#footerEnd a , #footerEnd span	{ display:inline-block; padding:0 10px; font-size:12px; color:#fff !important; text-decoration:none !important; opacity:0.5; }
#footerEnd span					{ border-right:1px solid #fff; }
#footerEnd a:hover				{ text-decoration:underline !important; }

.inputForm					{ }
.inputForm div				{ margin-bottom:20px; }

label, .label				{ font-size:14px; float:left; width:30%; padding:2%; color:#222; font-weight:700; }
input[type=text], select, textarea { font-family: 'Open Sans', sans-serif; float-left; width:60%; padding:1% 2%; margin:0.5%; border:0px; border-bottom:1px solid #ddd; font-size:18px; font-weight:300; background:#fff; color:#222; }
select	{ width:64%; }
input[type=text]:focus, select:focus, textarea:focus { border-bottom:1px solid #f00; }

input[type=submit], .submit, .button	{ font-family: 'Open Sans', sans-serif; font-weight:400; display:inline-block; text-align:center; text-decoration:none; font-size:18px; }

input[type=submit]			{ background:#072a4d ; border:2px solid #072a4d ; color:#fff; padding:10px 35px 15px 35px; height:60px; line-height:35px; font-weight:700; text-transform:uppercase; }
.submit						{ background:#072a4d; border:2px solid #072a4d; color:#fff; padding:10px 35px 15px 35px; height:60px; line-height:35px; width:auto; font-weight:700; text-transform:uppercase; }
.button						{ background:transparent; border:2px solid #072a4d ; color:#072a4d ; padding:10px 35px 15px 35px; height:60px; line-height:35px; font-weight:700; text-transform:uppercase; }
input[type=submit]:hover, .submit:hover, .button:hover	{ cursor:pointer; box-shadow:2px 2px 10px #666; -webkit-box-shadow: 2px 2px 10px #666; -moz-box-shadow:2px 2px 10px #666; }
.labelHelp					{ border-bottom:2px solid #f00; }

.formButtons img			{ position:absolute; right:35px; display:none; }

#scrollPage			{ position:fixed; position:fixed; bottom:2%; right:1%; width:55px; cursor:pointer; display:none; }
#scrollPage img		{ width:100%; }

#customerSliderContainer					{ background:#f6f6f6; }
#customerSliderContainer .section 			{ display: flex; align-items: stretch; justify-content: center; gap: 20px; }
#customerSliderContainer .section > div 	{ display: flex; align-items: center; justify-content: center; height: 150px; flex: 0 1 auto; background:#fff; padding:10px; box-shadow: 3px 3px 10px #ccc; -webkit-box-shadow: 3px 3px 10px #ccc; -moz-box-shadow: 3px 3px 10px #ccc; border-radius:10px; }
#customerSliderContainer .section > div img { display: block; max-height: 150px; width: auto; height: auto; max-width: 100%; }

.contentTile					{ float:left; width:27%; margin:3%; height:300px; }
.contentTile div				{ height:230px; position:relative; overflow:hidden; }
.contentTile div img			{ position:absolute; top:0; bottom:0; right:0; left:0; margin:auto; max-width:110%; max-height:110%; }
.contentTile h2					{ height:70px; line-height:70px; text-align:center; background:#008edb; color:#fff; font-weight:300; }
.contentTile h2 strong			{ font-weight:700; }

.panelH2						{ font-size:64px; font-weight:300; text-transform:uppercase; color:#888; text-align:center; }
.panelH2 strong					{ font-weight:700; color:#008edb; }

/* NEWS */
#newsContainer 					{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.newsPanel 						{ display: flex; flex-direction: column; width: 100%; min-width: 0; padding-bottom: 1.5rem; background: #ffffff; border: 1px solid #dce7ef; border-radius: 8px; overflow: hidden; color: #405568; text-decoration: none !important; box-shadow: 0 4px 15px rgba(23, 50, 77, 0.08); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.newsPanel > div 				{ width: 100%; height: 250px; overflow: hidden; background: #eaf4fc; }
.newsPanel > div img 			{ display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.4s ease; }
.newsPanel:hover > div img		{ transform: scale(1.04); }
.newsPanel h2 					{ margin: 1.5rem 1.5rem 0.75rem; color: #17324d; font-size: 1.4rem; line-height: 1.25; }
.newsPanel p 					{ margin: 0 1.5rem 1.5rem; color: #405568; font-size: 0.95rem; line-height: 1.6; }

.newsPanel span 				{ display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; align-self: flex-end; width: fit-content; margin: auto 1.5rem 0; padding: 0.7rem 1.15rem; background: #1372c1; color: #ffffff; border-radius: 4px; font-weight: 700; line-height: 1; transition: background 0.2s ease, transform 0.2s ease; }
.newsPanel span::after 			{ content: " →"; font-size: 1.1rem; line-height: 1; transition: transform 0.2s ease; }
.newsPanel:hover 				{ transform: translateY(-4px); box-shadow:0 8px 25px rgba(23, 50, 77, 0.14); }
.newsPanel:hover span 			{ background: #0d5b9d; }
.newsPanel:hover span::after 	{ transform: translateX(4px); }
.newsPanel:focus-visible 		{ outline: 3px solid #b9ddf5; outline-offset: 3px; }

#mobileNav						{ display:none; }
.mobileNav						{ display:none; }
.noHover:hover					{ border:0; }
.noHover:hover a				{ background:transparent; }

#mainBackground 				{ display:none; position:fixed; top:0; bottom:0; left:0; right:0; z-index:4; background:rgba(0,0,0,0.5); }

#ajaxContentContainer			{ position:fixed; top:5%; padding-bottom:3%; max-height:90%; max-width:94%; display:none; color:#666; background:#fff; box-shadow: 5px 5px 15px #666; -webkit-box-shadow: 5px 5px 15px #666; -moz-box-shadow: 5px 5px 15px #666; z-index:5; }
#ajaxContentResponse		 	{ padding:15px; max-height:80vh; overflow-y:scroll; }
#ajaxContentClose				{ height:12px; }
#ajaxContentClose img			{ position:absolute; top:-10px; right:-10px; }
#ajaxContentContainer h3		{ padding:10px; text-align:center; }

#cookiePolicyContainer			{ position:fixed; bottom:2%; left:2%; padding:1%; text-align:left; background:rgba(13,80,75,0.9); width:500px; color:#fff; font-size:13px; z-index:3; border-radius:5px; }
#cookiePolicyContainer p		{ font-size:13px; text-align:center; }
#cookiePolicyContainer p a		{ color:#fff; text-decoration:none; border-bottom:1px dotted #fff; }
.cookieButtons					{ margin-top:20px; text-align:center; }
.cookieButtons .button, .cookieButtons .submit	{ padding:5px 0; margin:0 10px; font-size:13px; line-height:20px; height:auto; width:26%; }

.cookieControl			{ width:100%; }
.cookieControl th		{ text-align:left; padding:10px; background:#eee; min-width:150px; }
.cookieControl td		{ text-align:left; padding:10px; background:#fcfcfc; }

@media only screen and (max-width:1400px) { /* LAPTOP */ 

.section 		{ margin:0px auto; width:auto; padding-left:5%; padding-right:5%; }
.sectionThin	{ padding-left:0; padding-right:0; }

footer .section	{ width:1200px; }

}


@media only screen and (max-width:1200px) { /* LAPTOP */

footer .section	{ width:1080px; }
#newsContainer	{ display:block; }

}

@media only screen and (max-width:1080px) { /* IPAD PORTRAIT */



header	   		{ height:80px; }
/*header .section				{ height:auto; margin:0; width:100%; } */
header .section #logo img 	{ top:10px; height:60px; }

#contentSpacer	{ height:80px; } 

header #headerLinks 		{ display:none; }
header .section				{ min-height:100px; height:auto; }
header nav					{ border-bottom:0px; }
.site-header				{ height:60px;overflow:visible }
.nav-container 				{ height:60px; padding:0 15px; overflow:visible }
.mobile-toggle				{ display:block; margin-left:auto; }

header nav					{ position:static !important; height:auto !important; margin:0 !important; overflow:visible !important; }
.main-menu					{ position:fixed; top:82px; left:0; width:100vw; height:calc(100dvh - 60px); margin:0; padding:0; display:block; background:#fff; overflow-x:hidden; overflow-y:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; transform:translateX(100%); transition:transform .3s ease; z-index:2 }
.main-menu::-webkit-scrollbar, .main-menu .submenu::-webkit-scrollbar	{ display:none; width:0; height:0 }
.main-menu.mobile-open		{ transform:translateX(0) }

/* Utility buttons */
.main-menu > li.mobile-utility 	{ position:relative; display:grid; grid-template-columns:repeat(auto-fit,minmax(0,1fr)); width:100%; height:auto; min-height:78px; padding:8px 5px; background:#072a4d; border-bottom:1px solid #ddd }
.mobile-utility .utility-button	{ display:flex; width:100%; min-width:0; min-height:60px; padding:5px; flex-direction:column; align-items:center; justify-content:center; gap:5px; color:#fff; text-decoration:none; border-radius:5px }
.mobile-utility .utility-button:hover	{ background:#e9e9e9 }
.mobile-utility .utility-button img		{ width:32px; height:32px; }
.mobile-utility .utility-button span	{ width:100%; font-size:12px; line-height:1.2; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }

/* Main mobile items */
.main-menu > li:not(.mobile-utility)	{ position:relative; display:block; width:100%; height:auto; min-height:55px; margin:0; padding:0; border-bottom:1px solid #e5e5e5; overflow:visible }
.main-menu > li:not(.mobile-utility)>a	{ display:flex; align-items:center; width:100%; min-height:55px; padding:16px 65px 16px 20px; color:#222; text-decoration:none; white-space:normal }
.main-menu .has-submenu					{ position:relative; width:100%; height:auto; min-height:55px }

/* Submenu arrow button */
.main-menu .has-submenu > .submenu-toggle	{ position:absolute; top:0; right:0; width:55px; height:55px; margin:0; padding:0; display:flex; align-items:center; justify-content:center; border:0; background:transparent; cursor:pointer; z-index:2 }
.main-menu .has-submenu > .submenu-toggle span	{ display:block; width:9px; height:9px; border-top:2px solid #333; border-right:2px solid #333; transform:rotate(45deg) }

/* Mobile child menus */
.main-menu .submenu						{ position:fixed!important; top:0px!important; left:100vw!important; width:100vw!important; height:calc(100dvh - 60px)!important; margin:0!important; padding:0!important; display:block!important; background:#fff; overflow-x:hidden!important; overflow-y:auto!important; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; visibility:visible; opacity:1; transition:left .3s ease; z-index:3 }
.main-menu .submenu.mobile-active		{ left:0!important }
.main-menu .submenu.mobile-slide-left	{ left:-100vw!important }
.main-menu .submenu.mobile-slide-right	{ left:100vw!important }
.main-menu .submenu > li				{ position:relative; display:block; width:100%; height:auto; min-height:55px; margin:0; padding:0; border-bottom:1px solid #e5e5e5; overflow:visible }
.main-menu .submenu > li > a			{ display:flex; align-items:center; width:100%; min-height:55px; height:auto; padding:16px 65px 16px 20px; color:#222; text-decoration:none; white-space:normal }

 /* Back button */
.main-menu .submenu > li.submenu-back	{ position:relative; display:block; width:100%; height:55px; min-height:55px; background:#f5f5f5; border-bottom:1px solid #ddd }
.submenu-back button					{ display:flex; align-items:center; width:100%; height:55px; min-height:55px; margin:0; padding:0 20px; gap:12px; border:0; background:transparent; color:#333; font-family:inherit; font-size:16px; font-weight:600; text-align:left; cursor:pointer }
.submenu-back button::before			{ content:""; width:8px; height:8px; flex-shrink:0; border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) }

footer .section	{ width:810px; }


#customerSliderContainer .section 		{ flex-direction: column; }
#customerSliderContainer .section > div { width: 100%; }

.newsGrid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 1.5rem;
    }

}


@media only screen and (max-width:810px) { /* IPAD PORTRAIT */

footer	   				 							{ font-size:16px; }
footer .section			 							{ text-align:center; display: block; width:auto; }
footer .section .footerPanel						{ text-align:center; }
footer .section .footerPanel h2 					{ font-weight:700; padding-bottom:20px; text-transform:uppercase; font-size:22px; }
footer .section .footerPanel h2 a					{ color:#1b4d7b; }
footer .section .footerPanel strong 				{ font-weight:700; color:#1372c1; }
footer .section .footerPanel p 						{ padding:2px; font-size:14px; }
footer .section .footerPanel table 					{ border-collapse:collapse !important; border:0; }
footer .section .footerPanel table td p 			{ padding:2px 0; text-align:left !important; }
footer .section .footerPanel table td p a 			{ padding:0; }
footer .section .footerPanel table td p a img		{ background:#eee; }
footer .section .footerPanel:first-of-type 			{ flex: 0; }
footer .section .footerPanel:not(:first-of-type)	{ flex: 0; }

footer .section .footerPanel table 					{ margin:auto; }

.newsGrid {
        grid-template-columns: 1fr;

        gap: 1.5rem;
    }

    .newsPanel > div {
        height: 250px;
    }

    .newsPanel h2 {
        font-size: 1.3rem;
    }

}


@media only screen and (max-width:550px) { /* MOBILE PORTRAIT */

#footerEnd a , #footerEnd span	{ display:block; padding:2px; border:0; }

}

@media only screen and (max-width:360px) { /* MOBILE PORTRAIT */


}