/* Normalise CSS */
html{line-height:1.4;-webkit-text-size-adjust:100%}main{display:block}h1{font-size:2rem;margin:.67rem 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1rem}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1rem}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25rem}sup{top:-.5rem}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;appearance: button;}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}
fieldset{padding:.35rem .75rem .625rem}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;appearance: textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* Framework*/
:root
{
    --lightTextColour: #FFF;
    --darkTextColour: #000;
    --greenColour: #005C5F;
    --blueColour: #1E4B5A;
    --yellowColour: #F4A800;
    --paleYellowColour: rgba(244, 168, 0, 0.2);
    --primaryFont: circe, sans-serif;
    --secondaryFont: ff-uberhand-pro, sans-serif;
    font-family: circe, sans-serif;

}

html, body {min-width:320px;color:#000000;font-size:16px;font-weight:400;font-family: var(--primaryFont);line-height:1.4;position:relative;display:block;overflow-x:hidden;min-height:100svh;margin:0;padding:0;border:0;}
* {box-sizing: border-box;}
img {display:block;max-width:100%;}
p:first-child {margin-top:0;}
p:last-child {margin-bottom:0;}
h1,h2,h3,h4,h5 {margin:0;}
body[data-input-method="mouse"] * {outline:none !important;}

/* Exceptions */
.exception .wrapper {text-align:center;padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:50vh;max-width:550px;margin:auto;}
.exception .wrapper::before {content:'';opacity:0.75;display:block;width:100px;height:100px;background-position:center;background-repeat:no-repeat;background-size:contain;margin-bottom:10px;}
.exception[data-exception="error"] .wrapper::before {background-image:url('icons/error.svg');}
.exception[data-exception="maintenance"] .wrapper::before {background-image:url('icons/cogs.svg');}
.exception[data-exception="not-found"] .wrapper::before {background-image:url('icons/warning.svg');}

/* Section */
section {display:block;}
section > .container {margin:auto;display:block;position:relative;}
section > .container.full {max-width:2400px;}
/* section > .container.main {width:min(1920px, calc(100% - 40px));padding:0px 20px;} */
section > .container.main {width:min(1560px, calc(100% - 40px));padding:0px 20px;}
section > .container.narrow {width:min(1200px, calc(100% - 120px));padding: 0px 20px;}
@media (max-width:720px)
{
    section > .container.main {width:100%;}
    section > .container.narrow {width:100%;}
}

/* Text Aligns */
.text-align-left {text-align: left;}
.text-align-center {text-align: center;}
.text-align-right {text-align: right;}

/* Background Colours */
.bg-grey {background-color:#c4c4c4;color:var(--darkTextColour);}
.bg-black {background-color: #000;color:var(--lightTextColour);}

/* Pagination */
ul.pagination{display:flex;flex-direction:row;align-items:center;justify-content:center;margin:20px 0 60px 0;padding:0;}
ul.pagination li{margin:0;padding:0;list-style:none;}
ul.pagination li a{display:block;padding:0 6px;color:#000000;text-decoration:none;font-size:1rem;font-weight:600;}

/* Skip To Content */
.skip-to-content {position:absolute;left:-200%;top:0;display:block;width:100%;text-decoration:none;font-weight:600;text-align:center;background-color:#eee;color:#000;font-size:1rem;padding:10px;outline:none;border:0;}
body[data-input-method="keyboard"] .skip-to-content:focus {position:relative;left:unset;}

/* Buttons */
.primary-button {display:inline-block;appearance: none;border-radius: 10px;border:1px solid var(--greenColour); background-color:var(--greenColour);padding:10px 35px;color:#fff;text-decoration: none;font-size:18px;font-weight:700;transition:background-color .25s ease-in-out;}
.primary-button:hover, .primary-button:focus {background-color:#fff;color:var(--greenColour);}

/* Header */
header {position: absolute;top: 0;width: 100%;z-index: 10;}
header .container {max-width:1520px;margin:auto;}
header .wrapper {display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center;padding:20px;border-bottom: 1px solid #fff;}

/* Header Navigation */

header nav {line-height:120%;}
header nav ul {display:flex;flex-direction:row;list-style:none;align-items: center;margin:0;padding:0;justify-content:end;gap:20px;}
header nav li {font-weight:700;display:block;position:relative;color:#fff;font-size: 18px;text-transform: uppercase;    padding: 8px 0px 2px;}
header nav > ul > li:last-of-type {background-color: var(--yellowColour);color: var(--greenColour); padding: 8px 14px 2px;border-radius: 20px;}
header nav > ul > li:last-of-type:hover{background-color: var(--greenColour);transition:color .45s ease-in-out, background-color .45s ease-in-out;}
header nav > ul > li:last-of-type:hover a{color: #fff;transition:color .45s ease-in-out;}
header nav button {appearance:none;position:relative;padding:10px;border:0;background-color:transparent;font-size: 18px;text-transform: uppercase;color:inherit;font-weight:inherit;}
header nav button:hover {cursor:pointer;}
header nav a {display:inline-block;text-decoration:none;color:#fff;position:relative;padding:10px;}
header nav > ul > li:last-of-type a{color: var(--greenColour);}
header nav a:hover {color: var(--yellowColour);transition:color .45s ease-in-out;}
header nav ul li > ul {display:none;position:absolute;z-index:2;max-width:200px;left:0;}
header nav ul li > ul li a:hover{color: var(--greenColour);}
header nav ul li:last-child > ul {right:0;left:unset;}
header nav button[aria-expanded="true"] ~ ul {display:block;border:0px;background: var(--yellowColour);margin-top: 26px;}
header nav li ul {background-color:#FFF;border:1px solid #c4c4c4;}

#mobile-nav-button { display:none; }

main[data-space="yes"] {padding-bottom: 500px;}
main[data-space="no"] {padding-bottom: 100px;}

/* Footer */
footer {position: relative;z-index: 1;min-height: 575px;margin-top: -550px;padding-top: 340px;background:transparent url('icons/footer.svg') no-repeat bottom center; background-size: auto 570px;background-position: 72% bottom;}
footer .container {max-width:1520px;margin:auto;}
footer .wrapper {padding:10px 20px;text-align:center;}
footer .wrapper .top-line {display: flex;justify-content: space-between;gap:80px;}
footer .wrapper .top-line .logo {width: 300px;object-fit: contain;object-position: top;align-self:end;}
footer .wrapper .top-line .textbox {width: 570px; margin-top: -14px;font-size: 35px; line-height: 1.1;color:var(--yellowColour);font-family: var(--secondaryFont);text-align: left;}
footer .wrapper .top-line .textbox a {display: inline-block;padding: 12px 32px;margin-top:20px;border-radius: 10px; font-family: var(--primaryFont); font-size: 16px; font-weight: 700; color:var(--greenColour); background-color:var(--yellowColour); text-decoration: none;}
footer .wrapper .bottom-line {color: #fff;padding-top: 20px;border-top: 1px solid #fff;margin-top: 50px;}
footer .wrapper .bottom-line a{color:var(--yellowColour);}

footer .wrapper .logoBox {display:grid;grid-template-rows:auto 1fr;color:#fff;margin-top:30px;font-weight:300;gap:12px;}
footer .wrapper .logoBox .logos {display:flex;gap:20px;padding:16px 20px 14px;overflow: hidden;background: rgba(255,255,255,0.81);border-radius: 20px;}
footer .wrapper .logoBox .logos img {mix-blend-mode: multiply;max-width:95px;object-fit:contain}
footer .wrapper .logoBox .text{font-family:var(--primaryFont);font-weight:300;font-size:16px;}
footer .wrapper .logoBox .logo-slider {background: rgba(255, 255, 255, 0.81);padding:16px 20px 14px;border-radius: 20px;}
footer .wrapper .logoBox .logo-slider .splide__track{mix-blend-mode: multiply;}
footer .wrapper .logoBox .logo-slider .splide__track img {max-width:100%;height: 100%;margin:auto;object-fit:contain;object-position: center;}


#mobile-nav-button { z-index:2; position:absolute; border-radius:15px; top:20px; right:20px; height:60px; width:65px; appearance: none; border:1px solid var(--yellowColour); background-color:var(--yellowColour); background-image:url('../core/icons/Menu.svg'); background-repeat: no-repeat; background-position: center; background-size:auto 40%; }
#mobile-nav-button:hover, body[data-input-method="keyboard"] #mobile-nav-button:focus { cursor: pointer; border:1px solid #333; }

.mobile-nav-panel { display:none; position:fixed; right:0; top:0; width:100%; max-width:360px; z-index:2; }
.mobile-nav-panel.open { display:block; }
.mobile-nav-panel .main-panel, .mobile-nav-panel .sub-panel { position:absolute; width:100%; min-height:100vh; top:0; right:0; background-color:var(--yellowColour); display:flex; flex-direction: column; gap:10px; padding:20px 20px 60px 20px; z-index:100; overflow:auto; }
.mobile-nav-panel .sub-panel { display:none; z-index:101; }
.mobile-nav-panel .sub-panel.open { display:flex; }
.mobile-nav-panel .sub-panel .panel-nav { justify-content: start; }
.mobile-nav-panel .main-panel .buttons { flex-direction: column; gap:10px; flex-wrap: unset; width:220px; text-align: center; margin-top:10px; }
.mobile-nav-panel .mobile-nav { list-style: none; width:100%; display:block; padding: 0px 20px;}
.mobile-nav-panel .mobile-nav ul{margin:0;padding:0;list-style:none;}
.mobile-nav-panel .mobile-nav li { margin-bottom:15px; }
.mobile-nav-panel .mobile-nav li a, .mobile-nav-panel .mobile-nav li button { appearance: none; display:block; border:0; color:var(--greenColour); background-color:transparent; padding:0; text-align: left; text-decoration: none;  font-size:1.125rem; padding:15px 0px 6px 0px; width:100%; }
.mobile-nav-panel .mobile-nav li:hover { cursor: pointer; }
.mobile-nav-panel .mobile-nav li a.child { margin-left: 18px; font-size: 1.25rem; padding-top: 0px; }
.mobile-nav-panel .mobile-nav li a span, .mobile-nav-panel .mobile-nav li button span { position:relative; }

.mobile-nav-panel .mobile-nav li a span::after, .mobile-nav-panel .mobile-nav li button span::after { content:''; display:block; height:2px; width:0; position:absolute; bottom:-10px; left:0; transition:width .25s ease-in-out; background-color:var(--greenColour); }
.mobile-nav-panel .mobile-nav li:hover a span::after, .mobile-nav-panel .mobile-nav li:hover button span::after { width:100%; }
.mobile-nav-panel .mobile-nav li a:hover, .mobile-nav-panel .mobile-nav li button:hover { cursor: pointer; }

.mobile-nav-panel .mobile-nav.main li:last-child { margin-top:20px;position: absolute;bottom: 20px;width: calc(100% - 80px);left: 40px;right: 40px; }
.mobile-nav-panel .mobile-nav.main li:last-child a span { border-radius:10px; background-color:var(--greenColour);font-size: 18px;text-transform: capitalize;    line-height: 1.15;color: #fff; padding:20px 40px; display:block; min-width:140px; text-align: center; }
.mobile-nav-panel .mobile-nav.main li:last-child a span::after { display:none; }

.mobile-nav-panel .panel-nav { width:100%; display:flex; flex-direction: row; justify-content: end; margin-bottom:30px; }
.mobile-nav-panel .close-button { appearance: none; font-size: 20px; border:1px solid transparent; background-color:transparent; padding:18px 60px 18px 10px; color:var(--greenColour); position:relative; border:1px solid transparent; border-radius:5px; }
.mobile-nav-panel .close-button::after { content:''; position:absolute; top:0; bottom:0; right:0; height:100%; aspect-ratio: 1/1; display:block; background-image:url('../core/icons/MobMenuClose.svg'); background-position: center; background-repeat: no-repeat; background-size:auto 60%; }
.mobile-nav-panel .close-button:hover { border:1px dashed var(--greenColour); cursor: pointer; }
.mobile-nav-panel .back-button { appearance: none; font-size: 20px; border:1px solid transparent; background-color:transparent; padding:18px 60px 18px 10px; color:var(--greenColour); position:relative; border:1px solid transparent; border-radius:5px; }
.mobile-nav-panel .back-button::before { content:''; position:absolute; top:0; bottom:0; left:0; height:100%; aspect-ratio: 1/1; display:block; background-image:url('../core/icons/Arrow.svg'); background-position: center; background-repeat: no-repeat; transform:rotate(180deg); }
.mobile-nav-panel .back-button:hover { border:1px dashed var(--greenColour); cursor: pointer; }

@media (max-width:1080px){
    footer .wrapper .top-line .logo{align-self:center;}
}

@media (max-width:980px){
    header nav ul {display: none;}
    #mobile-nav-button {display:block;}
    .mobile-nav-panel .mobile-nav ul{display:block;}

}

@media (max-width:880px){
    footer {padding-top: 200px;}
    footer .wrapper .top-line .textbox {font-size: 20px;}
    footer .wrapper .top-line .textbox a{margin-top: 20px;}
}

@media (max-width:680px){
    footer .wrapper .top-line {flex-wrap: wrap;justify-content: flex-start;gap:20px;}
    footer .wrapper .top-line .logo {width: auto;height: 80px;}
    footer .wrapper .top-line .textbox {width: 100%; margin-top: 50px;}
    footer .wrapper .bottom-line {margin-top: 60px;}
}