body{margin:0;padding:0;}
img{border:0;}
.fl_menu{list-style:none;margin:0;padding:0;}
.cms_imgleft{margin:3px 5px 5px 0;float:left;border:1px solid #000;}
.cms_imgright{margin:3px 0 5px 5px;float:right;border:1px solid #000;}
h1{margin:0;font-size:28pt;line-height:30pt;}
h2{font-size:20pt;line-height:24pt;}
h2, h3{margin:0 0 5px 0;}
.clear{clear:both;}
.gallthumbnail{float:left;border:2px solid #666;margin-right:5px;margin-bottom:5px;}
.fl_blogpostavatar{float:right;border:2px solid #666;margin:0 0 5px 5px;}
.fl_commentavatar{float:left;border:2px solid #666;margin:0 5px 0 0;}
.fl_commentname{display:block;text-transform:uppercase;margin-bottom:5px;font-size:8pt;}
.fl_commentmessage{display:block;}
.fl_gtname{display:block;text-transform:uppercase;margin-bottom:5px;font-size:8pt;}
.fl_gtmessage{display:block;}
.fl_blogpost1, .fl_blogpost2{border-bottom:1px dashed #f8422d;padding-bottom:5px;margin-bottom:5px;}
.fl_postinfo{text-transform:uppercase;margin-bottom:5px;font-size:8pt;}
.fl_blogfooter{clear:both;margin: 10px 0;}
.fl_comment1{display:block;padding:5px;margin-top:5px;}
.fl_comment2{display:block;padding:15px 15px 5px;background-color:var(--swc-ltgrey);margin-top:5px;}
.fl_commclear{display:block;clear:both;}
.fl_bigpic{border:2px solid #666;}
.fl_bigcaption{margin-top:10px;}
.fl_rssentry{clear:both;}
.fl_rssimg{float:right;display:block;border:2px solid #666;margin:0 0 5px 5px;}
.fl_rsstitle{font-size:18pt;line-height:24pt;font-weight:bold;}
.fl_rssby{text-transform:uppercase;margin-bottom:5px;font-size:8pt;}
.fl_gallpreview1{margin-bottom:10px;padding:5px;clear:both;}
.fl_gallpreview2{margin-bottom:10px;background-color:#eee;padding:5px;clear:both;}
.fl_gallpreview1 img, .fl_gallpreview2 img{float:left;border:2px solid #666;}
.fl_galllink, .fl_galltext{display:block;margin-left:110px;}
td.fl_label{display:block;width:100px;}
.fl_mailform textarea{width:400px;height:200px;}
.fl_votebar{background-color:#fff;height:10px;}
input.fl_regform{width:100px;}
.fl_postingform{display:none;}
.fl_postingform textarea{height:100px;}
.fl_rsslinks{padding-top:10px;clear:both;text-align:right;}
.fl_rsslinks a{text-transform:uppercase;font-size:8pt;text-decoration:none;margin-left:10px;}
.fl_rsslinks:empty{display:none;}
.fl_rating{float:right;text-align:right;}
#msgwrap{position:fixed;top:150px;left:50%;text-align:center;z-index:99;}
#msgbar{position:relative;color:#fff;border-width:3px;border-style:solid;padding:15px;font-size:28px;line-height:40px;width:300px;left:-168px;display:none;font-family:"Lucida Sans","Lucida Grande", Lucida, Tahoma, Verdana, Arial, Helvetica, sans-serif;cursor:default;}
#msgbar a{color:#fff;}
#topbar{display:none;position:fixed;z-index:99;background-color:#4ad;color:#fff;top:0;left:0;width:100%;font-size:12px;border-bottom:3px solid #079;text-align:center;}
#topbar a{color:#fff;}
#topcont{padding:10px;}
input, textarea{border:1px solid;padding:3px;background-color:#fff;border-color:#000;font-family:Verdana, Arial, Helvetica, sans-serif;font-size:12px;}
textarea{width:300px;height:150px;}
input:hover, input:focus, textarea:hover, textarea:focus{background-color:#eee;}
.fl_later{float:left;}
.fl_earlier{float:right;}
.flmsg_alert{background-color:#4ad;border-color:#079;}
.flmsg_error{background-color:#900;border-color:#600;}
.flmsg_success{background-color:#096;border-color:#066;}
.flmsg_generic{background-color:#666;border-color:#999;}
#fl_gallwrap{position:fixed;top:0;left:0;margin:0;padding:0;width:100%;height:100%;display:none;font:11px Arial, Helvetica, sans-serif;line-height:20px;color:#333;text-align:left;}
#fl_gallcover{position:fixed;width:100%;height:100%;top:0;left:0;margin:0;padding:0;background-color:#000;opacity:0.8;filter:alpha(opacity=80);}
#fl_gallbox{position:relative;top:5%;margin:0 auto;background-color:#fff;padding:10px;width:100px;height:100px;}
#fl_gallpic{display:block;margin:0 auto;position:relative;top:35%;}
#fl_gallbelowpic{clear:both;display:none;padding:5px 10px 10px;margin:0 -10px;background-color:#fff;overflow:hidden;}
#fl_gallwrap a{color:#666;text-decoration:none;}
#fl_gallwrap a:hover{color:#444;}
#fl_gallprevnext{background:url('../scripting/blank.gif');position:relative;}
#fl_gallprev{position:absolute;z-index:50;}
#fl_gallnext{text-align:right;position:absolute;z-index:50;right:0;}
#fl_gallclose, #fl_gallslide{clear:right;float:right;}
a#fl_gallprev:hover, a#fl_gallnext:hover, a#fl_gallclose:hover{border-width:0;}
#fl_gallprev img, #fl_gallnext img{visibility:hidden;padding-top:50px;}
#fl_gallprev:hover img, #fl_gallnext:hover img{visibility:visible;}

:root {
	--impact-dark: #1d1d1b;
	--impact-mid: #2d2d2c;
	--impact-dkblue: #424a59;
	--impact-neutral: #e9eaeb;
	--impact-ltneutral: #f4f5f5;

	--impact-orange: #e94865;
	--impact-midblue: #4760aa;
	--impact-brown: #706b5a;
	--impact-blue: #34bde8;
	--impact-green: #70b857;
	--impact-yellow: #f2b709;

	--impact-red: #c00;

}

* { margin: 0; padding: 0; border: 0; }
html, body { min-height: 100%; background: #fff; color: var(--impact-dark); font: 18px/24px Rubik, sans-serif; }
body { counter-reset: counter; }
p { margin: 20px 0; }
ul, ol { margin: 20px; padding: 0; }
a { color: var(--impact-midblue); }
a:hover { text-decoration: none; color: var(--impact-blue); }
footer a:hover { opacity: 0.5; }
img { max-width: 100%; height: auto!important; }
b, strong { font-weight: 600; }

h1, h2, h3, h4, h5 { margin: 20px 0; font-weight: 400; color: var(--impact-dkblue); text-transform: lowercase; }
h1, #frontabout h2 { font-size: 36px; line-height: 40px; color: var(--impact-mid); }
h2 { font-size: 32px; line-height: 36px; }
h3 { font-size: 28px; line-height: 32px; }
h4 { font-size: 22px; line-height: 26px; }
h5 { font-size: 18px; line-height: 22px; }
h1 b, h1 strong, h2 b, h3 b, h4 b, h5 b, h1 strong, h2 strong, h3 strong, h4 strong, h5 strong { font-weight: 800; text-transform: uppercase; }
.textlabel { position: absolute; margin-left: -9999px; }
h1:empty { display: none; }

.skipto a { position: absolute; margin-left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; color: #fff!important; padding: 10px; background: var(--impact-blue); }
.skipto a:focus { margin-left: 0; width: auto; height: auto; opacity: 1; z-index: 50; }
.wrapper { max-width: 1000px; padding: 0 50px; margin: 0 auto; }

header { padding: 25px 0; }
.logo { width: 184px; height: 200px; margin: 0 auto; display: block; }
.logo:hover { opacity: 1; }
.logo img { display: block; }

.logo:before { width: 100px; height: 94px; border: 10px solid #fff; background: #fff url('../gfx/dark-logo-impact-no-slogan.svg') no-repeat top / contain; position: fixed; top: -114px; left: 50px; content: ''; transition: all 0.5s ease-in-out; opacity: 0; z-index: 40; border-radius: 0 0 5px 5px; }
.scrolled .logo:before { top: 0; opacity: 1; }

#menubutton { position: fixed; top: 25px; right: 50px; height: 50px; cursor: pointer; z-index: 51; transition: all 0.5s; font: 800 24px/40px Rubik, sans-serif; border-radius: 10px; border: 4px solid var(--impact-dark); padding: 0 10px 0 50px; box-sizing: border-box; background: #fff; }
#menubutton:hover { transform: scale3d(1.05,1.05,1); }
#menubutton:after { content: 'menu'; width: 68px; display: inline-block; }
#menubutton .rowbar { position: absolute; top: 19px; left: 15px; width: 18px; height: 3px; background: var(--impact-dark); border-radius: 2px; transition: all 0.5s; }
#menubutton .rowtop { top: 13px; }
#menubutton .rowbottom { top: 25px; }
.menushown #menubutton:after { content: 'close'; text-align: center; }
.menushown #menubutton .rowtop, .menushown #menubutton .rowbottom { opacity: 0; }
.menushown #menubutton .rowbar:nth-child(2) { transform: rotate(-45deg); }
.menushown #menubutton .rowbar:nth-child(3) { transform: rotate(45deg); }
.menushown main, .menushown footer { pointer-events: none; }

#menu { position: fixed; top: 0; left: 0; bottom: 0; right: 0; background: #fff linear-gradient(60deg, var(--impact-neutral), #fff 60%); z-index: 50; padding: 25px 50px; display: flex; align-items: center; transition: transform 0.5s ease-in-out; transform: translate3d(0,-100%,0); pointer-events: none;  }
.menushown #menu { transform: translate3d(0,0,0); pointer-events: auto; }
.fl_menu { list-style: none; max-width: 750px; margin: 0 auto; flex-grow: 1; }
.fl_menu:before { content: ''; position: absolute; top: 25px; left: 50%; width: 125px; height: 125px; margin-left: -62.5px; background: url('../gfx/dark-logo-impact-no-slogan.svg') no-repeat top / contain; }
.fl_menu li, .fl_menu a { font-weight: 300; font-size: 24px; line-height: 75px; display: block; text-align: center; text-decoration: none; color: var(--impact-dark); text-transform: lowercase; }
.fl_menu li { border-bottom: 1px solid var(--impact-green); }
.fl_menu li:last-child { border-bottom: 0; }
.fl_menu a:hover { opacity: 1; color: var(--impact-blue); }
.fl_menu li.current a { opacity: 0.5; cursor: default; color: var(--impact-dark)!important; }
.fl_menu ul { display: none!important; }
.fl_menu.signedin #menu_e_15 { display: none!important; }
.fl_menu a b { font-weight: 800; text-transform: uppercase; }

.cms_inplace { display: block; margin: 20px auto; }
.cms_imgleft { max-width: 300px; border: 0; margin: 3px 10px 10px 0; float: left; }
.cms_imgright { max-width: 300px; border: 0; margin: 3px 0 10px 10px; float: right; }

main { min-height: calc(100vh - 450px); box-sizing: border-box; padding-bottom: 50px; }
.page-front main { padding-bottom: 0; }
main>.wrapper { padding-top: 30px; }
.pf-account main>.wrapper { padding-top: 0; }
main li { margin-top: 3px; }
main ul { list-style: none; }
main ul li:before { color: var(--impact-brown); content: "\2022"; position: absolute; font-size: 18px; line-height: 14px; margin: 6px 0 0 -18px; }
blockquote { background: var(--impact-ltneutral); margin: 50px; padding: 5px 25px; }
iframe { max-width: 100%; }

.page-front main>.wrapper { max-width: none; padding: 0; }
.pagetop, #frontabout { background: var(--impact-neutral); position: relative; }
.pagetop .wrapper, #frontabout .wrapper { padding: 55px 50px; position: relative; font-size: 24px; line-height: 30px; font-weight: 300; }
.pagetop .wrapper { min-height: 200px; align-content: center; }
.pagetop.hasintro .wrapper>* { padding-left: 40%; }
.pf-account .pagetop.hasintro .wrapper>* { padding: 0 40% 0 0; }
#frontabout .wrapper>* { padding-right: 30%; }
.pagetop { z-index: 9; margin-bottom: 50px; }
.pagetop.hasintro { font-weight: 300; font-size: 24px; line-height: 30px; }
#pagetopimg { position: absolute; top: -50px; left: 0; width: calc(40% - 50px); bottom: -50px; background: url('../gfx/dark-bars.svg') no-repeat right / auto 100%; z-index: 11; pointer-events: none; }
.pf-account #pagetopimg { right: 0; left: auto; background-position: left; }
#frontaboutimg { position: absolute; top: -25px; right: 0; width: 30%; bottom: -25px; background: url('../gfx/dark-bars.svg') no-repeat left / auto 100%; }
.pagetop span.email { word-wrap: break-word; }

.frontthreewrap { padding-top: 30px; }
.frontthreewrap>h2 { margin-bottom: 50px; }
.frontthree { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin-bottom: 50px; }
.frontbox h2, .pf-framework ol li:before { margin-top: 0; font-weight: 800; font-size: 64px; line-height: 64px; }
.frontbox:first-child h2, .pf-framework ol li:first-child:before { color: var(--impact-orange); }
.frontbox:nth-child(2) h2, .pf-framework ol li:nth-child(2):before { color: var(--impact-blue); }
.frontbox:nth-child(3) h2, .pf-framework ol li:nth-child(3):before  { color: var(--impact-green); }
.frontbox:nth-child(4) h2, .pf-framework ol li:nth-child(4):before  { color: var(--impact-midblue); }
.frontbox:nth-child(5) h2, .pf-framework ol li:nth-child(5):before  { color: var(--impact-yellow); }
.frontbox:nth-child(6) h2, .pf-framework ol li:nth-child(6):before  { color: var(--impact-brown); }
.frontbox>*:last-child { margin-bottom: 0; }

.pf-framework ol { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin: 0; }
.pf-framework ol li:before { display: block; content: counter(counter); counter-increment: counter; margin-bottom: 20px; }

.partnergrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 100px; margin: 0; }
.partnergrid>p { display: none; }
.partnergrid>blockquote { padding: 0; margin: 0; background: transparent; }
.partnergrid>blockquote>*:first-child { margin-top: 0; }
.partnergrid>blockquote>*:last-child { margin-bottom: 0; }
.partnergrid img.cms_inplace { margin: 0; display: block; }

p.gohome { margin-top: 50px; }

#glossarysearchwrap, #glossarynone { display: none; }

#glossarysearchwrap { position: relative; margin-top: 50px; }
#glossarysearch { padding: 10px 20px; }

#glossary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin-top: 50px; }
.glossaryterm { display: block; background: var(--impact-ltneutral); padding: 15px 25px; text-align: left; font-size: 16px; line-height: 24px; }
.glossaryterm h4, .glossaryterm p { margin: 10px 0; }
.glossaryterm h4 { font-weight: 300; }
#glossarynone { margin-top: 0; }

footer { padding: 30px 50px; font-size: 12px; line-height: 20px; background: var(--impact-mid); text-align: center; color: #fff; }
footer p:first-child { margin-bottom: 10px; }
footer p:last-child { margin-top: 0; }
footer a { display: inline-block; margin: 10px; }

label.labelwrap { position: relative; display: block; padding-top: 25px; margin-top: 5px; }
label.labelwrap>span { position: absolute; font-size: 12px; top: 0; left: 0; transform: none; margin: 0; transition: all 0.5s; cursor: pointer; color: var(--clic-dark); }
label.labelwrap>span:has(+ input:placeholder-shown), label.labelwrap>span:has(+ textarea:placeholder-shown)  { top: 50%; left: 10px; transform: translateY(-50%); margin-top: 12px; font-size: 14px; color: var(--clic-mid); }
label.labelwrap>span:has(+ textarea:placeholder-shown) { top: 20px; transform: none; }
label.labelwrap>span:has(+ input:focus), label.labelwrap>span:has(+ textarea:focus) { font-size: 12px!important; top: 0!important; left: 0!important; transform: none!important; margin: 0!important; }
.reqd { color: var(--impact-red); }
label .reqd { margin-left: 5px; }

.styleform h3 { margin-bottom: 0; margin-top: 25px; padding-top: 25px; border-top: 1px solid var(--clic-ltneutral); }
.styleform p { margin-bottom: 0; }
p.regtooltip { margin-top: 5px; font-size: 0.8em; line-height: 1.4em; text-align: right; font-style: italic; }
#tooltipwrap p.regtooltip { text-align: left; }
a#addresslookup, select#chooseaddress { margin-top: 5px; }
label[for=address2], label[for=address3] { padding-top: 0; }

label:has(+ select), .antispam label, label.antispam, label.forcheckboxes { padding-top: 10px; margin-top: 3px; font-size: 12px!important; color: var(--clic-dark); display: block; position: relative; top: 2px; }

input, textarea { -webkit-appearance: none; border-radius: 0; }
input.checkbox, input.button { border: 0; width: auto; display: inline; background: transparent; -webkit-appearance: checkbox; height: auto; margin-right: 5px; }
input[type=radio] { -webkit-appearance: radio; }
input[type=checkbox] { -webkit-appearance: checkbox; }
label .reqd { margin-left: 5px; }
input, textarea, .fl_mailform textarea, select { background: var(--impact-ltneutral)!important; border: 0; border-radius: 0; font: 14px/20px Rubik, sans-serif; color: var(--impact-dark)!important; width: 100%; display: block; padding: 10px; box-sizing: border-box; }
input, select { height: 40px; }
.textbox form input.formsub, .textbox form input.emailsub { margin-bottom: 0; }
.textbox a.button { max-width: 250px; margin: 20px 0 0; }

.checkboxes { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 10px; }
.checkboxes input { position: absolute; left: -9999px; }
.checkboxes label { display: flex; background: var(--clic-ltneutral); padding: 10px; text-align: center; align-items: center; justify-content: center; margin-top: 5px; cursor: pointer; transition: all 0.25s; margin: 0; font-size: 14px; line-height: 20px; }
.checkboxes label:hover { transform: scale3d(1.02,1.02,1); }
.checkboxes input:checked+label { background: var(--clic-mid); color: #fff; font-weight: 600; }

input.emailsub, input.passsub, input.commentsub, input.formsub, input.votesub, a.button, span.button, button { display: block; width: auto; height: auto; margin: 10px 5px 10px 0; padding: 5px 15px; border: 0; background: #fff; color: var(--impact-dark)!important; border-radius: 10px; cursor: pointer; text-decoration: none; text-align: center; font: 800 24px/40px Rubik, sans-serif; min-height: 50px; text-transform: lowercase; box-sizing: border-box; position: relative; border: 4px solid var(--impact-dark); }
input.emailsub:hover, input.passsub:hover, input.commentsub:hover, input.formsub:hover, a.button:hover, span.button:hover, input.emailsub:focus, input.passsub:focus, input.commentsub:focus, input.formsub:focus, a.button:focus, span.button:focus, input.votesub:hover, input.votesub:focus, button:hover, button:focus { transform: scale3d(1.05,1.05,1); opacity: 1; }
span.button, a.button { display: inline-block; margin: 0 auto; }
a.button>span { text-transform: uppercase; }

.subpages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin: 25px 0 50px; }
.subpages.assessmentcats { gap: 0; }
.subpages a { padding: 50px 25px; background: var(--impact-midblue); color: #fff; font-size: 24px; line-height: 28px; font-weight: 300; text-decoration: none; text-align: center; display: flex; align-items: center; justify-content: center; border-radius: 10px; text-transform: lowercase; }
#assessmentcatsscroll { display: flex; justify-content: left; margin-bottom: 0; overflow: auto; -webkit-overflow-scrolling: touch; padding: 0 0 30px; scrollbar-color: transparent var(--impact-neutral); position: sticky; top: 0; z-index: 8; border-top: 114px solid #fff; margin-top: -64px; }
#assessmentcatsscroll a { width: 225px; min-width: calc(100% / 6); box-sizing: border-box; display: inline-block; flex-shrink: 0;}
#assessmentcatsscroll a:before { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: rgba(255,255,255,0.5); content: ''; }
#assessmentcatsscroll a.catcurrent:before { display: none; }
#assessmentcatsscroll a.catcurrent:after { position: absolute; bottom: -5px; left: 50%; width: 10px; height: 10px; content: ''; transform: rotate(45deg); transform-origin: center; margin-left: -5px; }
#assessmentcatsscroll a>span { opacity: 0.75; }
#assessmentcatsscroll a.catcurrent>span { opacity: 1; }

.subpages.assessmentcats a { justify-content: left; align-items: flex-start; position: relative; border-radius: 0; padding: 25px 25px 75px; text-align: left; color: #fff; }
.subpages.assessmentcats a .assessmentcatname { position: relative; }
.subpages.assessmentcats a .assessmentcatprogress { position: absolute; bottom: 20px; right: 20px; font-size: 0.75em; }
.subpages.assessmentcats a:hover { z-index: 10; }
.subpages.assessmentcats a .assessmentcatprogress b { font-weight: 800; }
.subpages a:hover { opacity: 1; background: var(--impact-blue); transform: scale3d(1.02,1.02,1); }
.subpages a.linkboxdisabled { opacity: 0.2; cursor: not-allowed; transform: none!important; }

#assessmentcatsscroll a { color: var(--impact-mid); }
#assessmentcatsscroll a.catcurrent { opacity: 1; color: #fff; }

#assessmentcatsscroll::-webkit-scrollbar { height: 5px; }
#assessmentcatsscroll::-webkit-scrollbar-track { background: transparent; }
#assessmentcatsscroll::-webkit-scrollbar-thumb { background: var(--impact-neutral); border-radius: 2.5px;
}

.subpages a.blockorange, a.blockorange.catcurrent:after { background: var(--impact-yellow)!important; }
.subpages a.blockgreen, a.blockgreen.catcurrent:after { background: var(--impact-green)!important; }
.subpages a.blockltblue, a.blockyellow.blockltblue:after { background: var(--impact-blue)!important; }
.subpages a.blockbrown, a.blockbrown.catcurrent:after { background: var(--impact-brown)!important; }
.subpages a.blockred, a.blockred.catcurrent:after { background: var(--impact-orange)!important; }
.subpages a.blockdkblue, a.blockdkblue.catcurrent:after { background: var(--impact-midblue)!important; }

.subpages a .check { display: block; vertical-align: middle; width: 16px; height: 16px; margin: 0 auto 5px; background: url('../gfx/icon-check-white.svg') no-repeat center; background-size: contain; }

.download { display: block; margin-top: 20px; padding-top: 20px; padding-left: 220px; min-height: 200px; position: relative; }
.download:before, .download:last-of-type:after { position: absolute; top: 0; left: 0; right: 0; background: var(--clic-neutral); content: ''; height: 1px; }
.download:last-of-type { padding-bottom: 20px;}
.download:last-of-type:after { top: auto; bottom: 0; }

.downloadvideo { padding-left: 0; }
.downloadimage { background: linear-gradient(80deg, var(--clic-blue), var(--clic-dkpurple)); background-size: auto 30%; position: absolute; left: 0; width: 200px; height: 200px; }
.downloadimage:hover { opacity: 1; transform: scale3d(1.02,1.02,1); }

.vidwrap { position: relative; height: 0; padding-bottom: 56.25%; }
.vidwrap iframe { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; }
.downloadtitle { display: block; font-weight: 600; }
h4.downloadtitle { margin: 10px 0; }
.downloadinfo { margin: 5px 0 0; font-size: 0.8em; line-height: 1.4em; }
.downloadimage span { position: absolute; top: 2px; left: 2px; bottom: 2px; right: 2px; background-size: contain; background-repeat: no-repeat; background-position: center; background-color: #fff; }
.downloadimage span.downloadgeneric { background-image: url('../gfx/download-generic@2x.png'); background-size: 50% auto; }

.question { padding-left: 110px; position: relative; font-size: 32px; line-height: 36px; font-weight: 300; margin-bottom: 75px; }
.question .questionno, .answerwrap .questionno { position: absolute; top: 0; left: 0; font-size: 48px; line-height: 48px; font-weight: 800; text-transform: uppercase; }
.question>p { margin: 0 0 10px; }

.rangewrap { padding: 0 0 18px 0; position: relative; }
.rangewrap { padding: 0 0 18px 0; position: relative; }
.rangecounter { margin-top: -5px; font-size: 10px; line-height: 10px; margin-bottom: 10px;  position: relative; box-sizing: border-box; }
.rangecounter>div { display: inline-block; vertical-align: top; width: 10.875%; text-align: center; box-sizing: border-box; }
.rangecounter>div:first-child { width: 6.5%; padding-left: 8px; text-align: left; }
.rangecounter>div:last-child { width: 6.5%; padding-right: 5px; text-align: right; }


.rangestep { width: 80px; height: 18px; position: absolute; bottom: 0; background-size: contain; background-repeat: no-repeat; text-align: center; font-size: 14px; line-height: 18px; font-weight: 400; }
.rangestep:first-of-type { left: 0; text-align: left; }
.rangestep:nth-of-type(2) { left: 25.5%; transform: translateX(-50%); }
.rangestep:nth-of-type(3) { left: 50%; transform: translateX(-50%); }
.rangestep:nth-of-type(4) { right: 25.5%; transform: translateX(50%); }
.rangestep:nth-of-type(5) { right: 0; text-align: right; }
.rangewrap:last-of-type { margin-bottom: 0; border-bottom: 0; }
.rangewrap input[type=number], .rangeshow { display: none; }

input[type=range] {
	-webkit-appearance: none;
	appearance: none;
	display: block; width: 100%; box-sizing: border-box;
	background: transparent!important;
	padding: 0; 
}
input[type=range]:focus {
    outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
	background: var(--impact-neutral);
	height: 6px;
	border-radius: 0;
}
input[type=range]::-moz-range-track {
	background: var(--impact-neutral);
	height: 6px;
	border-radius: 0;
}

input::-webkit-slider-thumb {
	-webkit-appearance: none;
	background: var(--impact-mid);
	width: 20px; height: 20px; margin-top: -7px; border-radius: 50%;
	transition: opacity 0.25s;
}


input::-moz-range-thumb {
	-webkit-appearance: none;
	appearance: none;
	background: var(--impact-mid);
	width: 20px; height: 20px; margin-top: -7px; border-radius: 50%;
	transition: opacity 0.25s;
}

.questionwrapbrown input::-webkit-slider-thumb { background: var(--impact-brown); }
.questionwrapbrown input::-moz-slider-thumb { background: var(--impact-brown); }
.questionwraporange input::-webkit-slider-thumb { background: var(--impact-yellow); }
.questionwraporange input::-moz-slider-thumb { background: var(--impact-yellow); }
.questionwrapblue input::-webkit-slider-thumb { background: var(--impact-midblue); }
.questionwrapblue input::-moz-slider-thumb { background: var(--impact-midblue); }
.questionwrapred input::-webkit-slider-thumb { background: var(--impact-orange); }
.questionwrapred input::-moz-slider-thumb { background: var(--impact-orange); }
.questionwrapgreen input::-webkit-slider-thumb { background: var(--impact-green); }
.questionwrapgreen input::-moz-slider-thumb { background: var(--impact-green); }
.questionwrapltblue input::-webkit-slider-thumb { background: var(--impact-blue); }
.questionwrapltblue input::-moz-slider-thumb { background: var(--impact-blue); }

.questionwrapbrown .questionno, .assessmentbox.questionwrapbrown h2 { color: var(--impact-brown); }
.questionwraporange .questionno, .assessmentbox.questionwraporange h2 { color: var(--impact-yellow); }
.questionwrapblue .questionno, .assessmentbox.questionwrapblue h2 { color: var(--impact-midblue); }
.questionwrapred .questionno, .assessmentbox.questionwrapred h2 { color: var(--impact-orange); }
.questionwrapgreen .questionno, .assessmentbox.questionwrapgreen h2 { color: var(--impact-green); }
.questionwrapltblue .questionno, .assessmentbox.questionwrapltblue h2 { color: var(--impact-blue); }

.assessmentoverview { position: relative; min-height: 400px; padding-left: 425px; }
.resultschart { position: absolute; top: 0; left: 0; width: 400px; height: 400px; }
.progresschart { height: 400px; }

.assessmentbox { margin-top: 50px; }
.answerwrap { position: relative; padding-left: 110px; margin-top: 25px; }
.answerresponse { margin: 25px 0 0; }
.goodbadbuttons { text-align: right; }
button.goodbad { display: inline-block; margin: 0 0 0 5px; }
button.goodbad:before { content: ''; width: 20px; height: 20px; display: inline-block; margin-right: 10px; background: url('../gfx/like.svg') no-repeat center / contain; }
button.goodbad:last-of-type:before { transform: rotate(180deg); position: relative; top: 3px; }

input.rangestart::-webkit-slider-thumb { opacity: 0.1; }
input.rangestart::-moz-range-thumb { opacity: 0.1; }

.rangeadvice { position: relative; transition: max-height 0.5s ease-in-out; max-height: 10px; height: 5000px; margin-top: -10px; }
.adviceel { font-size: 12px; line-height: 18px; color: var(--impact-mid); background: var(--impact-ltneutral); width: 200px; box-sizing: border-box; padding: 10px; position: absolute; margin: 5px 0 0; opacity: 0; pointer-events: none; border-radius: 5px; text-align: center; font-weight: 400; }
.adviceel:nth-child(2) { left: 25.5%; transform: translateX(-50%); }
.adviceel:nth-child(3) { left: 50%; transform: translateX(-50%); }
.adviceel:nth-child(4) { right: 25.5%; transform: translateX(50%); }
.adviceel:nth-child(5) { right: 0; }
.adviceel:empty { display: none; }

.adviceel:before { content: ''; position: absolute; top: -5px; left: 2px; background: var(--clic-dark); transform: rotate(-45deg); width: 10px; height: 10px; }
.adviceel:nth-child(2):before, .adviceel:nth-child(3):before, .adviceel:nth-child(4):before { left: 50%; margin-left: -5px; }
.adviceel:nth-child(5):before { left: auto; right: 2px; }

.adviceel.adviceshown { opacity: 1; pointer-events: auto; transition: opacity 0.5s ease-in-out; }

.surveyrangelabel { padding-top: 50px; }


.tooltip { border-bottom: 1px dotted var(--impact-mid); cursor: help; }
.tooltip:hover { border-bottom: 1px solid var(--impact-mid); }
.tooltip .tooltip { border: 0!important; }
.adviceel .tooltip { border-color: #fff!important; }

#tooltipwrap { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: rgba(255,255,255,0.5); z-index: 95; opacity: 0; pointer-events: none; transition: opacity 0.5s; }
#tooltipwrap.ttshown { opacity: 1; pointer-events: auto; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
#tooltipoverlay { position: absolute; top: 50%; left: 50%; width: 500px; box-sizing: border-box; background: #fff; transform: translate3d(-50%,-50%,0); z-index: 96; box-shadow: 0 0 10px rgba(0,0,0,0.25); border-radius: 10px; }
#tooltipoverlayclose { position: absolute; top: 20px; right: 20px; width: 30px; height: 30px; background: url('../gfx/icon-close.svg') no-repeat center; background-size: 16px auto; cursor: pointer; z-index: 100; }
#tooltipoverlayclose:hover { transform: scale3d(1.1,1.1,1); }
#tooltipoverlaycontent { max-height: 60vh; padding: 30px 50px; position: relative; box-sizing: border-box; }
#tooltipwrap h3 { position: relative; }


#fl_loading { display: none; position: fixed; top: 10px; right: 10px; background: #fff; padding: 3px; border: 1px solid #ccc; z-index: 150; width: 32px; z-index: 99; }
#cookiebar { font-size: 12px; line-height: 16px; }
#cookiebar a { display: inline-block; }
#msgbar { font-family: Rubik, sans-serif; }
.err, .reqd { font-weight: 600; color: var(--impact-red); }

@keyframes slide-in {
  0% {
    opacity: 0;
    transform: translate3d(0,25px,0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0,0,0);
  }
}

.hasjs .blockready { opacity: 0; transform: translate3d(0,25px,0); }
.hasjs .blockdisp { animation-duration: 1s; animation-iteration-count: 1; animation-name: slide-in; animation-fill-mode: forwards; }


a, input, textarea, select, span.button, #tooltipoverlayclose, #cannotsubmit .clickable, button { transition-duration: 0.25s; transition-property: transform, opacity, background-color, background-size, color; }

@media (max-width: 1174px) {
	#assessmentcatsscroll a { width: 18%; }
}

@media (max-width: 899px) {
	body { min-width: 320px; -webkit-text-size-adjust: none; }
	#pagetopimg, #frontaboutimg { top: 50%; margin-top: -125px; bottom: auto; height: 250px; }
	.frontthree { gap: 50px; }
	.subpages { gap: 25px; }
	#glossary { grid-template-columns: 1fr 1fr; }
	#assessmentcatsscroll a { width: 23%; }
	#assessmentcatsscroll { margin-top: -114px; }

	.pf-framework ol, .frontthree, .partnergrid { grid-template-columns: repeat(2, 1fr); }
	.partnergrid { gap: 50px; }
	.frontthreewrap { padding-top: 0; }

}
@media (max-width: 767px) {
	.subpages { grid-template-columns: repeat(2, 1fr); }
	.resultschart { position: static; margin: 0 auto; }
	.assessmentoverview { padding-left: 0; }
	#assessmentcatsscroll a { width: 31%; }
	
}
@media (max-width: 699px) {
	#menubutton { right: 25px; }
	footer { padding: 30px 25px; }
	body:not(.page-front) .logo { width: 100px; height: 94px; background: url('../gfx/dark-logo-impact-no-slogan.svg') no-repeat top / contain; }
	body:not(.page-front) .logo img { display: none; }
	.fl_menu:before { width: 100px; height: 94px; margin-left: -50px; }
	.wrapper, .pagetop .wrapper, #frontabout .wrapper, main>.wrapper, #menu { padding-left: 25px; padding-right: 25px; }
	
	body { font-size: 14px; line-height: 20px; }
	.pagetop.hasintro, .pagetop .wrapper, #frontabout .wrapper, .frontbox { font-size: 18px; line-height: 24px; }
	h1, #frontabout h2 { font-size: 28px; line-height: 32px; }
	h2 { font-size: 24px; line-height: 28px; }
	h3 { font-size: 20px; line-height: 24px; }
	h4, .subpages a { font-size: 18px; line-height: 22px; }
	h5 { font-size: 16px; line-height: 20px; }
	.fl_menu li, .fl_menu a { font-size: 18px; line-height: 50px!important; }
	.subpages.assessmentcats a { padding: 10px 10px 40px; }
	.subpages.assessmentcats a .assessmentcatprogress { bottom: 10px; right: 10px; }
	.question { font-size: 20px; line-height: 24px; }
	.question .questionno, .answerwrap .questionno { font-size: 36px; line-height: 36px; }
	.answerwrap, .question { padding-left: 90px; }
	.rangestep { font-size: 12px; }
	.frontbox h2, .pf-framework ol li:before { font-size: 48px; line-height: 48px; }
	
	.pagetop { margin-bottom: 0; }
	.pagetop .wrapper, #frontabout .wrapper { padding-top: 30px; padding-bottom: 30px; }
	#pagetopimg, #frontaboutimg { height: 150px; margin-top: -75px; }
	.pagetop.hasintro .wrapper>* { padding-left: 35%; }
	
	.frontthree { grid-template-columns: 1fr; gap: 0; margin: 0; }
	.frontthreewrap, .frontbox { padding-top: 25px; padding-bottom: 25px; }
	main>.wrapper, .pf-account main>.wrapper { padding-top: 5px; }
	.frontthreewrap>h2 { margin-bottom: 0; }

	#glossary { grid-template-columns: 1fr; gap: 25px; }

	#menubutton, input.emailsub, input.passsub, input.commentsub, input.formsub, input.votesub, a.button, span.button, button { font-size: 18px; line-height: 30px; min-height: 40px; }
	#menubutton { height: 40px; padding-left: 40px; }
	#menubutton:after { width: 51px; }
	#menubutton .rowbar { top: 14px; left: 10px; }
	#menubutton .rowtop { top: 8px; }
	#menubutton .rowbottom { top: 20px; }

	.logo:before { left: 15px; }
	

}
@media (max-width: 599px) {
	.pagetop .wrapper { min-height: 100px; }
	#assessmentcatsscroll a { width: 46%; }
	.pf-framework ol { gap: 25px; }
}
@media (max-width: 499px) {
	body .logo { width: 100px; height: 94px; background: url('../gfx/dark-logo-impact-no-slogan.svg') no-repeat top / contain; }
	body .logo img { display: none; }
	.logo { margin: 0 0 0 25px; }
	body:not(.pf-account) #pagetopimg, #frontaboutimg { top: -5px; margin-top: 0; bottom: 50%; height: auto; background-image: url('../gfx/dark-bars-mid.svg'); }
	.fl_menu:before { display: none; }
	#menu { padding: 0 25px!important; overflow: auto; -webkit-overflow-scrolling: touch; }
	.fl_menu { padding: 75px 0 25px!important; }
	
	.question { padding-left: 0; }
	.question .questionno { position: static; display: block; margin-bottom: 5px; }
	
	.pf-framework ol, .partnergrid { grid-template-columns: 1fr; }
	.partnergrid { gap: 25px; }
	
	.resultschart { width: 300px; height: 300px; }
}
@media (max-width: 399px) {
	.subpages { grid-template-columns: 1fr; }
	.subpages a { padding: 25px; }
	#cf-turnstile { transform: scale(0.9); transform-origin: top left; }
	.resultschart { width: 320px; }
	.rangestep { width: 60px; font-size: 10px; }
}
@media all and (max-width: 349px) {
	#cf-turnstile { transform: scale(0.8); }
	.resultschart, .progresschart { width: calc(100% + 50px); margin-left: -25px; }
	#resultschart, #progresschart { margin: 0 auto; }
}

@media (max-height: 749px) {
	#menu { padding-top: 125px; }
}
@media (max-height: 599px) {
	.fl_menu li, .fl_menu a { line-height: 60px; }
	#tooltipoverlay { width: auto; left: 25px; right: 25px; transform: translateY(-50%); }
	#tooltipoverlaycontent { padding: 5px 25px; }
	.downloadimage { width: 150px; height: 150px; }
	.download { padding-left: 170px; min-height: 150px; }
}
@media (max-height: 499px) {
	.fl_menu:before { display: none; }
	#menu { padding: 0 25px; overflow: auto; -webkit-overflow-scrolling: touch; }
	.fl_menu { padding: 75px 0 25px; }
}

/*
@media all and (max-width: 1039px) {
	.checkboxes { grid-template-columns: 1fr 1fr 1fr; }
}
@media all and (max-width: 959px) {
	
	#glossary { grid-template-columns: 1fr 1fr; }
	.subpages { gap: 25px; margin-top: 25px; }
	.subpages a { font-size: 18px; line-height: 22px; }
}
@media all and (max-width: 799px) {
	.resultschart { display: block; margin: 0 auto 25px; }
	.resultsinfo { display: block; width: auto; }
	.resourcesbox .subpages { grid-template-columns: 1fr 1fr; }

}
@media all and (max-width: 767px) {
	.logo { height: 60px; width: 250px; }
	header { top: 10px; padding: 10px; border-radius: 40px; }
	.scrolled header { border-radius: 35px; }
	#logo { width: 60px; height: 60px; }
	.topfade { height: 50px; }
	#menubutton { top: 20px; }
	.scrolled #menubutton { top: 15px; }
	
}
@media all and (max-width: 749px) {
	.checkboxes { grid-template-columns: 1fr 1fr; }
}
@media all and (max-width: 699px) {
	#glossary { grid-template-columns: 1fr; gap: 25px; }
	#glossarysearchwrap { margin-bottom: 25px; }
}
@media all and (max-width: 599px) {
	#tooltipoverlay { width: auto; left: 50px; right: 50px; transform: translateY(-50%); }
	.downloadimage { width: 150px; height: 150px; }
	.download { padding-left: 170px; min-height: 150px; }
}
@media all and (max-width: 549px) {
	header { left: 15px; right: 15px; }
	footer { padding-left: 15px; padding-right: 15px; padding-top: 5px; }
	.footerbottom { margin: 25px -15px 0; }

	html, body, .questiontitle { font-size: 16px; line-height: 22px; }
	
	.assessmentbox { margin-bottom: 25px; }
	
	h1, h2 { font-size: 28px; line-height: 32px; }
	h3 { font-size: 24px; line-height: 28px; }
	h4 { font-size: 20px; line-height: 24px; }
	h5 { font-size: 16px; line-height: 20px; }

	#percentage { margin-right: -30px; margin-top: -25px; }
	

}
@media all and (max-width: 479px) {
	button .hidesm { display: none; }
	.resultschart { margin: 0 -40px 25px; width: auto; }
	canvas#resultschart { width: 300px!important; height: 300px!important; margin: 0 auto; }
	.subpages { grid-template-columns: 1fr!important; }
	.downloadimage { width: 120px; height: 120px; }
	.download { padding-left: 140px; min-height: 120px; }
}
@media all and (max-width: 399px) {
	#cf-turnstile { transform: scale(0.9); transform-origin: top left; }
	.adviceel { width: 200px; }
	.rangestep { font-size: 12px; }
}
@media all and (max-width: 374px) {
	.logo { height: 50px; width: 208px; }
	#logo { width: 50px; height: 50px; }
	#menubutton { top: 15px; }
	.downloadimage { width: 100px; height: 100px; }
	.download { padding-left: 120px; min-height: 100px; }
}
@media all and (max-width: 349px) {
	#cf-turnstile { transform: scale(0.8); }
}