:root{
	--color-1: #00f4fd;
	--color-1-overlay:  var(--color-text);
	--color-2: #ff6c00;
	--color-2-overlay: var(--color-text);
	--color-3: #ffda1d;
	--color-3-overlay:  var(--color-text);
	--color-4: #00f0b5;
	--color-5: #ff2276;
	--color-text: #1a1a1a;
	--color-amber: var(--color-3);
	--color-amber-overlay:  var(--color-text);
	--color-green: var(--color-4);
	--color-green-overlay:  var(--color-text);
	--color-red: var(--color-5);
	--color-background: #f8f8f8;
	--color-border-grey: #cccccc;
	--color-text-footer: #999999;
}

/****/

@font-face{
font-family: "Body"; font-style: normal; font-weight: 400;
src: url("../_lib/_media/fonts/lexend-light.woff2") format("woff2");
}

@font-face{
font-family: "Body"; font-style: normal; font-weight: 700;
src: url("../_lib/_media/fonts/lexend-semibold.woff2") format("woff2");
}

@font-face{
font-family: "Header"; font-style: normal; font-weight: 700;
src: url("../_lib/_media/fonts/lexend-semibold.woff2") format("woff2");
}

@font-face{
font-family: "Button"; font-style: normal; font-weight: 700;
src: url("../_lib/_media/fonts/lexend-semibold.woff2") format("woff2");
}

/****/

#footerWrap{
    background: #ffffff;
    padding: 2% 3% 2% 3%;
}

footer{
	text-align: left;
	color: var(--color-text-footer);
}

footer a{
	color: var(--color-text-footer);
	font-weight: 400;
}

footer .flexibleImage{
	margin: 1em 0 0.5em 0;
    max-width: 130px;
}

/****/

.navMenu li a{
    color: var(--color-text);
}

.navMenu li a.current, .navMenu li a:hover, .navMenu li a:focus{
    color: var(--color-2);
}

.navToggle{
    color: var(--color-text);
}

/****/

.informationBox{
	border: 1px solid transparent;
	background: var(--color-background-light-grey);
}

a{
	color: var(--color-2);
}

p{
    line-height: 1.4;
    margin: 2em auto;
    max-width: 600px;
}

.note{
	font-family: "Body", sans-serif;
	font-weight: 400;
	opacity: 1;
}

button, .uiButton, .fileInput + label, .ui-button{
	padding-top: 0.9em;
	padding-bottom: 0.9em;
}

.uiButton.alt{
	color: var(--color-3-overlay);
	background: var(--color-3);
}

.uiButton.alt:hover{
	color: var(--color-2-overlay);
	background: var(--color-2);
}

.uiButton .flexibleImage{
	max-width: 50px;
	display: inline-block;
}

.createLink input{
	margin: 0.2em auto;
}

.tiledLinks.organisations .tile{
	border: 1px solid var(--color-border-grey);
	padding: 1em 5%;
	border-radius: 10px;
	margin: 10px;
	max-width: 350px;
}

.alertTag.lightGrey, .alertCell.lightGrey{
    background: var(--color-background-light-grey) !important;
    color: var(--color-text) !important;
}

.alertCell.lightGrey{
	border-left: 1px solid var(--color-background);
	border-right: 1px solid var(--color-background);
}

h1 .note .alertTag{
    margin: 1em 0.3em 0 0.3em;
}

.organisationLogo{
	margin: 2em auto;
	max-width: 150px;
}

/****/

.circleCharts svg{
	width: 100px;
}

.circleCharts path.value{
	stroke-linecap: round;
}

.circleCharts path.animate{
	animation: progress 2s ease-out forwards;
}

svg path.green{
	stroke: var(--color-green);
}

svg path.amber{
	stroke: var(--color-amber);
}

svg path.red{
	stroke: var(--color-red);
}

@keyframes progress {
  0% {
    stroke-dasharray: 0 100;
  }
}

/****/

.adminModule{
    background: #ffffff;
    border-color: transparent;
}

.adminModule h1{
	font-size: 2em;
	text-align: center;
	margin: 1em auto;
	line-height: 1.1em;
}

.adminModule.link h1 {
	font-size: 1.4em;
}

.adminModule.link h1 a{
	color: currentColor;
}

.adminModule.link .date{
	text-align: center;
}

.adminModule h2{
	font-size: 1.2em;
	text-align: center;
}

.adminModule .headingIcon{
	margin: 0 auto 0.5em auto;
	width: 25%;
	max-width: 100px;
	vertical-align: middle;
}

.adminModule.linkModule{
    background: var(--color-1);
    color: var(--color-1-overlay);
    padding: 1em;
}

.adminModule.linkModule:hover{
    background: var(--color-2);
}

.adminModule.linkModule h1{
    margin: 0;
    font-weight: 400;
}

.adminModule.linkModule h2{
    margin: 0;
    font-weight: 400;
}

.adminModule.intro h1{
	font-size: 3.5em;
	margin: 0.5em auto;
}

.adminModule.intro p.large{
	text-align: center;
}

.adminModule.intro .introImage svg{
	height: 50%;
	max-height: 200px;
	margin: 0 auto 1em auto;
}

.adminModule.login h1{
	font-size: 2.5em;
	line-height: 1.1em;
	margin-bottom: 0;
}

.adminModule.login .loginImage{
	width: 15%;
	margin: 0 auto 1em auto;
}

.adminModule ol{
    counter-reset: li;
}

.adminModule ol > li{
    list-style: none;
    position: relative;
    margin-bottom: 1.5em;
    margin-top: 4em;
}

.adminModule ol > li:before{
    content: counter(list-item);
    position: absolute;
    top: -1.5em;
    font-size: 2em;
    color: var(--color-text);
    font-weight: 700;
}

.adminModule ul > li{
    padding: 1em;
	margin: 1em auto;
	background-color: var(--color-background);
	list-style: none;
}

.adminModule .card{
	padding: 1em;
	margin: 1em auto;
	border-radius: 10px;
    position: relative;
    border: 1px solid var(--color-border-grey);
    max-width: 600px;
}

.adminModule .card.yellow{
	background: var(--color-3);
	border: 0;
}

.adminModule .card.yellow a{
	color: var(--color-text);
}

.adminModule .card .name{
	padding-bottom: 0.5em;
	font-weight: 700;
	font-size: 1.2em;
}

.adminModule .card .image{
	padding: 0.2em;
}

.adminModule .card h2{
	margin-top: 0;
	margin-bottom: 0.5em;
	text-align: left;
}

.adminModule .card p{
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.adminModule .card .sector{
	margin-top: -2em;
}

.adminModule .card .note{
	font-size: 1em;
}

.adminModule .card.externalLink:after{
    font-family: "FontAwesome";
    font-weight: 400;
    content: "\f08e";
    font-size: 1rem;
    color: var(--color-text);
    position: absolute;
    bottom: 8px;
    right: 8px;
}

.adminModule .card .imageDetail{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-content: center;
	margin: 0.5em;
}

.adminModule .card .imageDetail > .image{
	flex: 0 100px;
}

.adminModule .card .imageDetail > .detail{
	flex: 1;
	display: flex;
  	align-items: center; 
}

/****/

.count{
    opacity: 1;
    background: var(--color-3);
    padding: 0.4em;
    border-radius: 5px;
    line-height: 1em;
}

.count:before{
    content: "";
}

.count:after{
    content: "";
}

/****/

.propertyInfo.centeredValue .propertyInfoLabel{
	font-size: 0.9em;
	padding-top: 0;
	padding-bottom: 1.5em;
}

.propertyInfo.centeredValue .propertyInfoLabel, .propertyInfo.centeredValue .propertyInfoValue{
	display: block;
	text-align: center;
	width: 100%;
}

.propertyInfo.centeredValue .propertyInfoValue{
	margin-top: 1em;
}

.propertyInfo.centeredValue .alertTag{
	width: 8em;
	padding: 0.5em;
	position: relative;
	font-family: "Header", sans-serif;
}

.propertyInfo.centeredValue .alertTag .fa{
	position: absolute;
	top: 0.5em;
	right: 0.5em;
}

/****/

.rating{
	margin: 1em auto;
	text-align: center;
}

.rating .fa{
	font-size: 2em;
	color: var(--color-amber);
	margin: 0 0.1em;
}

.rating button{
	padding: 0.2em;
}

/****/

.responseModule .expandToggle{
	margin-top: 1em;
}

.responseModule .form{
	text-align: center;
}

.responseModule .formInput{
	text-align: center !important;
	margin-bottom: 0 !important;
}

.responseModule .inputSpan{
	width: 100%;
	margin: auto !important;
	float: none;
}

.responseModule .alertTag{
	display: block;
}

.responseModule select{
	border: transparent;
    background: transparent;
	width: auto !important;
	text-align-last: center;
	font-family: "Header", sans-serif;
	padding-left: 40%;
	padding-right: 40%;
}

.responseModule textarea{
	padding: 1rem;
	font-size: 1rem;
	text-align: center;
}

.responseModule textarea.required, .responseModule label.required{
	border: 2px solid var(--color-red);
}

.responseModule .buttons{
	margin-top: 2em;
	font-size: 1em;
	text-align: right;
	position: relative;
}

.responseModule .buttons .uiButton{
	width: 40%;
}

.responseModule .radioOptionButtons .uiButton{
	width: 30%;
	margin: 0 1%;
	padding: 0.6em !important;
	background-color: transparent;
}

.responseModule .alertTag .radioOptionButtons .uiButton{
	color: var(--color-text) !important;
}

.responseModule .alertTag .radioOptionButtons .uiButton{
	background: var(--color-background-light-grey) !important;
}

.responseModule .alertTag .radioOptionButtons .uiButton.current{
	background: var(--color-red) !important;
	color: var(--color-red-overlay) !important;
}

.responseModule .alertTag.green .radioOptionButtons .uiButton.current{
	background: var(--color-green) !important;
}

.responseModule .alertTag.grey .radioOptionButtons .uiButton.current{
	background: var(--color-background-dark-grey) !important;
}

.alertTag.grey, .alertCell.grey{
	background: var(--color-background-dark-grey) !important;
}

.responseModule .alertTag, .responseModule .alertTag.grey{
	background: transparent !important;
}

.responseModule .formAlert .alertTag.red{
	background: var(--color-red) !important;
}

.js .responseModule .fileInput + label{
    display: inline-block;
    width: 100%;
    text-align: center;
    padding-top: 1em;
    padding-bottom: 1em;
}

/****/

.dataTable.responseRow td.note{
	padding: 0 0.8em;
	border: none;
}

.dataTable.responseUpdateRow td.note{
	vertical-align: top;
	padding: 0.5em 0.8em;
	border-bottom: 1px solid var(--color-border-grey);
}

/****/

.sectionProgress{
	width: 100%;
	text-align: center;
	margin: 20px auto;
	max-width: 750px;
}

.sectionProgress .progressPill{
	display: inline-block;
	background-color: var(--color-background-grey);
	width: 10%;
	height: 15px;
	border: 1px solid transparent;
	border-radius: 10px;
	position: relative;
}

.sectionProgress .progressPill.current:after{
	content: "•";
	position: absolute;
  	width: 1em;
	top: 5px;
  	left: 50%;
  	margin-left: -0.5em;
	font-size: 2em;
	color: var(--color-1);
}

/****/

.images{
	text-align: center;
}

.imageRow{
	position: relative;
	max-width: 350px;
	margin: 10px;
	display: inline-block;
}

.imageRow form{
	position: absolute;
	top: 0;
	right: 0;
}

.imageRow button{
	background: rgba(0, 0, 0, 0.4);
}

.imageRow p{
	text-align: center;
}

.imageRow figure{
	border: 1px solid var(--color-border-grey);
	margin: 0;
}

/****/

.filterWrap{
    max-width: 900px;
}

.filterWrap div.search{
    border: 1px solid var(--color-border-grey);
    border-radius: 5px;
    background-color: transparent;
}

.filterWrap div.search .uiButton, .filterWrap div.search .uiButton:hover{
    color: var(--color-text);
    background-color: transparent;
}

.filterWrap div.search .uiButton{
	font-size: 1.3em !important;
}

.filterWrap div.search .uiButton, .filterWrap div.search .uiButton:hover{
    top: 0;
}

/***/

.keywordFilter .keywordSelect{
	border-radius: 5px;
	padding-top: 0.3em;
	padding-bottom: 0.3em;
}

.keywordFilter .keywordSelect:after{
    font-size: 1.6em;
}

.keywords li, .keywords .dataTable.sortable tr, .keywordFilter .keywordSelect, .keywordFilter .keywordSelect select, .clearFiltersButton{
	font-family: "Header", sans-serif;
	font-weight: 400;
}

.keywords li, .keywords .dataTable.sortable tr, .keywordFilter .keywordSelect{
    background: var(--color-3);
	color: var(--color-3-overlay);
}

.keywordFilter .keywordSelect select{
	font-family: "Header", sans-serif;
	font-weight: 400;
}

/****/

.screenshots{
	margin: 1em auto;
	max-width: 750px;
	display: flex;
	gap: 1em;
}

.screenshots .screenshot img{
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
    border-radius: 10px;
}

/****/

.countryRow svg{
	display: inline-block;
	max-width: 50px;
}

/****/

.countryIndexValue{
	display: flex;
	flex-flow: row wrap;
	justify-content: left;
	align-items: center;
	margin: 0.5em;
}

.countryIndexValue .coachingTip{
	color: var(--color-text);
	display: block;
	margin-top: 0.2em;
}

.countryIndexValue > .valueColumn{
	flex: 0 100px;
	text-align: center;
	background: var(--color-background);
	border-radius: 10000px;
	padding: 1em;
}

.countryIndexValue > .valueColumn.red{
	background: var(--color-red);
	color: var(--color-red-overlay);
}

.countryIndexValue > .valueColumn.amber{
	background: var(--color-amber);
	color: var(--color-amber-overlay);
}

.countryIndexValue > .valueColumn.green{
	background: var(--color-green);
	color: var(--color-green-overlay);
}

.countryIndexValue > .detailColumn{
	flex: 1;
	padding: 0.5em 1em;
}

.countryIndexValue .value{
	font-size: 2em;
}

.countryIndexValue .units{
	font-size: 0.6em;
	padding-left: 0.1em;
}

.countryIndexValue .year, .countryIndexValue .description, .countryIndexValue .source, .countryIndexValue .average{
	font-size: 0.8em;
}

.countryIndexValue .average{
	margin-top: 0.5em;
	font-weight: 700;
}

/****/

.helpArticle .description{
	margin: 1.5em;
}

/***/

.resultGraph{
    margin: 0.2em auto;
	font-size: 0.8em;
}

.resultGraph .answer{
	margin-top: 1.2em;
	margin-bottom: 0.5em;
}

.resultGraph .bar, .resultGraph .value{
	display: inline-block;
}

.resultGraph .bar{
	height: 1.6em;
	position: relative;
    border-radius: 3px;
}

.resultGraph.responseStatus .bar{
	height: 3.6em;
}

.resultGraph .bar .value{
	position: absolute;
	right: -3em;
	font-size: 0.9em;
	color: var(--color-text);
	padding: 0.2em;
}

.resultGraph.responseStatus .bar .value{
	font-size: 1.6em;
	padding: 0.4em;
}

.resultGraph .bar.wide .value{
	right: 0.5em;
}

.resultGraph .bar.red{
	background: var(--color-red);
}

.resultGraph .bar.red.wide .value{
	color: var(--color-red-overlay);
}

.resultGraph .bar.amber{
	background: var(--color-amber);
}

.resultGraph .bar.amber.wide .value{
	color: var(--color-amber-overlay);
}

.resultGraph .bar.green{
	background: var(--color-green);
}

.resultGraph .bar.green.wide .value{
	color: var(--color-green-overlay);
}