
/* Montserrat, self-hosted. Previously @import'ed from fonts.googleapis.com,
   which made every visitor's browser send their IP to Google before the page
   rendered - flagged by counsel in an August 2026 privacy review. Requested of
   ITG 2026-08-06 and never actioned; fixed here because we own the stack now.

   These blocks mirror Google's own css2 output EXACTLY - four discrete weights
   (300/400/500/700) per subset, all pointing at the same variable file. Do not
   "simplify" them into a single `font-weight: 300 700` range: the site asks for
   font-weight 600, which is not among the declared weights, so CSS font
   matching snaps it up to 700. A range declaration would instead resolve 600 to
   a true 600 and render visibly lighter than the live site. */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/fonts/montserrat-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/fonts/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/montserrat-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/montserrat-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/montserrat-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html, body { height:100%;}

body { 
margin:0px;
padding:0px;
width:100%;
background:#ffffff;
color: #181818;
font-family: 'Montserrat', sans-serif;
font-weight:400;
font-size: 16px;
}

form {
height:100%;
}

article, aside, body,
div, embed,
fieldset, figcaption, figure, footer, form,  
header, hgroup, iframe, ins,
nav, object, section,
table, tbody, tfoot, thead, th, tr, tdvideo, tt {
border:0px;
outline: 0px;
margin: 0px;
padding: 0px;
vertical-align: top; 
}

table, table td { 
padding:0px;
border:none;
border-collapse:collapse;
}

header, nav, section, article, aside, footer, div, main {display:block; box-sizing:border-box;}

a img { border:0px; outline: none;}

a { 
color:#181818; 
text-decoration:none; 
border:0px; 
outline:none; 
outline:0px;
-webkit-transition-property: all;
-moz-transition-property: all;
-o-transition-property: all;
transition-property: all;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-timing-function: linear;
-moz-transition-timing-function: linear;
-o-transition-timing-function: linear;
transition-timing-function: linear;
}

button,
textarea,
input[type="text"],
input[type="button"],
input[type="submit"] {
-webkit-appearance: none;
border-radius: 0px;	 
}

a:hover { text-decoration:none; color: #a3a2a0; }

button, input, select, select option, textarea { font-family: 'Montserrat', sans-serif;}

table tr,
table tr td,
nav > ul,
nav > ul > li,
nav > ul > li > a:after,
button,
input[type="submit"],
input[type="button"] {
-webkit-transition-property: all;
-moz-transition-property: all;
-o-transition-property: all;
transition-property: all;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-timing-function: linear;
-moz-transition-timing-function: linear;
-o-transition-timing-function: linear;
transition-timing-function: linear;
cursor:pointer; 
}

article ol li ul {margin-bottom:10px;}

p {
margin:14px 0px;
padding:0px 0px 0px 0px;
line-height:24px;
}

h1, h2, h3, h4, h5 {padding:0px; margin:0px;}

h1 {
text-transform:uppercase;
font-size:24px;
padding-bottom:30px;
font-weight:normal;
}

header {
width:100%;
height:55%;
display:table;
position:relative; 
}

header nav {
width:100%;
display:table-cell;
vertical-align:bottom;
}

.logo {
width:100%;
max-width:400px;
margin:30px auto 0px auto;
}

.login_page .logo {margin-bottom:74px;}

.logo img {max-width:400px; width:100%;}

.main_nav {
padding:0px;
margin:56px auto 0px auto;
list-style:none;
display:block;
font-size:0px;
text-align:center;
width:100%;
max-width:400px;
}

.main_nav > li {
padding:0px;
margin:0px;
list-style:none;
display:inline-block;
line-height:18px;
position:relative;
font-size:18px;
}

.main_nav > li:before {
content:"|";
color:#181818;
}

.main_nav > li:first-child:before {display:none;}

.main_nav > li > a {
color: #181818;
margin:0px 8px;
line-height:18px;
font-size:18px;
font-weight:400;
text-align:center;
display:inline-block;
padding:0px 0px 2px 0px;
}

.main_nav > li > a:hover {
color: #a3a2a0; 
webkit-transform: translateY(-2px);
transform: translateY(-2px);
}

.main_nav > li > a.active {color: #a3a2a0; font-weight:600; border-bottom:1px solid #a3a2a0; }

.main_fullpage {
  display:table;
  width:100%;
  height:45%;
  margin-bottom:-90px;
}

/* The 55%/45% viewport split exists to centre the logo on the home page. On a
   long content page it strands the logo ~350px down. Terms carried this as an
   inline <style> tag dated 2026-06-04; moved here so privacy inherits it too. */
body.terms_page header { height:auto; }

/* ── Legal pages (/terms and /privacy — both carry body.terms_page) ─────────
   Shared rules so the two documents read as one set. Anything specific to the
   privacy document (its TOC, table, headings) stays in privacy/index.html. */

/* Body links. The global `a` rule above makes links the same #181818 as body
   text with no underline, i.e. invisible. Legal-page body links get colour AND
   underline so they never rely on a single cue (WCAG 1.4.1) — the privacy
   document also carries its own <u> emphasis, so underline alone is ambiguous.
   #1a4d7a is 8.8:1 on white (AAA). Chosen by Mansur 2026-08-17 after seeing
   it beside a black+grey-underline option and a darker #0f2f4d ("too dark").
   Hover goes darker with a thicker underline — not the site's #a3a2a0, which
   is 2.55:1 and unreadable at 10pt. /terms has no body links today; if
   Gunderson adds any, they will look right without further work. */
.terms_page article a {
  color:#1a4d7a;
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1px;
}
.terms_page article a:hover { color:#0f2f4d; text-decoration-thickness:2px; }

/* Keyboard focus. The global `a` rule strips outlines, so a keyboard user
   tabbing through a legal page has no idea where they are (WCAG 2.4.7).
   :focus-visible shows a ring for keyboard focus only; mouse clicks stay
   outline-free. Applies to every link on these pages, footer and logo included. */
.terms_page a:focus-visible { outline:2px solid #1a4d7a; outline-offset:2px; border-radius:2px; }

/* Never let one long token (a URL, an email) push the page sideways. */
.terms_page article { overflow-wrap:break-word; }

/* Phones. Justified 10pt text in a ~360px column produces wide word-rivers.
   /terms bakes text-align:justify into 63 inline style attributes, hence the
   !important. Desktop keeps justify. hyphens:auto only on phones so desktop
   line breaks stay identical to the live site. */
@media (max-width:767px) {
  .terms_page article { hyphens:auto; }
  .terms_page article p,
  .terms_page article li { text-align:left !important; }
}

/* Home: header 55% + fullpage 45% consumed the whole viewport, so the footer
   always sat below the fold with a blank band above it. Let the lower half be
   content-driven instead. */
body.home_page .main_fullpage { height:auto; }
body.home_page .home_sub_pages { min-height:0; }

.main_container {
width:100%;
max-width:700px;
margin:0px auto;
box-sizing:border-box;
}

.main_container article {padding-bottom:80px;}

.title_page, .banner { display:none;}

.container {
width:100%;
max-width:700px;
margin:0px auto;
box-sizing:border-box;
padding:0px 15px;
}

.request ::-webkit-input-placeholder {opacity:1; color:#181818; text-transform:capitalize;}
.request :-moz-placeholder {opacity:1; color:#181818;text-transform:capitalize;}
.request ::-moz-placeholder {opacity:1; color:#181818;text-transform:capitalize;}
.request :-ms-input-placeholder {opacity:1; color:#181818;text-transform:capitalize;}

.checkbox_type {
position:relative;
display:inline-block;
margin-right:5px;
width: 16px;
height: 16px;
vertical-align:middle;
}

.checkbox_type > input[type="checkbox"] {
display: block;
position: absolute;
width: 100%;
height: 100%;
margin: 0px;
cursor: pointer;
opacity: 0;
z-index: 666;
}

.checkbox_type > input[type="checkbox"] + span {
display: inline-block;
width: 14px;
height: 14px;
border: 1px solid #1e9ad7;
vertical-align:top;
background:#181818;
}

.checkbox_type > input[type="checkbox"]:checked + span {
background:#1e9ad7 url(../media/checked_box.png) 0px 0.5px no-repeat;
}


button:focus,
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus {
-webkit-box-shadow: 0 0 7px #6DB9FF;
-moz-box-shadow: 0 0 7px #6DB9FF;
box-shadow: 0 0 7px #6DB9FF;
border: 1px solid #50B1FE;
outline: none;
}

input[type="button"],
input[type="submit"] {
padding: 4px 10px;
height:30px;
text-transform:uppercase;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
cursor: pointer;
width: auto;
font-size: 13px;
text-shadow: 0 1px 0 #fff;
color: #666;	
border: 1px solid #a3a2a0;
background: rgb(252,252,252);
}

input[type="button"]:hover,
input[type="submit"]:hover {
border: 1px solid #bbb;
background: rgb(252,252,252);
}

.content_holder {
width:100%;
text-align:left;
margin-top:64px;
}

.content_holder div:before {
content: '';
margin:0px auto;
display:block;
height: 1px;
width: 200px;
background: #181818;
margin-bottom:56px;
}

.home_sub_pages {min-height:250px;}

.home_sub_pages div {
display:none;
}

address {
text-align:center; 
font-style:normal;
padding:0px;
margin:0px;
}

address a {color:#181818; text-decoration:none;}

address ul {
padding:0px;
margin:0px 0px 40px 0px;
list-style:none;
text-align:center;	
}

address ul li {
padding:0px;
margin:0px;
list-style:none;
width:32.5%;
vertical-align:top;
display:inline-block;	
}

/**/

.user_nav {
    padding: 0px;
    margin: 0px;
    list-style: none;
    position: absolute;
    top: 10px;
    right: 30px;
}

.user_nav li {
    padding: 0px;
    margin: 0px 10px;
    list-style: none;
    display: inline-block;
}

footer {
width:100%;
min-height:60px;
text-align:center;
font-size:14px;
box-sizing:border-box;
padding-bottom:20px;
}

footer p {padding:15px 0px 0px 0px; margin:0px;}

.mobile_navigation {display:none;}

footer .container {
    padding-top: 14px;
}

@media (max-width: 767px) {
.main_fullpage, header {height:auto;}
.logo {padding-top:64px;}
.main_nav {display:none;}
.mobile_navigation {display:block; padding-top:30px;}
.home_sub_pages div {display:block;}
.main_container article {padding:0px 15px 80px 15px;}
.home_sub_pages div:before {margin:30px auto;}
.home_sub_pages div:first-child:before {display:none;}
.mobile_navigation ul,.mobile_navigation ul li {padding:0px; margin:0px; list-style:none; text-align:center;}
.mobile_navigation ul li a {
display:inline-block;
text-transform:uppercase;
padding:8px 15px;
border:1px solid #181818;
color:#181818;
}
.mobile_navigation ul li a:hover {background:#181818; color:#ffffff; }
.content_holder {margin-top:40px;}
}

@media (max-width: 460px) {
.logo {width:90%;}
address ul li {width:100%;}
}

.footer_nav {
    list-style-type: none;
}