/* flexboxgrid */ .container{width:90%;margin:auto}.container-fluid{margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}.row{box-sizing:border-box;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex:0 1 auto;-webkit-box-flex:0;flex:0 1 auto;-ms-flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-1rem;margin-left:-1rem}.row.reverse{-ms-flex-direction:row-reverse;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.col.reverse{-ms-flex-direction:column-reverse;-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}.col-xs,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{box-sizing:border-box;-ms-flex:0 0 auto;-webkit-box-flex:0;flex:0 0 auto;padding-right:1rem;padding-left:1rem}.col-xs{-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-xs-1{-ms-flex-preferred-size:8.333%;flex-basis:8.333%;max-width:8.333%}.col-xs-2{-ms-flex-preferred-size:16.667%;flex-basis:16.667%;max-width:16.667%}.col-xs-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-xs-4{-ms-flex-preferred-size:33.333%;flex-basis:33.333%;max-width:33.333%}.col-xs-5{-ms-flex-preferred-size:41.667%;flex-basis:41.667%;max-width:41.667%}.col-xs-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-xs-7{-ms-flex-preferred-size:58.333%;flex-basis:58.333%;max-width:58.333%}.col-xs-8{-ms-flex-preferred-size:66.667%;flex-basis:66.667%;max-width:66.667%}.col-xs-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-xs-10{-ms-flex-preferred-size:83.333%;flex-basis:83.333%;max-width:83.333%}.col-xs-11{-ms-flex-preferred-size:91.667%;flex-basis:91.667%;max-width:91.667%}.col-xs-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-xs-offset-1{margin-left:8.333%}.col-xs-offset-2{margin-left:16.667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.333%}.col-xs-offset-5{margin-left:41.667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.333%}.col-xs-offset-8{margin-left:66.667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.333%}.col-xs-offset-11{margin-left:91.667%}.start-xs{-ms-flex-pack:start;-webkit-box-pack:start;justify-content:flex-start;text-align:start}.center-xs{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center;text-align:center}.end-xs{-ms-flex-pack:end;-webkit-box-pack:end;justify-content:flex-end;text-align:end}.top-xs{-ms-flex-align:start;-webkit-box-align:start;align-items:flex-start}.middle-xs{-ms-flex-align:center;-webkit-box-align:center;align-items:center}.bottom-xs{-ms-flex-align:end;-webkit-box-align:end;align-items:flex-end}.around-xs{-ms-flex-pack:distribute;justify-content:space-around}.between-xs{-ms-flex-pack:justify;-webkit-box-pack:justify;justify-content:space-between}.first-xs{-ms-flex-order:-1;-webkit-box-ordinal-group:0;order:-1}.last-xs{-ms-flex-order:1;-webkit-box-ordinal-group:2;order:1}@media only screen and (min-width:48em){.container{width:46rem}.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{box-sizing:border-box;-ms-flex:0 0 auto;-webkit-box-flex:0;flex:0 0 auto;padding-right:1rem;padding-left:1rem}.col-sm{-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-sm-1{-ms-flex-preferred-size:8.333%;flex-basis:8.333%;max-width:8.333%}.col-sm-2{-ms-flex-preferred-size:16.667%;flex-basis:16.667%;max-width:16.667%}.col-sm-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-sm-4{-ms-flex-preferred-size:33.333%;flex-basis:33.333%;max-width:33.333%}.col-sm-5{-ms-flex-preferred-size:41.667%;flex-basis:41.667%;max-width:41.667%}.col-sm-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-sm-7{-ms-flex-preferred-size:58.333%;flex-basis:58.333%;max-width:58.333%}.col-sm-8{-ms-flex-preferred-size:66.667%;flex-basis:66.667%;max-width:66.667%}.col-sm-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-sm-10{-ms-flex-preferred-size:83.333%;flex-basis:83.333%;max-width:83.333%}.col-sm-11{-ms-flex-preferred-size:91.667%;flex-basis:91.667%;max-width:91.667%}.col-sm-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-sm-offset-1{margin-left:8.333%}.col-sm-offset-2{margin-left:16.667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.333%}.col-sm-offset-5{margin-left:41.667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333%}.col-sm-offset-8{margin-left:66.667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.333%}.col-sm-offset-11{margin-left:91.667%}.start-sm{-ms-flex-pack:start;-webkit-box-pack:start;justify-content:flex-start;text-align:start}.center-sm{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center;text-align:center}.end-sm{-ms-flex-pack:end;-webkit-box-pack:end;justify-content:flex-end;text-align:end}.top-sm{-ms-flex-align:start;-webkit-box-align:start;align-items:flex-start}.middle-sm{-ms-flex-align:center;-webkit-box-align:center;align-items:center}.bottom-sm{-ms-flex-align:end;-webkit-box-align:end;align-items:flex-end}.around-sm{-ms-flex-pack:distribute;justify-content:space-around}.between-sm{-ms-flex-pack:justify;-webkit-box-pack:justify;justify-content:space-between}.first-sm{-ms-flex-order:-1;-webkit-box-ordinal-group:0;order:-1}.last-sm{-ms-flex-order:1;-webkit-box-ordinal-group:2;order:1}}@media only screen and (min-width:62em){.container{width:61rem}.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{box-sizing:border-box;-ms-flex:0 0 auto;-webkit-box-flex:0;flex:0 0 auto;padding-right:1rem;padding-left:1rem}.col-md{-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-md-1{-ms-flex-preferred-size:8.333%;flex-basis:8.333%;max-width:8.333%}.col-md-2{-ms-flex-preferred-size:16.667%;flex-basis:16.667%;max-width:16.667%}.col-md-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-md-4{-ms-flex-preferred-size:33.333%;flex-basis:33.333%;max-width:33.333%}.col-md-5{-ms-flex-preferred-size:41.667%;flex-basis:41.667%;max-width:41.667%}.col-md-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-md-7{-ms-flex-preferred-size:58.333%;flex-basis:58.333%;max-width:58.333%}.col-md-8{-ms-flex-preferred-size:66.667%;flex-basis:66.667%;max-width:66.667%}.col-md-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-md-10{-ms-flex-preferred-size:83.333%;flex-basis:83.333%;max-width:83.333%}.col-md-11{-ms-flex-preferred-size:91.667%;flex-basis:91.667%;max-width:91.667%}.col-md-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-md-offset-1{margin-left:8.333%}.col-md-offset-2{margin-left:16.667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.333%}.col-md-offset-5{margin-left:41.667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333%}.col-md-offset-8{margin-left:66.667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.333%}.col-md-offset-11{margin-left:91.667%}.start-md{-ms-flex-pack:start;-webkit-box-pack:start;justify-content:flex-start;text-align:start}.center-md{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center;text-align:center}.end-md{-ms-flex-pack:end;-webkit-box-pack:end;justify-content:flex-end;text-align:end}.top-md{-ms-flex-align:start;-webkit-box-align:start;align-items:flex-start}.middle-md{-ms-flex-align:center;-webkit-box-align:center;align-items:center}.bottom-md{-ms-flex-align:end;-webkit-box-align:end;align-items:flex-end}.around-md{-ms-flex-pack:distribute;justify-content:space-around}.between-md{-ms-flex-pack:justify;-webkit-box-pack:justify;justify-content:space-between}.first-md{-ms-flex-order:-1;-webkit-box-ordinal-group:0;order:-1}.last-md{-ms-flex-order:1;-webkit-box-ordinal-group:2;order:1}}@media only screen and (min-width:75em){.container{width:71rem}.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{box-sizing:border-box;-ms-flex:0 0 auto;-webkit-box-flex:0;flex:0 0 auto;padding-right:1rem;padding-left:1rem}.col-lg{-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-lg-1{-ms-flex-preferred-size:8.333%;flex-basis:8.333%;max-width:8.333%}.col-lg-2{-ms-flex-preferred-size:16.667%;flex-basis:16.667%;max-width:16.667%}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-lg-4{-ms-flex-preferred-size:33.333%;flex-basis:33.333%;max-width:33.333%}.col-lg-5{-ms-flex-preferred-size:41.667%;flex-basis:41.667%;max-width:41.667%}.col-lg-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-lg-7{-ms-flex-preferred-size:58.333%;flex-basis:58.333%;max-width:58.333%}.col-lg-8{-ms-flex-preferred-size:66.667%;flex-basis:66.667%;max-width:66.667%}.col-lg-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-lg-10{-ms-flex-preferred-size:83.333%;flex-basis:83.333%;max-width:83.333%}.col-lg-11{-ms-flex-preferred-size:91.667%;flex-basis:91.667%;max-width:91.667%}.col-lg-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-lg-offset-1{margin-left:8.333%}.col-lg-offset-2{margin-left:16.667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.333%}.col-lg-offset-5{margin-left:41.667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333%}.col-lg-offset-8{margin-left:66.667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.333%}.col-lg-offset-11{margin-left:91.667%}.start-lg{-ms-flex-pack:start;-webkit-box-pack:start;justify-content:flex-start;text-align:start}.center-lg{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center;text-align:center}.end-lg{-ms-flex-pack:end;-webkit-box-pack:end;justify-content:flex-end;text-align:end}.top-lg{-ms-flex-align:start;-webkit-box-align:start;align-items:flex-start}.middle-lg{-ms-flex-align:center;-webkit-box-align:center;align-items:center}.bottom-lg{-ms-flex-align:end;-webkit-box-align:end;align-items:flex-end}.around-lg{-ms-flex-pack:distribute;justify-content:space-around}.between-lg{-ms-flex-pack:justify;-webkit-box-pack:justify;justify-content:space-between}.first-lg{-ms-flex-order:-1;-webkit-box-ordinal-group:0;order:-1}.last-lg{-ms-flex-order:1;-webkit-box-ordinal-group:2;order:1}}























































html,body {
	margin: 0;
	padding: 0
}

body {
	background: #fff;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-size: 15px;
	line-height: 1.5em;
	padding-top: 55px
}

* { box-sizing: border-box }

img { width: 100%; max-width: 100% }
figure { margin: 0; padding: 0 }










a,
.text-primary {
    color: #0E65D7;
    text-decoration: none
}

a:active, a:hover {
    color: #5998eb;
    text-decoration: underline
}



.text-danger { color: #ea1010 }









.shade-bg {
	background-color: #f2f3f4
}













.button {
	-webkit-appearance: none;
	appearance: none;
	border: none;
	color: #0E65D7;
	background-color: #eeeef4;
	border-radius: 200px;
	margin: 1px;
	font-size: 1em;
	line-height: 1em;
	white-space: nowrap;
	cursor: pointer;
	padding: .4em 1.1em;
	font-weight: bold
}

.button:hover, .button:active {
	background-color: #dbe8f9
}

.button.solid {
	color: #fff;
	background-color: #0E65D7
}

.button.round {
	border-radius: 200px
}

.button.xs { font-size: .8em }
.button.sm { font-size: .8em }










.no-list-style { list-style: none; margin: 0; padding: 0 }





















#site-nav {
	display: flex;
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 55px;
	align-content: center;
	align-items: center;
	border-bottom: 1px solid #e7e8e9;
	background-color: rgba(233, 236, 255, 0.95);
}

#admin-nav {
	transition: all .2s;
	display: flex;
	position: relative;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
	left: 0;
	width: 100%;
	height: 45px;
	align-content: center;
	align-items: center;
	border-bottom: 1px solid #e7e8e9;
	background-color: rgba(228, 234, 248, 0.95);
}

#admin-nav a {
	display: inline-block;
	margin: 0 10px 0 0
}

@supports (-webkit-backdrop-filter: blur(15px)) {
	
	#site-nav {
		background-color: rgba(233, 236, 255, 0.8);
		-webkit-backdrop-filter: blur(15px) saturate(200%)
	}
	
	#admin-nav {
		background-color: rgba(228, 234, 248, .8);
		-webkit-backdrop-filter: blur(15px) saturate(200%)
	}
	
}

#site-nav h1 {
	font-size: 1em;
	margin: 0 0 0 5px;
	line-height: 1em;
	display: inline-block
}



.site-nav {
	margin: 0 0 0 15px;
	padding: 0;
	list-style: none;
	height: 55px;
	display: inline-block
}

.site-nav > li {
	margin: 0 6px;
	padding: 0;
	display: inline-block
}

.site-nav > li > a {
	color: inherit;
	border-bottom: 2px solid transparent;
	display: block;
	line-height: 53px
}

.site-nav > li.active > a {
	border-bottom-color: #0E65D7;
}



#site-nav-menu-xs {
	position: fixed;
	top: 55px;
	left: 0;
	width: 100%;
	bottom: 0;
	z-index: 20;
	font-size: 1.2em;
	-webkit-transition: all .15s;
	-moz-transition: all .15s;
	transition: all .15s;
	-webkit-transform: translateX(101%);
	-moz-transform: translateX(101%);
	transform: translateX(101%);
	background-color: rgba(255,255,255, .96)
}

#site-nav-menu-xs.open {
	-webkit-transition: all .25s;
	-moz-transition: all .25s;
	transition: all .25s;
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	transform: translateX(0)
}

@supports (-webkit-backdrop-filter: blur(15px)) {
	
	#site-nav-menu-xs {
		background-color: rgba(255,255,255, .8);
		-webkit-backdrop-filter: blur(40px)
	}
}

.site-nav-xs {
	list-style: none;
	margin: 0;
	padding: 0
}

.site-nav-xs li {
	display: block;
	margin: 0;
	padding: 0
}

.site-nav-xs li a {
	display: block;
	padding: .8rem 1.5rem;
	border-bottom: 1px solid #e7e8e9
}

@media only screen and (min-width:48em) {
	
	#site-nav-menu-xs {
		display: none
	}
	
}
















.section {
	padding: 10px 0
}

@media only screen and (min-width:48em) {
	
	.section {
		padding: 20px 0 0 0
	}
	
}









.heading {
	padding: 0 0 1em 0;
	border-bottom: 1px solid #e7e8e9;
	margin-bottom: 1em
}

.heading-h2 {
	padding: 1em 0 0 0;
	border-top: 1px solid #e7e8e9;
	margin-bottom: 0
}

.heading-h2 p { margin-bottom: 0 }

.sub-heading {
	color: #999;
	font-weight: 500;
	text-transform: uppercase;
	font-size: .85em;
	display: block;
	margin: 0 0 .5em 0
}

h1 {
	font-size: 2.0em;
	line-height: 1.2em;
	font-weight: bold;
	margin: 0
}

h2 {
	font-size: 1.5em;
	line-height: 1.2em;
	font-weight: bold;
	margin: 0
}

h4 {
	font-size: 1.25em;
	line-height: 1.2em;
	font-weight: bold;
	margin: 0 0 8px 0
}

h1 > small {
	font-size: .8em;
	opacity: .5
}








ul.footer-nav {
	margin: 0;
	padding: 0;
	list-style: none
}

ul.footer-nav li {
	display: inline-block;
	margin: 0 8px 0 0
}

ul.footer-nav li a {
	display: inline-block;
	padding: 5px 0;
	color: inherit;
	opacity: .6;
	line-height: 1.2
}

ul.footer-icons {
	list-style: none;
	margin: 15px 0 0 0;
	padding: 0;
}

ul.footer-icons li {
	margin: 0;
	padding: 0;
	display: inline;
}

ul.footer-icons li a {
	display: inline-block;
	margin: 2px;
}

ul.footer-icons li img {
	width: 35px;
	border-radius: 4px;
}

ul.footer-icons.lg li img {
	width: 88px;
	border-radius: 10px;
	margin-bottom: 40px;
}











.card {
	height: 65vh;
	width: 100%;
	margin: 1rem 0;
	position: relative;
	border-radius: 12px;
	box-shadow: 0 8px 20px 7px rgba(0,0,0, .18);
	background-position: center center;
	background-size: cover
}





.card-heading {
	position: absolute;
	width: 100%;
	padding: 13px 18px;
	display: block;
	color: inherit
}



/* Positions */
.card-heading.top {
	top: 0;
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
}

.card-heading.bottom {
	bottom: 0;
	border-bottom-left-radius: 12px;
	border-bottom-right-radius: 12px;
}







.card-heading .title {
	margin: .1em 0;
	font-size: 1.5em;
	line-height: 1em;
	font-weight: bold;
	display: block;
	color: inherit
}

.card-heading .title:hover {
	text-decoration: underline
}

.card-heading .sub-title {
	margin: .2em 0;
	text-transform: uppercase;
	opacity: .5;
	font-size: .8em;
	font-weight: bold
}

.card-heading .info {
	margin: .5em 0
}

@media only screen and (min-width:48em) {
	
	.card {
		height: 52vh
	}
	
	.column-heading {
		margin-top: 6.6em
	}
	
}

.card-heading.with-cta {
	display: flex;
	align-content: center;
	align-items: center;
	font-size: 1em !important
}

.card-heading.with-cta .icon {
	flex-basis: 59px;
	width: 59px;
	height: 59px;
	margin-right: 15px
}

.card-heading.with-cta .body {
	flex-grow: 1;
	color: inherit
}

.card-heading.with-cta .title {
	margin: 0;
	font-size: 1.1em;
	font-weight: normal;
	display: block;
	color: inherit
}

.card-heading.with-cta .info {
	font-size: .9em;
	margin: 4px 0 0 0;
	line-height: 1.15em;
	opacity: .6
}



.card .impact {
	margin: 0;
	width: 50%;
	position: absolute;
	left: 15px;
	bottom: 90px;
	font-size: 2.8em;
	font-weight: 900;
	line-height: 1.05em;
	text-transform: uppercase;
	color: #000;
}

.card .text-white .impact {
	color: #fff
}

.card.top .impact {
	bottom: auto;
	top: 90px
}

@media only screen and (min-width:48em) {
	
	.card .impact {
		font-size: 3.6em
	}
	
}




/* Colours */
.card .bg-white { background-color: #fff }
.card .bg-black { background-color: #000 }
.card .bg-none { background-color: transparent; font-size: 1.4em }

.card .text-white { color: #fff }
.card .text-black { color: #000 }

.card .bg-white.bg-translucent {
	background-color: rgba(255,255,255, .94)
}

.card .bg-black.bg-translucent {
	background-color: rgba(0,0,0, .85)
}

@supports (-webkit-backdrop-filter: blur(20px)) {
	
	.card .bg-white.bg-translucent {
		background-color: rgba(255,255,255, .75);
		-webkit-backdrop-filter: blur(20px) saturate(250%)
	}
	
	.card .bg-black.bg-translucent {
		background-color: rgba(0,0,0, .65);
		-webkit-backdrop-filter: blur(20px) saturate(200%)
	}
	
}











.card-xs {
	padding: 1em 0;
	border-top: 1px solid #e7e8e9;
	display: flex;
	font-size: .8em
}

.card-xs:first-child {
	border-top: none
}

.card-xs .image-preview {
	width: 38%
}

.card-xs .image {
	width: 100%;
	height: 12vh;
	border-radius: 5px;
	object-fit: cover
}

.card-xs .card-heading {
	flex-grow: 1;
	position: relative;
	top: auto;
	bottom: auto;
	left: auto;
	padding-top: 0;
	padding-bottom: 0;
}

.card-xs .card-heading .sub-title {
	line-height: 1
}

.card-xs .card-heading .info {
	margin: .2em 0;
	line-height: 1.3em
}

@media only screen and (min-width:48em) {
	
	.card-xs .image {
		height: 10vh
	}
	
}




























/* Tiles are a flat variation of Cards. */
.tile {
	
}

.tile.boxed {
	background-color: #e8e9ef;
	border-radius: 15px;
	padding: .7em 1em;
	height: 24vh;
	white-space: normal;
	overflow: hidden
}

.tile.boxed .sm-title {
	font-size: 1.05em;
	font-weight: bold;
	margin: 0 0 4px 0;
}

.tile.boxed .sm-info {
	opacity: .6;
	font-size: .7em;
	line-height: 1.5;
	text-align: right;
	white-space: nowrap
}

.tile.boxed .stars {
	margin: 0 0 8px 0;
	line-height: 1
}

.tile.boxed p {
	margin: 0;
	font-size: .9em;
	line-height: 1.35em;
	max-height: 6em;
	overflow: hidden
}

.tile .title {
	color: inherit;
	display: block;
	font-size: 1.2em;
	margin: .2em 0
}

.tile .sub-title {
	margin: .2em 0;
	font-size: .8em;
	text-transform: uppercase;
	color: #0E65D7
}

.tile .info {
	margin: .2em 0 .8em 0;
	opacity: .6;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: block;
	color: inherit
}

.tile .image {
	border-radius: 6px;
	height: 32vh;
	object-fit: cover;
	background-color: #f2f3f4
}

.tile .image.bg-top {
	object-position: 50% 0%
}

.sm .tile {
	font-size: .9em
}

.sm .tile .image {
	height: 24vh
}

@media only screen and (min-width:48em) {
	
	.tile.boxed {
		height: 20vh
	}
	
	.tile .image {
		height: 26vh
	}
	
	.sm .tile .image {
		height: 20vh
	}
	
	.tile .image:hover {
		box-shadow: 0 3px 10px 2px rgba(0,0,0, .3)
	}
	
}















.scroll-xs {
	width: 100%;
	padding-bottom: 10px;
	white-space: nowrap;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
	display: flex;
	flex-direction: row;
	-webkit-scroll-snap-type: mandatory;
	scroll-snap-type: mandatory
}

.scroll-xs > * {
	-webkit-scroll-snap-coordinate: 0% 0%;
	scroll-snap-coordinate: 0% 0%;
	scroll-snap-align: start
}

















.expandable-state {
	display: none;
}

.expandable-target {
	max-height: 5.8em;
	overflow: hidden
}

.expandable-state:checked ~ .expandable-target {
	max-height: 9999em
}

.expandable-state:checked ~ .expandable-trigger {
	display: none
}

.expandable-trigger {
	cursor: pointer;
	display: inline-block;
	padding: 0;
	margin: 0;
	border: none
}



















.icon {
	border-radius: 20% !important;
	height: auto;
	background-color: #f2f3f4
}

.icon.xxs {
	width: 25px;
	height: 25px;
	vertical-align: middle
}




/* List items. */
.list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: space-between
}

.list > .item {
	display: flex;
	align-content: center;
	align-items: center;
	flex-basis: 100%;
	max-width: 100%;
	width: 100%;
	padding: .6rem 0;
	margin: 0 1rem;
	border-top: 1px solid #e7e8e9
}

.list > .item:nth-child(1) {
	border-top: none
}

.list > .item > a.icon-link { display: flex; flex-shrink: 0 }

.list > .item .icon {
	flex-basis: 59px;
	width: 59px;
	height: 59px;
	margin-right: 15px
}

.list > .item .body {
	flex-grow: 1;
	color: inherit
}

.list > .item .info {
	padding-right: 15px;
	font-size: .95em;
	line-height: 1.2em;
	opacity: .6;
	margin: 0 0 3px 0
}

.list > .item .title {
	font-size: 1.15em;
	margin: .1em 0;
	line-height: 1.2em;
	max-height: 2.4em;
	overflow: hidden
}

.list > .item .info {
	opacity: .6;
	margin: .2em 0
}

.list > .item .cta small {
	display: block;
	font-size: .6em;
	opacity: .4;
	margin: 8px 0 0 0;
	line-height: 1em;
	text-align: center
}

.list.list-wide > .item {
	margin-left: 0;
	margin-right: 0
}

.info-p {
	margin: 13px 0 1px 0;
	padding: 4px 8px 5px 8px;
	border-radius: 4px;
	background: #d3e8fb;
	text-align: center
}

.info-p strong {
	font-size: 1.2em;
	display: inline-block;
	margin: 2px
}

@media only screen and (min-width:48em) {
	
	.list:not(.story-list):not(.list-wide) > .item {
		width: 46%;
		flex-basis: 46%;
		max-width: 47%
	}
	
	.list:not(.story-list) > .item:nth-child(2) {
		border-top: none
	}
	
	.list.list-wide > .item {
		margin-left: 0;
		margin-right: 0;
		padding-left: 10px;
		padding-right: 10px;
		border-radius: 17px
	}
	
	.list.list-wide > .item:hover {
		background-color: rgba(0,0,0, .04)
	}
	
	.list.story-list {
		margin-bottom: 2em
	}
	
	.list > .item .icon {
		flex-basis: 75px;
		width: 75px;
		height: 75px;
	}
	
}

























.article img {
	border-radius: 6px
}

.article figure {
	margin: 0 0 1rem 0
}

.article figcaption {
	letter-spacing: 1px;
	opacity: .6
}

.article p {
	font-size: 1.15em;
	letter-spacing: .5px;
	line-height: 1.6em;
	margin: 0 0 2em 0
}

.article-body {
	margin-top: 1rem
}

.article-footer {
	border-top: 1px solid #e7e8e9;
	padding: 1rem 0;
	display: flex
}

.profile-pic {
	width: 70px;
	height: 70px;
	object-fit: cover;
	border-radius: 50% !important;
	margin-right: 15px
}

.profile-pic.xs {
	width: 22px;
	height: 22px
}

.author-title {
	margin: 0;
	opacity: .6;
	display: block
}

.author-name {
	margin: 0;
	display: block
}

.author-info {
	margin: 0;
	display: block;
	font-size: .8em;
	opacity: .6
}
























.item-header {
	display: flex
}

.item-header h1 {
	font-size: 1.3em
}

.item-header .info {
	margin: 0;
	opacity: .9
}

.item-header .icon {
	width: 100px;
	height: 100px;
	margin-right: 15px
}

.item-header .body {
	display: flex;
	flex-grow: 1;
	flex-direction: column;
	justify-content: space-between
}

.item-header .terms {
	font-size: .55em;
	opacity: .6
}

@media only screen and (min-width:48em) {
	
	.item-header h1 {
		font-size: 2em
	}
	
	.item-header .icon {
		width: 160px;
		height: 160px
	}
	
}





.summary {
	display: flex;
	opacity: .45;
	font-size: .7em;
	text-align: left;
	line-height: 1;
	margin-top: 1rem
}

.summary .item {
	padding: 0;
	display: flex;
	flex-direction: column;
	flex-grow: 1
}

.summary .summary-title {
	font-size: 1.9em;
	font-weight: bold;
	margin: 0 0 4px 0
}

@media only screen and (min-width:48em) {
	
	.summary {
		font-size: .8em;
		margin-top: 0
	}
	
	.summary .item {
		padding: 0 4em 0 0;
		flex-grow: 0
	}
	
}















.rating {
	text-align: center;
	margin-top: 1rem
}

.rating-score {
	font-size: 3.8em;
	line-height: 1;
	font-weight: bold;
	display: block
}

.rating-out-of {
	opacity: .45;
	font-weight: bold;
	display: block
}

.rating-normalised .stars {
	font-size: .7em;
	line-height: 1.05
}

.rating-normalised .no-star {
	opacity: .2
}

.rating-normalised .bar {
	width: 100%;
	height: 4px;
	border-radius: 20px;
	background-color: #ddd;
	position: relative;
	margin: 0 1rem 0 0
}

.rating-normalised .bar-fill {
	width: 100%;
	height: 4px;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 20px;
	background-color: #000;
	transform-origin: left;
	transform: scaleX(0);
	transition: all .25s
}

.user-reviews {
	margin-top: 1rem
}














.table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1rem 0;
	border: none
}

.table tr {
	border-bottom: 1px solid #e7e8e9
}

.table th, .table td {
	text-align: left;
	padding: 6px 3px
}

.table tbody tr:hover {
	background: #fcfcc9
}

.custom-content table {
	border-collapse: collapse !important
}

.custom-content table  td {
	border: 1px solid #ccc;
	padding: 5px 8px
}

.fr-toolbar { z-index: 20 !important }
.fr-rounded { border-radius: 8px }









.flex-table {
	display: flex;
	margin: .5rem -1rem 0 -1rem;
	font-size: 1.1em
}

.flex-table tbody {
	display: flex;
	flex-direction: column;
	width: 100%;
	flex-grow: 1
}

.flex-table tr {
	display: flex;
	flex-direction: row;
	width: 100%;
	border-top: 1px solid #e7e8e9
}

.flex-table tr:first-child {
	border-top: none
}

.flex-table td.title {
	display: flex;
	flex-grow: 1;
	opacity: .5;
	padding: .5em 1rem;
}

.flex-table td.value {
	display: flex;
	flex-grow: 0;
	text-align: right;
	padding: .5em 1rem;
}

@media only screen and (min-width:48em) {
	
	.flex-table tbody {
		flex-direction: row;
		flex-wrap: wrap
	}
	
	.flex-table tr {
		width: 50%;
		max-width: 50%;
		flex-basis: 50%;
		flex-direction: column
	}
	
	.flex-table td.title {
		padding-bottom: 0
	}
	
	.flex-table td.value {
		padding-top: .2em
	}
	
	.flex-table tr:nth-child(2) {
		border-top: none
	}
	
}

@media only screen and (min-width:62em) {
	
	.flex-table tr {
		width: 25%;
		max-width: 25%;
		flex-basis: 25%;
		flex-direction: column
	}
	
	.flex-table tr:nth-child(3),
	.flex-table tr:nth-child(4) {
		border-top: none
	}
	
}




























.label {
	display: inline-block;
	font-size: 10px;
	line-height: 1em;
	padding: 4px 7px;
	border-radius: 3px;
	margin: 1px;
	letter-spacing: 1px;
	text-transform: uppercase
}

.label.orange { background-color: #faf1ba; color: #c2a607 }
.label.green { background-color: #cefce2; color: #15b04c }
.label.blue { background-color: #cfebfd; color: #154fb0 }












.success-message {
	padding: 1em;
	background-color: #ecfaed;
	color: #0eb034;
	border-radius: 5px
}

.error-message {
	padding: 1em;
	background-color: #faebeb;
	color: #ba0f0f;
	border-radius: 5px
}

.info-message {
	display: inline-block;
	padding: .4em 1em;
	background-color: #ebedfa;
	color: #0e26b0;
	border-radius: 5px
}



form {
	margin: 0 0 1rem 0
}

.form-group {
	margin-bottom: 10px
}

form label {
	display: block;
	font-size: .8em;
	font-weight: bold;
	text-transform: uppercase;
	color: #888;
	line-height: 1.3em;
	margin: 0
}

.input {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	border: none;
	background: rgba(0,0,0, .06);
	color: inherit;
	font-size: 16px;
	line-height: 1;
	margin: 4px 0;
	padding: .6em .9em;
	border-radius: 5px
}

.input.inline {
	width: auto;
	min-width: 180px;
	display: inline-block
}

form.horiz .form-group {
	display: flex;
	align-items: center;
	margin-bottom: 6px
}

form.horiz .form-group > label {
	flex-basis: 25%;
	flex-shrink: 0;
	margin-right: 1rem
}

form.horiz .form-group .input {
	width: auto;
	flex-basis: 75%
}

.input-button {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	border: 1px solid transparent;
	background: #0E65D7;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	margin: 8px 0;
	padding: .7em 1.2em;
	border-radius: 5px;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer
}

.input-button.muted {
	background: #fff;
	border: 1px solid #0E65D7;
	color: #0E65D7
}

.input-button:hover,
.input-button:active {
	color: #fff;
	background: #3582e6;
	text-decoration: none
}

.input-button.danger {
	background: #cc1010
}
.input-button.danger:hover,
.input-button.danger:active {
	background: #a61616
}

.input-button.sm {
	font-size: 15px;
	padding: .6em 1.1em;
	margin: 1px
}

.input-help {
	margin: 0 0 .5em 0;
	font-size: .8em;
	opacity: .5;
	line-height: 1.3
}

.form-group.flex {
	display: flex;
	justify-content: space-between
}

.form-group.flex .input {
	width: auto;
	flex: 1 1 0;
	margin: 0 1rem;
	padding: .6em .9em
}

.input[disabled] {
	opacity: .5;
	cursor: not-allowed
}







[type="radio"]:checked,
[type="radio"]:not(:checked) {
	position: absolute;
	left: -9999px;
}
[type="radio"]:checked + label,
[type="radio"]:not(:checked) + label
{
	position: relative;
	padding-left: 28px;
	cursor: pointer;
	line-height: 20px;
	display: inline-block;
	margin-right: 15px;
	flex-basis: auto !important
}
[type="radio"]:checked + label:before,
[type="radio"]:not(:checked) + label:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 18px;
	height: 18px;
	border: 1px solid #999;
	border-radius: 100%;
	background: #fff;
}
[type="radio"]:checked + label:after,
[type="radio"]:not(:checked) + label:after {
	content: '';
	width: 14px;
	height: 14px;
	background: #0E65D7;
	position: absolute;
	top: 3px;
	left: 3px;
	border-radius: 100%;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
[type="radio"]:not(:checked) + label:after {
	opacity: 0;
	-webkit-transform: scale(0);
	transform: scale(0);
}
[type="radio"]:checked + label:after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.radio-list {
	display: flex;
	width: 100%;
	align-content: center;
	align-items: center;
	padding: 5px 7px
}

.radio-list label {
	text-transform: none
}




.user-rating { font-size: 3em; display: inline-block; margin: 4px 0 }
.user-rating input,
.user-rating label:before,
.user-rating label:after {
	display: none;
}
.user-rating label {
	transition: all 0.2s;
	display: inline-block;
	margin: 0 !important;
	padding: 0 3px !important;
	float: right;
	color: #aaa
}

.user-rating > input:checked ~ label, /* show gold star when clicked */
.user-rating:not(:checked) > label:hover, /* hover current star */
.user-rating:not(:checked) > label:hover ~ label { color: #FFD700;  } /* hover previous stars in list */

.user-rating > input:checked + label:hover, /* hover current star when changing rating */
.user-rating > input:checked ~ label:hover,
.user-rating > label:hover ~ input:checked ~ label, /* lighten current selection */
.user-rating > input:checked ~ label:hover ~ label { color: #FFED85;  }











.admin-bar {
	padding: 3px;
	border-radius: 5px;
	margin: 8px 0 12px 0;
	background-color: rgba(228, 234, 248, .8);
	border: 1px solid rgba(168, 184, 222, .8);
}



.sortable-list {
	margin: 15px 0;
	padding: 5px 8px;
	border: 1px solid #e7e8e9;
	border-radius: 4px;
	list-style: none;
	height: 450px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch
}

.sortable-list > li {
	display: block;
	position: relative;
	width: 100%;
	border: none;
	background: rgba(0,0,0, .06);
	color: inherit;
	font-size: 16px;
	line-height: 1;
	margin: 4px 0;
	padding: .6em .9em;
	border-radius: 5px
}

.sortable-list i {
	display: none
}

.sortable-list.editable i {
	-webkit-transition: opacity .2s;
	transition: opacity .2s;
	opacity: 0;
	display: block;
	padding: .6em .9em;
	font-size: 16px;
	cursor: pointer;
	color: #c00;
	top: 0;
	right: 10px;
	position: absolute;
	font-style: normal;
}

.sortable-list.editable li:hover i {
	opacity: 1
}













.external-html {
	width: 100%;
	height: auto;
	border: none;
	margin: 1em 0;
	padding: .7rem;
	border: 1px solid #ccc;
	border-radius: 8px;
	box-shadow: 0 8px 20px 7px rgba(0,0,0, .18)
}

.custom-content img {
	width: auto;
	max-width: 100% !important
}
.external-html img {
	width: auto;
	max-width: 100% !important;
	height: auto !important
}









#site-footer {
	background-color: #f2f3f5;
	margin: 1rem 0 0 0;
	padding: 1rem 0;
	font-size: .8em;
	line-height: 1.2
}
















/* Cookie Dialog */
:root {
    --purple: #3B3646;
    --red: #36bc55;
}
#gdpr-cookie-message {
	font-size: .85em;
    position: fixed;
    right: 1rem;
    top: 70px;
    max-width: 48em;
    background-color: rgba(58,58,66, .94);
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 6px 6px rgba(0,0,0,0.25);
    margin-left: 1rem;
    font-family: system-ui;
}
#gdpr-cookie-message h4 {
    color: var(--red);
    font-size: 1.3em;
    font-weight: 500;
    margin-bottom: 10px;
}
#gdpr-cookie-message h5 {
    color: var(--red);
    font-weight: 500;
    margin-bottom: 10px;
}
#gdpr-cookie-message p, #gdpr-cookie-message ul {
    color: white;
    line-height: 1.5em;
    margin-left: 0;
    padding-left: 0;
}
#gdpr-cookie-message p:last-child {
    margin-bottom: 0;
    text-align: right;
}
#gdpr-cookie-message ul {
	margin-top: .8em;
	font-size: .9em
}
#gdpr-cookie-message li {
    width: 100%;
    display: inline-block;
}
#gdpr-cookie-message a {
	display: none;
    color: var(--red);
    text-decoration: none;
    font-size: 15px;
    padding-bottom: 2px;
    border-bottom: 1px dotted rgba(255,255,255,0.75);
    transition: all 0.3s ease-in;
}
#gdpr-cookie-message a:hover {
    color: white;
    border-bottom-color: var(--red);
    transition: all 0.3s ease-in;
}
#gdpr-cookie-message button,
button#ihavecookiesBtn {
	float: right;
    border: none;
    background: #36bc55;
    color: white;
    padding: 7px;
    border-radius: 3px;
    margin-left: 8px;
    font-size: 1.1em;
    cursor: pointer;
    transition: all 0.12s ease-in;
}
#gdpr-cookie-message button:hover {
    background: white;
    color: var(--red);
    transition: all 0.3s ease-in;
}
button#gdpr-cookie-advanced {
    background: transparent;
    color: white;
    opacity: .6;
}
#gdpr-cookie-message button:disabled {
    opacity: 0.3;
}
#gdpr-cookie-message input[type="checkbox"] {
    float: none;
    margin-top: 0;
    margin-right: 5px;
}
@media only screen and (max-width:48em) {
	#gdpr-cookie-message {
		top: auto;
		bottom: 1rem;
		margin: 0;
		left: 1rem;
		right: 1rem
	}
}
@supports (-webkit-backdrop-filter: blur(30px)) {
	#gdpr-cookie-message {
		background-color: rgba(5, 9, 43, 0.78);
		-webkit-backdrop-filter: blur(30px)
	}
}



















.image.xxs {
	height: 25px;
	width: auto
}




.flex { display: flex; margin: 0 -1rem }
.flex > * { padding: 0 1rem }
.flex-grow { flex-grow: 1 }
.flex-shrink { flex-grow: 0; flex-shrink: 1 }

.text-left { text-align: left !important }
.text-center { text-align: center !important }
.text-right { text-align: right !important }

.no-margin { margin: 0 !important }
.top-margin { margin-top: 2em }

.hidden { display: none }

hr {
	height: 1px;
	border: none;
	background-color: #e7e8e9;
	margin: 1.4rem 0
}

hr.lg {
	margin: 4em 0
}

.nowrap {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

.ck.ck-editor { width: 100% !important }
.hide-admin-controls .admin-control { display: none !important }

.b-lazy {
	transition: opacity .5s;
	opacity: 0.05
}

.b-lazy.b-loaded {
	opacity: 1
}





@media only screen and (min-width:48em) {
	
	.hidden-sm { display: none !important }
	
}

@media only screen and (max-width:48em) {
	
	.hidden-xs { display: none !important }
	.admin-control { display: none }
	
}
