.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none;}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px;}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none;}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap;}.select2-container .select2-search--inline{float:left;}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none;}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051;}.select2-results{display:block;}.select2-results__options{list-style:none;margin:0;padding:0;}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none;}.select2-results__option[aria-selected]{cursor:pointer;}.select2-container--open .select2-dropdown{left:0;}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0;}.select2-search--dropdown{display:block;padding:4px;}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box;}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none;}.select2-search--dropdown.select2-search--hide{display:none;}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0);}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px;}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px;}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999;}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px;}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0;}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left;}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto;}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default;}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none;}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px;}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%;}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left;}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px;}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px;}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333;}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder{float:right;}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto;}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto;}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0;}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default;}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none;}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0;}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0;}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa;}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto;}.select2-container--default .select2-results__option[role=group]{padding:0;}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999;}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd;}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em;}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0;}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em;}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em;}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em;}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em;}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em;}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white;}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;}.select2-container--classic .select2-selection--single{background-color:#f6f6f6;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #ffffff 50%, #eeeeee 100%);background-image:-o-linear-gradient(top, #ffffff 50%, #eeeeee 100%);background-image:linear-gradient(to bottom, #ffffff 50%, #eeeeee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb;}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px;}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px;}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999;}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);background-image:-o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);background-image:linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#cccccc', GradientType=0);}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0;}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left;}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto;}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb;}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none;}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px;}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #ffffff 0%, #eeeeee 50%);background-image:-o-linear-gradient(top, #ffffff 0%, #eeeeee 50%);background-image:linear-gradient(to bottom, #ffffff 0%, #eeeeee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eeeeee 50%, #ffffff 100%);background-image:-o-linear-gradient(top, #eeeeee 50%, #ffffff 100%);background-image:linear-gradient(to bottom, #eeeeee 50%, #ffffff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0;}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb;}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px;}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none;}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px;}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px;}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555;}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto;}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto;}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb;}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0;}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0;}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;}.select2-container--classic .select2-dropdown{background-color:white;border:1px solid transparent;}.select2-container--classic .select2-dropdown--above{border-bottom:none;}.select2-container--classic .select2-dropdown--below{border-top:none;}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto;}.select2-container--classic .select2-results__option[role=group]{padding:0;}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey;}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:white;}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px;}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb;}
/* 

Version 2.0
January 26, 2023

*/

* { box-sizing: border-box; margin: 0; padding: 0; line-height: 1; outline: none !important; }


/* HTML, BODY, CONTAINER */
html {	width: 100%; height: 100%;	background-color: var(--col-page-bg);;  font-size: var(--default-font-size);  min-width: 320px; transition: none; }
body {	font-size: var(--default-font-size); color: var(--col-text); font-family: var(--default-font); width: 100%; position: relative; margin: 0px auto; font-weight: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: hidden; transition: all .3s ease-out;}
html.loading  { height: 100vh; width: 100vw;	transition: none; }
html.loading body { }

html.overlay-active, html.overlay-active body, body.header-active { max-height: 100vh; overflow: hidden;}


#container {width: 100%; margin: 0 auto; display: block; position: relative; opacity: 1 !important	; transition: opacity 1s; overflow: hidden}
html.loading #container { opacity: 0 !important; }
header, #body, footer { width: 100%;  position: relative; margin: 0px auto; display: block; }

*::-webkit-scrollbar-track {background-color: rgba(var(--col-primary-rgb), 0.2)  }
*::-webkit-scrollbar { width: 6px; height: 6px }
*::-webkit-scrollbar-thumb { background-color: rgba(var(--col-primary-rgb),1)  }

/*HTML ELEMENTS*/
h1, h2, h3, h4, h5, h6 { font-weight: normal; display: block;}
p { line-height: var(--default-line-height); font-size: var(--default-font-size); color: var(--col-text); font-family: var(--default-font); display: block; margin-bottom: 30px;}
ul li, ol li  { line-height: var(--default-line-height); font-size: var(--default-font-size); color: var(--col-text); font-family: var(--default-font); }
ul, ol { margin-bottom: 30px; padding-left: 1em}

p.center { margin-left: auto; margin-right: auto;}
p:last-child, div:last-child, a:last-child, img:last-child { margin-bottom: 0 !important}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child { margin-bottom: 0 !important}
b,strong { font-weight: 700; }

section, div, p {position: relative; }

a { text-decoration: none; color:  var(--col-link)}
a:hover { color:  var(--col-link-hover)}
.attention { color: var(--col-attention)}
.warning { color: var(--col-warning)}

img {border: 0px; height: auto; max-width: 100%; display: block;}
img.center { display: block; margin: 0 auto;}


/*ul {list-style-type: none; margin: 0px; padding: 0px; }*/
ul.listing, ul.bullets { margin-bottom: 30px; }
ul.listing.shorter  { max-width: 550px; margin: 0 auto; }
ul.listing li, ul.bullets li { display: block; margin-bottom: 1px; line-height: 1.6; position: relative; text-align: center; font-size: var(--default-font-size); color: var(--col-text); font-family: var(--default-font); }
ul.bullets li { text-align: left; padding-left: 20px;}
ul.bullets li:before { content: ""; position: absolute; display: block; left: 0; top: 0.65em; width: 6px; height: 6px; border-radius: 6px; background: var(--col-text);}
ul.listing.left li  { text-align: left;}

/*BUTTONS*/
div.buttons { display: flex; gap: 20px; margin-top: 20px; justify-content: center; align-items: center; }
div.buttons.left { justify-content: flex-start}
div.buttons.right { justify-content: flex-end}
div.buttons.vertical { flex-direction: column}
a.btn { display: table; line-height: var(--button-height); color: var(--col-button); background-color: var(--col-button-bg); font-size: var(--button-font-size); font-family: var(--button-input-font); text-transform: uppercase; margin: 20px auto 0;}
a.btn.left { display: inline-block; margin: 20px auto 0 10px;}
a.btn:hover { color: #aaa; border-color: #aaa}
div.buttons > a.btn { display: inline-block; margin:0;}


/* OVERLAY */
div.overlay { width: 100vw; height: 100vh; position: fixed; left: 0; top: -200vh; z-index: 999;display: block; transition: opacity .3s ease-in .1s; opacity: 0; background: rgba(0,0,0,0.9); }
div.overlay.active { top: 0; opacity: 1;}
div.overlay > div{ width: 100%; height: 100%; display: block; position: relative; z-index: 3;}
div.overlay div.popup { width: 1180px; display: block; position: relative; z-index: 3; top: 50%; transform: translate3D(0,-50%, 0); max-width: 92%; margin: 0 auto; background: transparent; max-height: 92%; overflow: auto}
div.overlay > img { width: 100%; display: block;}
div.overlay a.close-overlay { position: absolute; display: block; width: 40px; height: 40px; border-radius: 40px; top:25px; right: 25px; z-index: 11; background: url(/lib/img/white/close.svg) var(--col-primary)  no-repeat center center; background-size: 20px 20px; }


/*CONTAINERS*/

#mainbody { position: relative; z-index: 2; padding-top: 0px; min-height: calc(100vh - 200px); }
article { width: 100%; position: relative; z-index: 2; background: #fff; left: 0; display: block; overflow: hidden; }
article > div, section > div { display: block; width: 100%; margin: 0 auto;}
article.no-masthead { padding-top: 0px; }


section { display: block; margin: var(--dim-default-space) auto; position: relative; padding: 0; width: 100%; max-width: var(--dim-site-inner-width);}
section.full { max-width: var(--dim-site-width);}
section.flush {margin-top: 0; margin-bottom: 0;}
section.max {max-width: 100%; padding-left: 0; padding-right:0;}
section.masthead {max-width: 100%; margin-top: 0; margin-bottom: 0; padding-left: 0; padding-right:0;}
section.padded, .padded { padding-top: 80px; padding-bottom: 80px;}
section.spaced { margin: var(--dim-default-space) auto; }


iframe { display: block; width: 100%; aspect-ratio: 16/9; margin: 0 auto; border: 0; }
iframe.flipbook { aspect-ratio: 10/7}

/*FLEX AND GRID*/
div.grid { display: flex; gap: 40px; justify-content: space-between; align-items: flex-start;}
div.grid.x2 > div { width: 50%;}
div.grid.x3 > div { width: 33.33%;}
div.grid.x4 > div { width: 25%;}
div.grid.columns { flex-direction: column}
div.grid.start { justify-content: flex-start}
div.grid.center { justify-content: center}
div.grid.even { justify-content: space-evenly}
div.grid.around { justify-content: space-around}
div.grid.stretch { align-items: stretch;}
div.grid.middle { align-items: center;}
div.grid.bottom { align-items: flex-end;}
div.grid.top { align-items: flex-start;}

div.table { display: grid;width: 100%; }



/*MARGINS*/
.margin-top-250 { margin-top: 250px !important}
.margin-top-200 { margin-top: 200px !important}
.margin-top-150 { margin-top: 150px !important}
.margin-top-100 { margin-top: 100px !important}
.margin-top-80 { margin-top: 80px !important}
.margin-top-50 { margin-top: 50px !important}
.margin-top-40 { margin-top: 40px !important}
.margin-top-0 { margin-top: 0px !important}
.margin-bottom-0 { margin-bottom: 0px !important}
.margin-bottom-40 { margin-bottom: 40px !important}
.margin-bottom-50 { margin-bottom: 50px !important}
.margin-bottom-80 { margin-bottom: 80px !important}
.margin-bottom-100 { margin-bottom: 100px !important}
.margin-bottom-150 { margin-bottom: 150px !important}
.margin-bottom-200 { margin-bottom: 200px !important}
.margin-bottom-250 { margin-bottom: 250px !important}


/*CAPTIONS*/
div.caption { position: absolute; display: block; width: 100%;}
div.caption.left { left: 0}
div.caption.right { right: 0}
div.caption.top { top: 0}
div.caption.bottom { bottom: 0}
div.caption.center{ left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%);  -ms-transform: translateX(-50%); }
div.caption.middle { top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%);  -ms-transform: translateY(-50%); }
div.caption.center.middle { transform: translateY(-50%) translateX(-50%); -webkit-transform: translateY(-50%) translateX(-50%);  -ms-transform: translateY(-50%) translateX(-50%); }

/*BUTTONS*/

/*COLOURS*/
.c-primary { color: var(--col-primary) !important}
.c-accent { color: var(--col-accent) !important}
.c-black { color: #000 !important}
.c-white { color: #fff !important}
.b-primary { background-color: var(--col-primary) !important}
.b-accent { background-color: var(--col-accent) !important}
.b-black { background-color: #000 !important}
.b-white { background-color: #fff !important}


/*TEXT*/
.txt-uc { text-transform: uppercase;}

/* GENERIC STYLES */

.width-full { display: block!important; width: 100% !important}

.center {text-align: center !important; }
.left {text-align: left !important; }
.right {text-align: right !important; }

.full { display: block; width: 100%;}
.inline {display: inline!important;}
.block {display: block!important;}

.align-left { margin-left: 0; margin-right: auto;}
.align-left { text-align: left;}
.align-center { margin-left: auto; margin-right: auto;}
.align-center * { text-align: center;}
.align-right { margin-left:auto; margin-right: 0;}
.align-right * { text-align: right}

.bold {font-weight: bold !important }
.italic {font-style: italic !important }
.normal {font-weight: normal !important }
.hidden {display: none !important;}
.block {display: block !important;}
.iblock {display: inline-block !important;}
.inline {display: inline !important;}
.relative {position: relative !important;}
.absolute {position: absolute !important;}
.invisible {opacity: 0 !important}
.visible {opacity: 1 !important}
.floatl { float: left !important;}
.floatr { float: right !important;}
.nofloat { float: none !important;}
.valign { position: relative; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%);  -ms-transform: translateY(-50%);}

/* PADDING AND MARGIN OVERRIDES */
.no-padding-top {	padding-top: 0 !important; }
.no-padding-bottom {	padding-top: 0 !important; }
.no-margin-top {	padding-top: 0 !important; }
.no-margin-bottom {	padding-top: 0 !important; }


/*FANCYBOX*/
div.fancybox { width: calc(100vw - 100px); height: calc(100vh - 100px); display: block; background: url() no-repeat center center; background-size: contain;}

/* FORM + INPUT STYLING*/


input, textarea { -webkit-appearance: none; -webkit-border-radius: 0;}
input[type="radio"] { -webkit-appearance: inherit;} 
input[type="submit"] { cursor: pointer;}


div.field > label { display: none}
div.field.missing label { color: var(--col-missing) !important}
div.field.warning label { color: var(--col-warning) !important}
div.field.missing div.checkbox label { color: var(--col-missing) !important}
div.field.missing span.error-message { color: var(--col-missing); display: block; font-size: 11px; position: absolute; top: 12px; right: 20px}
div.field.warning span.warning-message { color: var(--col-warning); display: block; font-size: 11px; position: absolute; bottom: -12px; left: 10px}

form { display: block; width: 100%; margin: 0; padding: 0; border: 0;  font-size: var(--default-input-font-size); font-family: var(--default-input-font)}
fieldset { display: block; width: 100%; margin: 0; padding: 0; border: 0; margin-bottom: 16px;}

div.form-row { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; column-gap: 20px; row-gap: 20px; }
div.form-row div.field { grid-column: span 12; display: inline-grid}
div.form-row div.field.x1 { grid-column: span 1; }
div.form-row div.field.x2 { grid-column: span 2; }
div.form-row div.field.x3 { grid-column: span 3; }
div.form-row div.field.x4 { grid-column: span 4; }
div.form-row div.field.x6 { grid-column: span 6; }
div.form-row div.field.x8 { grid-column: span 8; }
div.form-row div.field.x9 { grid-column: span 9; }
div.form-row div.field.x10 { grid-column: span 10; }
div.form-row div.field.x12 { grid-column: span 12; }


div.radios { display: flex; width: 100%; justify-content: flex-start; align-items: center; gap: 40px;}
div.radios > label { padding-right: 20px;}
div.radio input[type="radio"] { display: none;}
div.radio label { display: block; position: relative; padding-left: 32px; padding-top: 2px; line-height: 1.25; min-height: 22px; width: auto; font-family: var(--default-input-font)}
div.radio label:before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 22px; height: 22px; background-color: transparent; border: 1px solid var(--col-border); border-radius: 32px; box-sizing: border-box;}
div.radio label:after { content: ""; display: block; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; background-color: transparent; border-radius: 16px;  border: 0px solid var(--col-border); box-sizing: border-box;}
div.radio input[type=radio]:checked + label:after { background-color: #ccc;   border: 3px solid var(--col-border);}

div.checkbox { display: block; text-align: left; position: relative; width: 100%; }
div.checkbox input[type="checkbox"] { display: none;}
div.checkbox label { display: block; color: var(--col-input);; font-family: inherit; text-align: left; position: relative; width: 100%; font-size: var(--default-input-font-size); padding-left: 31px; min-height: 20px; padding-top: 1px; line-height: 1.25; font-family: var(--default-input-font)}
div.checkbox label:before { content:""; position: absolute; left:0; top: 0; border: 1px solid var(--col-border); background: transparent; display: block; width: 20px; height: 20px; box-sizing: border-box;}
div.missing div.checkbox label:before { border-color: var(--col-error); -webkit-animation: pulse .5s 1; animation: pulse .5s 1; }
div.checkbox input:checked + label:before { background: url(/lib/img/dark/checkmark.svg) no-repeat center center; background-size: 14px 12px;}

div.file-upload input { display: none !important;}
div.file-upload label { display: block !important; position: relative; padding-left: var(--dim-input-height); ; line-height: var(--dim-input-height); cursor: pointer;}
div.file-upload label:after { content:""; display: block; position: absolute; width: calc(var(--dim-input-height) * 0.66); height: var(--dim-input-height); ; left: 0; top: 0; background: url(/lib/img/dark/paperclip.svg) no-repeat center center; background-size: contain;}
div.input-file-list > div:empty { display: none;}
div.input-file-list > div { margin-top: 20px}
div.input-file-list > div span { display: block; text-align: left; font-size: 16px; line-height: 1.5; text-align: left; color: #000; padding-left: 24px; position: relative; }
div.input-file-list > div span:before {content:"";  display: block; width: 10px; height: 100%; top: 0; left: 0; position: absolute; background: url(/lib/img/dark/x.svg) no-repeat left center; background-size: contain; cursor:pointer;}

.select2-results__options::-webkit-scrollbar-track, form *::-webkit-scrollbar-track {background-color: rgba(var(--col-border-rgb), 0.2)  }
.select2-results__options::-webkit-scrollbar , form *::-webkit-scrollbar { width: 6px; height: 6px }
.select2-results__options::-webkit-scrollbar-thumb , form *::-webkit-scrollbar-thumb { background-color: rgba(var(--col-border-rgb),1)  }

input[type="text"], input[type="search"], input[type="tel"], input[type="number"], input[type="email"], input[type="password"] { display: block; width: 100%; line-height: var(--dim-input-height); min-height: var(--dim-input-height); border-color: var(--col-border); border-width: 1px; border-style:  solid; border-radius: 0px; padding: 0 10px; text-align: left; color: var(--col-input); font-family: var(--default-input-font); font-size: inherit; background-color: var(--col-input-bg)}
input[type="text"]:focus, input[type="search"], input[type="tel"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="password"]:focus { box-shadow:inset 0 0 15px 1px rgba(0,0,0,0.2); }
input[type="search"].highlighted, input[type="tel"].highlighted, input[type="number"].highlighted, input[type="text"].highlighted, input[type="email"].highlighted, input[type="password"].highlighted { background-color: var(--col-missing)}
input[type="search"].missing, input[type="tel"].missing, input[type="number"].missing, input[type="text"].missing, input[type="email"].missing, input[type="password"].missing { border-color: var(--col-missing)}
select { display: block; width: 100%; line-height: var(--dim-input-height); min-height: var(--dim-input-height); border-color: var(--col-border); border-width: 1px; border-style:  solid;  padding: 10px; line-height: 1.5; text-align: left; color: var(--col-input);  font-size: inherit; }
textarea { display: block; width: 100%; border-width: 1px; border-style:  solid; border-radius: 0px; border-color: var(--col-border); padding: 10px; line-height: 1.5; text-align: left; font-size: inherit}
button[type="submit"], button[type="button"] { display: table; width: auto; line-height: var(--dim-input-height); border: 0px; padding: 0 40px; text-align: center; background-color: var(--col-button-bg); color: var(--col-button);  font-size: var(--default-input-font-size); ; cursor: pointer; position: relative;}
button[type="submit"]:hover, button[type="button"]:hover { background-color: var(--col-accent)}

div.reveal-response { text-align: center;}
div.reveal-response p { font-size: 18px; }
.js-postal-code { text-transform: uppercase;}

form.validation-in-progress button[type="submit"], form.submit-in-progress button[type="submit"] {color: #000; position: relative;}
form.validation-in-progress button[type="submit"]:after { position: absolute; width: 100%; height: 100%; min-height: 40px; top: 0; left: 0; font-size: 0!important; content: ""; display: block; background: url(/lib/img/white/spin2.gif) transparent  no-repeat center center; background-size: 80px 10px;}
form.submit-in-progress button[type="submit"]:after { position: absolute; width: 100%; height: 100%; min-height: 40px; font-size: 0!important; content: ""; display: block; background: url(/lib/img/white/spin2.gif) var(--col-button) no-repeat center center !important; background-size: 34px 34px !important; top: 0; left: 0}
button.submit-in-progress, a.submit-in-progress { background: url(/lib/img/white/spin2.gif) var(--col-button) no-repeat center center !important; background-size: 34px 34px !important; font-size: 0!important; transition: none;}

.select2-container--default  { box-sizing: border-box; width: 100%!important}
.select2-container--default .select2-selection--single { border-radius: 0; border-color: var(--col-border)}
.select2-container .select2-selection--single { height: auto}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: inherit; font-size: inherit; line-height: var(--dim-input-height); padding-left: 10px; padding-right: var(--dim-input-height);}
.select2-container--default .select2-selection--single .select2-selection__arrow {width: var(--dim-input-height); height: 100%; right: 0; top: 0; background: url(/lib/img/dark/arrow-down.svg) no-repeat center center; background-size: 21px 12px; transform: rotate(0deg); transition: all .1s ease-out}
.select2-container--default .select2-selection--single .select2-selection__arrow:hover {background-size: 27px 17px; }
.select2-container--open .select2-selection--single .select2-selection__arrow {transform: rotate(180deg);}
.select2-container--default .select2-selection--single .select2-selection__arrow b { display: none;}
.select2-selection__rendered  { color: var(--col-input); }

.select2-results__option { font-size: var(--default-input-font-size); }


div.inline-response { height: 0; overflow: hidden; opacity: 0; margin: 0; padding: 0;}
form.form-done { display: none !important;}
div.reveal-response { margin: 0 auto; height: auto; opacity: 1; transition: opacity .5s}

div.grecaptcha-badge { right: -1600px !important}

.js-hidden-option { display: none !important}
.js-hidden-option.revealed { display: block !important}

/* PLACEHOLDERS */
::placeholder {  line-height: var(--dim-input-height);  color: var(--col-placeholder); font-size: var(--default-input-font-size); ; font-family: var(--default-input-font)}
textarea::placeholder {  padding-top: 0px; line-height: 1.5;}
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--col-text); }
div.field.missing *::placeholder { color:var(--col-missing) !important}
div.field.warning *::placeholder { color:var(--col-warning) !important; }


/*BURGER*/
div.burger { position: absolute; width: 60px; height: 60px; cursor: pointer; display: block; top: 0px; left: 0px; z-index: 100; transition: transform .2s ease-out;}
div.burger * { transition: transform .2s ease-out;}
div.burger ul { display: block; width: 20px; position: absolute; top: 22px; left: 19px; height: 20px; font-size: 0}
div.burger ul li { display: block; width: 100%; position: absolute; top: 0; left: 0; background: var(--col-burger); height: 2px; border: 0; transition: none;}
div.burger ul li:nth-child(2)  { top: 7px; }
div.burger ul li:nth-child(3) { top: 14px; }

div.burger { display: none;}

header.active  div.burger ul li:nth-child(2){ display: none;}
header.active  div.burger ul li:nth-child(1) { transform: rotate(45deg); transform-origin: 50% 0; top: 7px; transition: transform .1s ease-out }
header.active  div.burger ul li:nth-child(3) { transform: rotate(-45deg); transform-origin: 50% 0%; top: 7px; transition: transform .1s ease-out }

/*HEADER & FOOTER */
div.error { display: block; width: 100%; font-size: 0; position: fixed; top:-1px; left:0; max-height: 400px; z-index: 9999; overflow: hidden; opacity: 1;}
div.error p { display: block; width: 100%; background: var(--col-error); color: #fff; font-size: 18px; padding: 20px; text-align: center;}
div.error.hide { max-height: 0px; opacity:0}


/*CALENDAR*/
div.datepicker { z-index: 2; }
div.datepicker input { position: relative; z-index: 2; background: transparent; cursor: pointer; }
div.datepicker:after { content:""; border-left: 1px solid var(--border-colour); top: 0; right: 10px; position: absolute; width: 70px; height: 100%; background: url(/lib/img/dark/datepicker.svg) no-repeat center center; background-size: 37px 30px; cursor: pointer; z-index: 1;}
#ui-datepicker-div { display: block; width: 400px; background: #fff; max-width: 100vw; transform: translateY(10px); border: 1px solid var(--border-colour); box-shadow: 3px 3px 10px 0px rgba(0,0,0,0.25); padding: 20px; position: relative; right: -1000vw; z-index: 999 !important}
table.ui-datepicker-calendar { width: 100%;}
table.ui-datepicker-calendar td { text-align: center; line-height: 2; font-size: 18px; color: var(--col-primary)}
table.ui-datepicker-calendar td a.ui-state-highlight { color: var(--col-primary)}
table.ui-datepicker-calendar td.ui-datepicker-today { background: var(--col-primary); color: #fff}
table.ui-datepicker-calendar td.ui-datepicker-today a { color: #fff}
table.ui-datepicker-calendar th { text-align: center; line-height: 2;}
.ui-datepicker-title { display: block; width: 100%; text-align: center; line-height: 1;}
.ui-datepicker-prev { font-size: 0; position: absolute; left: 20px; top: 25px; width: 30px; height: 30px; background: url(/lib/img/dark/arrow.svg) no-repeat center center; background-size: 6px 12px; cursor: pointer;}
.ui-datepicker-prev.ui-state-disabled { background: none;}
.ui-datepicker-next { font-size: 0; position: absolute; right: 20px; top: 25px; width: 30px; height: 30px; background: url(/lib/img/dark/arrow.svg) no-repeat center center; background-size: 6px 12px; transform: rotate(180deg); cursor: pointer;}
.ui-datepicker-header { padding-top: 0px; border-bottom: 1px solid var(--border-colour); padding-bottom: 5px; }
.ui-state-disabled { color: #aaa;}

/*SLICK SLIDER*/
button.slick-arrow { background: none; margin: 0; padding: 0; width: 15px; height: 30px; background: url(/lib/img/dark/arrow-right.svg) no-repeat center center; background-size: contain; top: 50%; margin-top: -15px; font-size: 0; position: absolute; z-index: 5;}
button.slick-arrow:hover { background-color: transparent;}
button.slick-arrow.slick-next { right: 0}
button.slick-arrow.slick-prev { left: 0; background-image: url(/lib/img/dark/arrow-left.svg) }

ul.slick-dots { position: absolute; bottom: 20px; width: 100%; text-align: center; font-size: 0}
ul.slick-dots li { display: inline-block; padding: 0; margin: 0 5px; font-size: 0; vertical-align: top}
ul.slick-dots li button { display: block; padding: 0; margin: 0; font-size: 0; background: #000; width: 10px; height: 10px; border-radius: 10px; opacity: .5}
ul.slick-dots li.slick-active button { opacity: 1}
ul.slick-dots li button:hover { background-color: #000}

/*ANIMATIONS*/
.js-reveal-item { opacity: 0; }
.js-reveal-item.in-view { opacity: 1; transition: all 1s cubic-bezier(0.6, 0.2, 0.1, 1) 0s}

/*COOKIES*/
div.cookie-overlay { background: rgba(0,0,0,.8); position: fixed; top: 0; left: 0; width: 100vw; height: calc(100 * var(--vh)); z-index: 150; display: none;}
div.cookie-overlay.active { display: block;}
div.cookie-overlay > div { background: #fff; padding: 115px 105px; text-align: center; position: absolute; top: 50%; left: 50%; transform: translate3D(-50%, -50%, 0); width: 96%; max-width: 1080px;}
div.cookie-overlay > div p { color: #000; font-size: elza; font-weight: 300; font-size: 26px}


@media only screen and (max-width: 1280px) {
		div.cookie-overlay > div { padding: 20px; }
		div.cookie-overlay > div p { font-size: 16px}
}


@media only screen and (min-width: 761px) {
	.desktop-hide { display: none !important}
}
@media only screen and (max-width: 760px) {
	.mobile-hide { display: none !important}
}
@media only screen and (max-width: 600px) {
	/*FANCYBOX*/
	div.fancybox { width: calc(100vw - 80px); height: calc(100vh - 80px); }
}