:root{--actionColour:#01144e;--actionGradient:linear-gradient(#022797,#01144e)}
html,body,div,p,h1,h2,h3,h4,h5,h6,figure,ul,ol,li,dl,dt,dd,form,fieldset,caption,legend,table,tr,td,th,address,blockquote,img{margin:0;padding:0}
body *,*:before,*:after{box-sizing:border-box}
body{color:#404040;font-family:arial,helvetica,sans-serif;font-size:13px}
i,hr,.optional{overflow:hidden!important;position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important}
a{color:#0069d6;font-weight:inherit;text-decoration:none;line-height:inherit}
a:hover{color:#00438a;text-decoration:underline}
p{line-height:18px;margin-bottom:9px}
h1,h2,h3,h4,h5,h6{line-height:36px}
h2{font-size:24px;line-height:36px}
h3{font-size:18px}
.red{color:#e00}
.gray{color:#767676;font-weight:normal}
.container{max-width:940px;margin-left:auto;margin-right:auto}
.button{cursor:pointer;display:inline-block;padding:5px 14px 6px;border:1px solid #ccc;border-bottom-color:#bbb;border-radius:4px;background-color:#e6e6e6;background-image:linear-gradient(#fff 25%,#e6e6e6);background-repeat:no-repeat;box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);color:#333;font-size:13px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.75);transition:all 0.1s linear}
.button.actionButton{border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);background-color:var(--actionColour);background-image:var(--actionGradient);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}
.button:hover{background-position:0 -15px;color:#333;text-decoration:none}
.button.actionButton:hover{color:#fff}
.button:focus{outline:1px dotted #666}
.button:active{box-shadow:inset 0 2px 4px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.05)}
.close{float:right;color:#000;font-size:20px;font-weight:bold;text-decoration:none;text-shadow:0 1px 0 #fff;line-height:13.5px;opacity:0.2}
.close:hover{color:#000;text-decoration:none;opacity:0.4}
body:has(.modal:target){overflow:hidden}
.modal{display:block;position:fixed;z-index:2000;top:-100%;left:50%;transform:translate(-50%,-50%);max-width:calc(100% - 30px);max-height:calc(100% - 30px);overflow-y:auto;overscroll-behavior:none;border:1px solid rgba(0,0,0,0.3);border-radius:6px;background-clip:padding-box;background-color:#fff;box-shadow:0 3px 7px rgba(0,0,0,0.3);opacity:0;transition:opacity 0.3s linear,top 0.3s ease-out}
.preload .modal{transition:none}
.modal:target{top:50%;opacity:1}
.modalHeader{padding:5px 15px;border-bottom:1px solid #eee}
.modalHeader>.close{margin-top:7px}
.modalHeader>h2{font-size:18px;line-height:36px}
.modalBody{padding:15px}
.modalFooter{overflow:hidden;padding:14px 15px 15px;border-top:1px solid #ddd;border-radius:0 0 6px 6px;background-color:#f5f5f5;box-shadow:inset 0 1px 0 #fff}
.modalFooter>.button{float:right;margin-left:5px}
.modalBackdrop{display:block;position:fixed;z-index:1000;top:0;left:0;width:100%;height:100%;background-color:#000;pointer-events:none;opacity:0;transition:opacity 0.15s linear}
.preload .modalBackdrop{transition:none}
.modal:target~.modalBackdrop{pointer-events:auto;opacity:0.8}
.alert{margin-bottom:9px;padding:10px;border-style:solid;border-width:1px;border-radius:3px;font-size:12px}
.alert.ok{border-color:#77b300;background-color:#df9;color:#460}
.alert.error{border-color:#ff8080;background-color:#fcc;color:#b30000}
.alert ul{margin-top:9px;padding-left:16px}
.form label{cursor:pointer;font-size:12px;font-weight:bold;line-height:20px}
.form input[type="text"],.form input[type="email"],.form input[type="tel"],.form textarea{resize:none;display:block;width:100%;margin-bottom:9px;padding:5px 4px;border:1px solid #ccc;border-radius:3px;color:#767676;font-family:arial,helvetica,sans-serif;font-size:13px;box-shadow:inset 0 1px 3px rgba(0,0,0,0.1);transition:border linear 0.2s,box-shadow linear 0.2s}
.form input[type="text"]:focus,.form input[type="email"]:focus,.form input[type="tel"]:focus,.form textarea:focus{outline:0;border-color:rgba(82,168,236,0.8);box-shadow:inset 0 1px 3px rgba(0,0,0,0.1),0 0 8px rgba(82,168,236,0.6)}
.form input[type="checkbox"]{cursor:pointer;margin-top:9px;margin-left:9px}
.fauxLabel{font-size:12px;font-weight:bold;line-height:20px}
.fauxLabel+div{color:#767676;font-size:12px}
.fauxLabel+div+label{font-weight:normal}
#contactForm{width:560px}
#modalMenu{width:240px}
#modalMenu ul{list-style:none}
#modalMenu li a{width:100%;margin-bottom:5px}
#mainLogo{overflow:hidden;margin-top:19px}
#mainLogo h1 a{float:left;width:270px;height:61px;background-image:url("../images/logo.png");background-repeat:no-repeat;background-size:100%}
#mainMenu{overflow:hidden;margin-bottom:20px;padding:0 20px;border-radius:4px;background-color:#222;background-image:linear-gradient(#333,#222);background-repeat:repeat-x;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 3px rgba(0,0,0,0.25)}
#mainMenu ul{float:left;overflow:hidden;margin-left:-10px;list-style:none}
#mainMenu li{float:left}
#mainMenu a{display:block;padding:10px 10px 11px;line-height:19px;color:#bfbfbf;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}
#mainMenu a.active{color:#fff;background-color:#222;background-color:rgba(0,0,0,0.5)}
#mainMenu a:hover{color:#fff;text-decoration:none}
#mainMenu>a{display:none;padding:12px 18px 13px;font-size:15px;color:#fff}
#mainMenu>a:after{content:"";display:inline-block;margin-left:4px;padding-bottom:3px;border-top:4px solid #fff;border-left:4px solid transparent;border-right:4px solid transparent}
.banner{--bg:url("../images/collage.jpg");--bgFormats:url("../images/collage.avif") type("image/avif"),url("../images/collage.webp") type("image/webp"),url("../images/collage.jpg") type("image/jpeg");margin-bottom:30px;border-radius:6px;background-color:#f5f5f5;background-image:var(--bg);background-image:image-set(var(--bgFormats));background-position-x:center;background-size:auto 100%}
.banner-body{background-color:rgba(0,0,0,0.4);border-radius:6px;padding:60px}
.banner h2,.banner p{color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.25)}
.banner h2{font-size:60px;line-height:1;letter-spacing:-1px}
.banner p{font-size:18px;line-height:27px}
.banner .button{font-size:15px;line-height:normal;padding:9px 14px 9px;border-radius:6px}
.columns{display:flex;gap:20px}
.columns>div{flex:1}
#pageFooter{margin-top:17px;margin-bottom:17px;padding-top:17px;border-top:1px solid #eee;color:#767676;font-size:11px}
.pageTitle{border-bottom:1px solid #eee;margin-bottom:20px}
.pageTitle small{float:right}
.card{padding:20px;margin-bottom:20px;border-radius:6px;background-color:#f5f5f5}
.card .left{flex:61.8}
.card .right{flex:38.2}
.card .right a{display:block;border:1px solid #eee;border-radius:4px;padding:4px;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,0.075)}
.card .right img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.panel{padding:20px;border:1px solid #eee;border-radius:6px}
.columns>.columns-about{flex:1;margin-bottom:20px}
.columns>.columns-logo{flex:0 0 375px;margin-top:-5px;margin-bottom:20px}
.columns>.columns-logo img{width:100%}

@media (max-width:996px){
.container{margin-left:15px;margin-right:15px}
}

@media (max-width:768px){
.button{padding:11px 18px 13px;border-radius:6px;font-size:15px}
.close{font-size:36px}
}

@media (max-width:768px){
.modal .close{display:block;margin-top:-5px;margin-right:-15px;padding:17px 15px}
}

@media (max-width:768px){
.form input[type="text"],.form input[type="email"],.form input[type="tel"],.form textarea{padding-top:11px;padding-bottom:13px;font-size:15px}
.fauxLabel+div+label{display:inline-block;margin:-7px 0 -10px;padding:7px 20px 10px 0}
#contactForm{left:0;transform:none;width:100%;max-width:100%;max-height:100%;border:0;border-radius:0;background-clip:border-box;box-shadow:none}
#contactForm:target{top:0}
}

@media (max-width:768px){
#modalMenu{left:0;transform:none;width:100%;max-width:100%;max-height:100%;border:0;border-radius:0;background-clip:border-box;box-shadow:none}
#modalMenu:target{top:0}
}

@media (max-width:768px){
#mainLogo{margin-top:9px}
}

@media (max-width:768px){
#mainMenu{margin-left:-15px;margin-right:-15px;padding-left:0;padding-right:0;border-radius:0}
#mainMenu ul{display:none}
#mainMenu>a{display:block}
}

@media (max-width:768px){
.banner{margin-top:-20px;margin-left:-15px;margin-right:-15px;border-radius:0}
.banner-body{padding:60px 30px 30px;border-radius:0}
.banner .button{padding:11px 18px 13px;border-radius:6px;font-size:15px}
}

@media (max-width:768px){
.columns{flex-direction:column}
}

@media (max-width:768px){
.pageTitle small{display:none}
}
