html, body, p, figure {
	margin: 0;
	padding: 0;
}
body {
	color: var(--text);
	background: #FFF;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

}
img {
	transition: opacity 0.6s ease;
}
img.lazy {
	opacity: 0;
}
.lazywrap {
	display: block;
	position: relative;
	background: rgba(0,0,0,0.2);
}
.lazywrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

}
.struct, .struct li, .struct dt, .struct dd {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
h1,h2,h3,h4,h5 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;	
}
.hidden {
	display: none;	
}

#report .md ul li {
	list-style-type: disc;	
}
#report .md ul,
#report .md p {
	margin: 0.7em 0;	
}

.button {
	display: inline-block;
	height: 48px;
	line-height: 48px;
	color: var(--button-color);
	background: var(--button);
	margin: 0;
	padding: 0 30px;
	text-align: center;
	text-decoration: none;
	vertical-align: top;
	white-space: nowrap;
	cursor: pointer;
	box-sizing: border-box;
	border: none;
	border-radius: 2px;
}
.button:hover {
	color: var(--button-hover-color);
	background: var(--button-hover);
}






.widget details {
	position: relative;	
	z-index: 10;
	line-height: 16px;
	display: inline-block;
	height: 16px;
}
.widget details summary {
	cursor: pointer;	
}
.widget details[open] summary svg {
	fill: var(--darkblock);	
}
.widget details .svgicon {
	vertical-align: top;
	width 16px;
	height: 16px;
	transform: translate(0,0);	
}
.widget details > summary {
  list-style: none;
}
.widget details > summary::-webkit-details-marker {
  display: none;
}
.widget details .box {
	font-size: 10px;
	position: absolute;
	bottom: 100%;
	left: 8px;
	max-width: 200px;
	min-width: 120px;
	padding: 10px;
	margin-bottom: 8px;
	border-radius: 5px;
	font-size: 15px;
	transform: translate(-50%,0);
}
.widget details .box:before {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 50%;
	margin-left: -2px;
	transform: rotate(45deg);
	display: block;
	background: var(--darkblock);
	width: 4px;
	height: 4px;
	
}

.percentage_circle {
	width: 90px;
	height: 90px;
	stroke: var(--lightblock);
}
.percentage_circle .base {
	stroke: #CCC;
}


a {
	text-decortion: underline;
	color: var(--button);	
}
a:hover {
	color: var(--button-hover);
}


.lightblock .widgetheader .maintitle {
	color: 	 var(--lightblock-text);
}
.lightblock .widgetheader .subtitle {
	color: var(--lightblock-link);
}
.lightblock {
	background: var(--lightblock);
	color: var(--lightblock-text);
}
.lightblock a {
	color: var(--lightblock-link);
}
.lightblock a:hover {
	color: var(--lightblock-hover);
}
.lightblock .percentage_circle {
	stroke: var(--lightblock-text);
}
.lightblock .percentage_circle .base {
	stroke: var(--darkblock);
}
.lightblock svg {
	fill: var(--lightblock-text);
}

.darkblock {
	background: var(--darkblock);
	color: var(--darkblock-text);
}
.darkblock a {
	color: var(--darkblock-link);
}
.darkblock a:hover {
	color: var(--darkblock-hover);
}
.darkblock .percentage_circle {
	stroke: var(--darkblock-text);
}
.darkblock .percentage_circle .base {
	stroke: var(--darkblock);
}
.darkblock svg {
	fill: var(--darkblock-text);
}




.section {
	max-width: 1400px;
	margin: 0 auto;	
}

.maintitle {
	font-size: 80px;	
}
@media (max-width: 1000px) {
	.maintitle {
		font-size: 60px;	
	}	
}

@media (max-width: 600px) {
	.maintitle {
		font-size: 40px;	
	}	
}

.pageheader {
	background: var(--gray);
	margin-bottom: 50px;	
}
.pageheader img {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 10;
}
.pageheader .masthead {
	position: relative;
	padding-top: 50%;
}
.pageheader .titlebar a {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 250px;	
}
.pageheader .masthead.small {
	padding-top: 33.3333333%;	
}
.pageheader h1 {
	z-index: 50;
	position: absolute;
	top: 32px;
	left: 50%;
	background: #FFF;
	text-align: center;
	width: 1400px;
	transform: translate(-50%,0);
	height: 100px;
	border-radius: 2px;
}
.pageheader h1 span {
	position: absolute;
	top: 50%;
	left: 50;
	transform: translate(-50%,-50%);
}

.pageheader .period {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 50;
	text-align: center;
	min-width: 300px;
}
.pageheader picture + .period {
	color: #FFF;
	text-shadow: rgba(0,0,0,1) 1px 1px 10px;
}
.pageheader .period h2 {
	font-size: 120px;	
}


.pageheader nav {
	z-index: 50;
	position: absolute;
	bottom: 0;
	left: 0;
	background: var(--lightblock);
	color: var(--lightblock-text);
	padding-left: calc(50vw - 700px);
	font-size: 90%;
}
.pageheader nav .periodnav,
.pageheader nav .sectnav {
	display: inline-block;
	vertical-align: top;
}
.pageheader nav .sectnav .struct {
	display: flex;
	height: 80px;
	padding: 20px 0;	
}
.pageheader nav .sectnav .struct li {
	height: 80px;
	line-height: 80px;
	padding: 0 40px 0 0;
}
.pageheader nav .sectnav a {
	color: var(--lightblock-link);
	text-decoration: none;
}
.pageheader nav .sectnav a:hover {
	text-decoration: underline;
}
.pageheader nav .periodnav {
	background: var(--darkblock);
	color: var(--darkblock-text);
	height: 80px;
	padding: 20px 40px;
	line-height: 80px;
}
.pageheader nav .periodnav .selectbox:after {
	border-color: var(--darkblock-text);
}
.pageheader nav .periodnav .selectbox {
	vertical-align: middle;
	margin-left: 8px;
	border-color: rgba(255,255,255,0.4);
}
.pageheader nav .periodnav select {
	color: var(--darkblock-text);	
}
.pageheader nav .periodnav select option {
	color: #000;
}

.pageheader .intro {
	text-align: center;
	margin: 0 auto;
	padding: 50px 10px;
	max-width: 700px;	
}

@media (max-width: 1440px) {
	.pageheader h1 {
		width: auto;
		transform: none;
		left: 20px;
		right: 20px;	
	}
	.pageheader nav {
		padding-left: 20px;	
	}
}
@media (max-width: 1300px) {

	.pageheader .period h2 {
		font-size: 100px;
	}
}
@media (max-width: 1000px) {
	
	.pageheader .masthead {
		padding-top: 62.5%;	
	}
	.pageheader .masthead.small {
		padding-top: 50%;	
	}
	
	.pageheader nav {
		padding-left: 0;
	}
	.pageheader nav .sectnav label {
		display: block;
		height: 120px;
		width: 120px;
		cursor: pointer;
		position: relative;
	}
	.pageheader nav .sectnav label:before,
	.pageheader nav .sectnav label:after {
		content: "";
		display: block;
		width: 60px;
		height: 4px;
		background: #FFF;
		border-radius: 2px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin-top: 8px;
		transition: all 0.4s ease;
	}
	
	.pageheader nav .sectnav label:after {
		margin-top: -8px;
	}
	
	.pageheader nav .sectnav input:checked ~ .struct {
		display: block;
	}
	.pageheader nav .sectnav input:checked ~ label:before,
	.pageheader nav .sectnav input:checked ~ label:after {
		margin-top: 0;
		transform: translate(-50%,-50%) rotate(45deg);
	}
	.pageheader nav .sectnav input:checked ~ label:before {
		transform: translate(-50%,-50%) rotate(-45deg);
	}

	.pageheader nav .sectnav .struct {
		display: none;
		height: auto;
		background: var(--lightblock);
		color: var(--lightblock-text);
		position: absolute;
		top: 100%;
		left: 0;
		width: 300px;
		
	}
	.pageheader nav .sectnav .struct li {
		height: 60px;
		line-height: 60px;
		padding: 0 20px;	
	}
}
@media (max-width: 800px) {
	.pageheader nav {
		right: 0;
		background: var(--darkblock);
	}
	.pageheader .period h2 {
		font-size: 80px;
	}
	.pageheader .masthead.small ,
	.pageheader .masthead {
		padding: 0;
		height: 100vh;
		max-height: 200vw;
	}
	
	.pageheader nav .periodnav {
	    padding: 10px 20px;
	}
	.pageheader nav .sectnav label {
		background: var(--lightblock);
		height: 100px;
		width: 100px;
	}
	.pageheader nav .sectnav label:before,
	.pageheader nav .sectnav label:after {
		width: 40px;
		height: 3px;
		border-radius: 1.5px;
		margin-top: 6px;
		transition: all 0.4s ease;
	}
	.pageheader nav .sectnav label:after {
		margin-top: -6px;
	}
}

.widgetwrap {
	padding: 50px 0;
	margin: 0 auto;
	max-width: 1400px;	
}
@media (max-width: 1440px) {
	.widgetwrap {
		margin: 0 20px;
	}
}
@media (max-width: 800px) {
	.widgetwrap {
		margin: 0;
	}
}


.widgetheader {
	text-align: center;
	position: relative;
}	
.widgetheader .maintitle {
	color: var(--title);
}
.widgetheader .subtitle {
	color: var(--subtitle);
}

.darkblock .widgetheader .subtitle,
.darkblock .widgetheader .maintitle {
	color: var(--darkblock-text);
}


.monthlygraph .chart-container {
	max-width: 1200px;
	margin: 40px auto;	
}
.monthlygraph .langnav  {
	text-align: center;	
}
.monthlygraph .langnav label {
	display: inline-block;
	line-height: 50px;
	border: 2px solid var(--lightblock);
	color: var(--lightblock);
	border-radius: 2px;
	width: 125px;
	text-align: center;
	cursor: pointer;
}
.monthlygraph .de:checked ~ .langnav .de,
.monthlygraph .nl:checked ~ .langnav .nl {
	background: var(--lightblock);
	color: var(--lightblock-text);
}

.monthlygraph .langnav ~ .chart-container {
	display: none;	
}
.monthlygraph .nl:checked ~ .chart-container.nl,
.monthlygraph .de:checked ~ .chart-container.de {
	display: block;	
}


.imageheader {
	text-align: center;
	position: relative;
	background: #000;
	border-radius: 3px 3px 0 0;
	overflow: hidden;
}
.imageheader .maintitle {
	font-size: 60px;	
}

.imageheader .titles {
	position: absolute;
	left: 20px;
	right: 20px;
	text-align: center;
	top: 50%;
	transform: translate(0,-50%);
	color: #FFF;
	z-index: 10;
}
.imageheader img {
	width: 100%;
	height: auto;
	vertical-align: top;
	
	opacity: 0.8;
}

.conversion .blocks {
	padding: 60px;
	display: flex;
	justify-content: space-evenly;
	border-radius: 3px;
}
.conversion .imageheader + .blocks {
	border-radius: 0 0 3px 3px;	
}
.conversion .block {
	width: 200px;
	position: relative;
}
.conversion .graph {
	position: relative;
	width: 100px;
	height: 100px;	
}
.conversion .graph .svgicon {
	position: absolute;
	top: 45px;
	left: 45px;
	transform: translate(-50%,-50%);	
}
.conversion em {
	font-style: normal;
	font-size: 50px;
	padding-bottom: 20px;
	display: block;
}
.conversion a {
	font-size: 90%;
}
#report .conversion details {
	position: absolute;
	top: 0;
	left: 90px;
	text-align: center;
}
#report .conversion details span {
	display: block;
	font-size: 120%;
	padding: 5px 0;
}
@media (max-width: 1000px) {
	.conversion .blocks {
		display: block;	
	}
	.conversion .block {
		width: auto;
		margin: 0 auto;
		max-width: 400px;
		padding-bottom: 40px;	
	}
	.conversion .graph {
		float: left;	
	}
	.conversion footer,
	.conversion .body {
		margin-left: 120px;	
	}
	.conversion em {
		line-height: 1.1;
		position: relative;
		top: -6px;
		padding-bottom: 0;	
	}
}
@media (max-width: 600px) {
	.conversion .blocks {
		padding: 40px 20px 0 20px	
	}
	.conversion em {
		font-size: 40px;	
	}
}

.publications .infobar {
	text-align: right;
	line-height: 50px;
	color: var(--subtitle);
	padding-right: 120px;
}
.publications .infobar em {
	font-style: normal;
	font-size: 24px;
}

.threesomeslider {
	position: relative;	
}
.threesomeslider li {
	width: 440px;
}
.publication {
	border: 1px solid #EEE;
	border-radius: 3px;
}
.publication .banner {
	width: 400px;
	height: 400px;
	margin: 19px;
	background: #FAFAFA;
}
.publication .banner .lazywrap {
	border-radius: 2px;
	overflow: hidden;
}
.publication .body {
	margin: 20px 40px;	
}
.publication table {
	margin-top: 20px;
	width: 100%;	
}
.publication th, .publication td {
	margin: 0;
	padding: 0;
	line-height: 50px;
	border-bottom: 1px solid #EEE;
	font-size: 90%;
	font-weight: normal;
	text-align: left;
}
.publication td {
	text-align: right;	
}
.publication .title {
	font-size: 20px;
	line-height: 24px;
	height: 50px;
	color: var(--title);
	position: relative;
	overflow: hidden;
}
.publication .title span {
	position: absolute;
	bottom: 2px;
	left: 0;
	width: 100%;
	display: block;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;  
	text-overflow: ellipsis;
}
.publication h5 {
	color: var(--subtitle);
}
.publication footer {
	padding-top: 10px;	
}
.publication .button {
	display: block;	
}
@media (max-width: 1000px) {
	.threesomeslider li {
		width: 320px;
	}
	.publication .banner {
		width: 300px;
		height: 300px;
		margin: 9px;	
	}
	.publication .body {
		margin: 20px 20px;	
	}
}

.publications .swipnav {
	position: absolute;
	display: flex;
	width: 100px;
	right: 0;
	top: -70px;
	
}
.publications .swipnav a {
	width: 50px;
	height: 50px;
	display: block;
	position: relative;
}
.publications .swipnav a + a:hover,
.publications .swipnav a {
	background: var(--lightblock);
	color: var(--lightblock-text);
	border-color: var(--lightblock-text);
	
}
.publications .swipnav a:hover,
.publications .swipnav a + a {
	background: var(--darkblock);
	color: var(--darkblock-text);
	border-color: var(--darkblock-text);
}

.publications .swipnav a:after {
	content: "";
	position: absolute;
	top: 20px;
	right: 20px;
	bottom: 0;
	width: 7px;
	height: 7px;
	border: 2px solid;
	border-width: 2px 2px 0 0;
	display: block;
	transform: rotate(225deg);	
}
.publications .swipnav a + a:after {
	transform: rotate(45deg);
}

@media (max-width: 1000px) {
	.threesomeslider {
		padding-top: 70px;
		
	}
	.publications .swipnav {
		top: 0;	
		right: 20px;
	}
}



.social_media .socialnav  {
	text-align: center;	
}
.social_media .socialnav label {
	display: inline-block;
	line-height: 50px;
	border: 2px solid var(--lightblock);
	color: var(--lightblock);
	border-radius: 2px;
	width: 125px;
	text-align: center;
	cursor: pointer;
}
.social_media .chartsection.search .socialnav .search, 
.social_media .chartsection.social .socialnav .social, 
.social_media .social:checked ~ .socialnav .social,
.social_media .search:checked ~ .socialnav .search {
	background: var(--lightblock);
	color: var(--lightblock-text);
}
.social_media .details,
.social_media .details + .chartsection {
	display: none;	
}
.social_media .social:checked ~ .details.social + .chartsection,
.social_media .search:checked ~ .details.search + .chartsection,
.social_media .social:checked ~ .details.social,
.social_media .search:checked ~ .details.search {
	display: block;	
}
.social_media .chartsection {
	padding: 20px 0;
	background: var(--gray);
	color: var(--graytext);	
}
.social_media .chart-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.social_media dd {
	color: var(--title);
	font-size: 60px;
	position: relative;
	margin-bottom: 40px;
	height: 60px;
	line-height: 60px;
}
.social_media dt {
	position: relative;
	bottom: -5px;
	color: var(--subtitle);	
}
.social_media dl .engagement,
.social_media dl .benchmark {
	margin-left: 120px;
}
.social_media dt.engagement,
.social_media dt.benchmark {
	padding-top: 20px;
	height: 20px;
	line-height: 20px;
}
.social_media dd > svg {
	position: absolute;
	left: -120px;
	top: -20px;	
}
.social_media dd .svgicon {
	left: -75px;
	top: 25px;
	transform: translate(-50%,-50%);
	fill: var(--subtitle);	
}
#report .social_media details {
	position: absolute;
	left: -30px;
	top: -8px;	
}

.social_media .details  {
	position: relative;	
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 50px;
	overflow: hidden;
}

.social_media .details .image:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: url("img/iPhone_ovl.png") 0 0 no-repeat;
	background-size: 100% auto;
}
.social_media .selector {
	text-align: right;
	height: 0;
	overflow: visible;
	position: relative;
	z-index: 10;
}
.social_media  .chart-container .subtitle {
	position: relative;
	top: -20px;
	color: var(--subtitle);
}

@media (min-width: 1000px) {
	.social_media .details .intro {
		position: absolute;
		left: 0;
		top: 50%;
		right: 50%;
		margin-right: 250px;
		transform: translate(0,-50%);
	}
	.social_media .stats {
		position: absolute;
		right: 0;
		bottom: 50px;	
	}
	.social_media .details .image {
		width: 398px;
		margin: 80px auto -80px;
		position: relative;	
	}
	.social_media .details .image.square {
		margin-bottom: 20px;		
	}
	.social_media .ovl {
		width: 330px;
		padding: 23.869% 7.5376% 0 9.5477%;
	}
}
@media (max-width: 1000px) { 
	.social_media .details .intro {
		max-width: 640px;
		margin: 0 auto;
		padding: 20px;
	}
	.social_media .stats {
		max-width: 400px;
		margin: 0 auto;
	}
	.social_media .details .image {
		width: 240px;
		margin: 80px auto -80px;
		position: relative;	
	}
	.social_media .details .image.square {
		margin-top: -200px;
		margin-bottom: -30px;		
	}
	.social_media .ovl {
		width: 212px;
		padding: 23.869% 7.5376% 0 9.5477%;
	}
	.social_media dl {
		text-align: center;
		padding-bottom: 200px;
		position: relative;
	}

	.social_media .engagement, .social_media .benchmark {
		width: 50%;
		position: absolute;
		left: 0;
		top: 240px;
		
	}
	.social_media .benchmark { 
		left: 50%;	
	}
	
	.social_media dt.engagement, .social_media dt.benchmark {
		padding: 0;
		margin: 0;
	}
	.social_media dd.engagement, .social_media dd.benchmark {
		margin: 0;
		padding-top: 20px;
	}
	.social_media dd > svg {
		left: 50%;
		top: -100px;
		margin-left: -45px;
	}
	.social_media dd .svgicon {
	    left: 50%;
	    top: -55px;
	    margin: 0;
	}
	#report .social_media details {
		left: 50%;
	    top: -80px;
	    margin: 0 0 0 50px;
	}
	
	.social_media .selector {
		text-align: center;
	}
	.social_media .selectbox {
		width: 100%;
	}
	.social_media  .chart-container .subtitle {
		top: 0;
		padding-top: 20px;
		text-align: center;
	}

}

.kpi {
	margin-bottom: 80px;	
}
.kpi .chartsection {
	max-width: 1200px;
	margin: 40px auto;	
}

.kpi .details {
	overflow: hidden;
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 20px;
}
.kpi .details li {
	position: relative;
	width: 50%;
	box-sizing: border-box;
	padding-left: 130px;
	float: left;	
}
.kpi .details strong {
	display: block;
	font-size: 50px;	
}
.kpi .img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid rgba(255,255,255,0.4);
}
.kpi .img svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}


@media (max-width: 1000px) {
	.kpi .details  {
		max-width: 400px;
		margin: 0 auto;	
	}
	.kpi .details li {	
		float: none;
		width: auto;
		margin-top: 40px;
	}
	.kpi .details strong {
		font-size: 40px;	
	}
}
@media (max-width: 500px) {
	
	.kpi .details strong {
		font-size: px;	
	}
}

.upcoming .ct {
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 40px;
}
.upcoming table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;	
}
.upcoming th {
	text-align: left;
	padding: 5px 0;
	font-weight: inherit;
	border-bottom: 1px solid rgba(255,255,255,0.2);
}
.upcoming td {
	text-align: left;
	padding: 5px 0;
	border-bottom: 1px solid rgba(255,255,255,0.2);

}
.upcoming .img {
	width: 60px;	
}
.upcoming .img div {
	width: 50px;	
}
.upcoming .footer {
	text-align: center;
	padding: 50px 0 0 0;
	line-height: 1.8;
}
.upcoming .footer a {
	text-decoration: none;	
}
@media (max-width: 1000px) {
	.upcoming th {
		display: none;
	}
	.upcoming tr, .upcoming td, .upcoming table, .upcoming tbody {
		display: block;
		border: none;
	}
	
	.upcoming tr {
		border-bottom: 1px solid rgba(255,255,255,0.2);
		padding: 10px 0;
	}
	.upcoming .img {
		float: left;
		padding: 0;	
	}
	.upcoming .type, .upcoming .time{
		margin-left: 70px;
		line-height: 25px;
		padding: 0;
	}
	.upcoming .info {
		clear: both;
		opacity: 0.8;
		padding: 10px 0;
	}
}



.milestones .widgetwrap {
	margin-top: 40px;
	background: var(--gray);
	color: var(--graytext);		
}
.milestones .desktop {
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 40px;
}
.milestones .monthheader {
	display: none;	
}
.milestones .heading {
	margin: 50px 20px 20px 300px;	
}
.milestones .heading:after {
	display: block;
	clear: both;
	content: "";
}
.milestones .heading p {
	float: left;
	position: relative;
	height: 50px;
	margin: 0;
	padding: 0;
}
.milestones .heading .month {
	position: absolute;
	bottom: 100%;
	font-weight: bold;
}
.milestones .heading .week {
	white-space: nowrap;
	vertical-align: bottom;
	font-size: 90%;	
}
.milestones .heading .shortweek .week,
.milestones .heading.monthly .week {
	display: none;
}
.milestones .heading .shortweek:before,
.milestones .heading.monthly .day:before {
	content: "";
	display: inline-block;
	height: 5px;
	width: 0;
	border-left: 1px solid rgba(0,0,0,0.1);
	vertical-align: bottom;
}
.milestones .heading.monthly .newweek:before {
	height: 10px;
}
.milestones .heading .shortweek:before,
.milestones .heading.monthly .newmonth:before {
	height: 15px;
	border-left: 1px solid var(--text);
}
.milestones .heading .dom {
	display: none;	
}
.milestones summary {
	position: relative;
		
}
.milestones ol.struct {
	overflow: hidden;	
}
.milestones summary .bar {
	position: absolute;
	left: 279px;
	right: -1px;
	height: 8px;
	top: 50%;
	overflow: hidden;
}
.milestones summary .bar i {
	position: absolute;
	top: 0;
	height: 8px;
	display: block;
	margin: 0;
	padding: 0;
	border-radius: 4px;
	background: var(--title);
	color: var(--title);
}
.milestones summary .bar.singular {
	overflow: visible;	
}
.milestones summary .bar.singular i:before {
	content: "✦";
	font-style: normal;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 30px;
	transform: translate(-50%,-50%);
}
.milestones details.ms {
	background: #FFF;
	margin: 0 0 10px 0;
	padding: 20px;
	height: auto;
	line-height: inherit;
	border: 1px solid rgba(0,0,0,0.2);
	display: block;
}
.milestones details .title {
	color: var(--title);
	width: 260px;
}
.milestones details[open] .title {
	color: var(--text);
	margin-bottom: 20px;
}
.milestones .title svg {
	fill: var(--title);
	float: right;
	margin-top: 3px;
}
.milestones summary:hover .title {
	color: var(--darkblock);		
}
.milestones details[open] .title svg {
	display: none;	
}

.milestones details[open] summary .close:
.milestones details[open] summary .close:after,
.milestones details[open] summary .close:before {
	content: "";
	width: 3px;
	height: 16px;
	border-radius: 1px;
	display: block;
	position: absolute;

	background: red;
	transform: rotate(45deg);
}
.milestones details[open] summary:after {
	transform: rotate(135deg);

}

.milestones .desc {
	border-top: 1px solid 	rgba(0,0,0,0.2);
	margin-top: 10px;
	padding-top: 10px;

}
.milestones time {
	display: block;
	padding: 20px 0;	
}
.milestones .media {
	display: block;
	width: 390px;
	margin-left: -10px;
}
.milestones .media li {
	width: 120px;
	float: left;
	margin-left: 10px;	
}
.milestones div.details {
	margin-left: 400px;
	display: flex;	
}
.milestones .media a {
	cursor: pointer;	
}
.milestones .media a.video {
	position: relative;
	display: block;
}
.milestones .media a.video:before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background: var(--title);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 10;
}
.milestones .media a.video:hover:before {
	background: var(--subtitle);
}
.milestones .media a.video:after {
	content: "";
	display: block;
	border-left: 6px solid #FFF;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	z-index: 11;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.milestones div.details div {
	height: 80px;
	padding: 0 20px 0 80px;
	position: relative;
}
.milestones div.details div svg {
	position: absolute;
	left: 20px;
	top: 15px;
	width: 50px;
	height: 50px;
}
.milestones div.details div h4 {
	font-size: 90%;
	line-height: 20px;
	padding-top: 15px;
}
.milestones div.details div strong{
	color: var(--title);
	font-size: 24px;
	line-height: 30px;
}	
.milestones div.details div:first-child {
	padding-left: 20px;	
}
.milestones .text {
	padding-top: 20px;
	clear: both;
	opacity: 0.8;
}

@media (max-width: 1000px) {
	.milestones details .bar,
	.milestones .heading {
		display: none;	
	}
	
	.milestones .monthheader {
		display: block;
		font-weight: bold;
		text-align: center;
		padding: 10px 0;
	}
	
	.milestones details .title {
		width: auto;	
	}
	.milestones details .media {
		width: auto;	
	}
	.milestones details .media ul {
		display: flex;
		flex-wrap: wrap;
	}
	.milestones details .media li {
		margin-bottom: 10px;	
	}
	.milestones div.details {
		margin: 0;
		flex-wrap: wrap;
	}
	.milestones div.details div {
		padding-left: 60px;	
	}
	.milestones div.details div:first-child {
		padding-left: 0;	
	}
	.milestones div.details div svg {
		position: absolute;
		left: 0;
		top: 15px;
		width: 50px;
		height: 50px;
	}
	
}
@media (max-width: 600px) {
	.milestones .desktop {
		padding: 0 20px;
	}
}

#reportfooter img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
}
#reportfooter {
	padding-top: 50%;
	background: var(--darkblock);
	position: relative;	
}
#reportfooter.small {
	padding-top: 40%;
}
#reportfooter .contact {
	position: absolute;
	left: 0;
	bottom: 0;
}
#reportfooter .spacer {
	padding: 40px 50px 40px calc(50vw - 700px);
}
#reportfooter .titles {
	color: #FFF;	
}
#reportfooter .titles .title {
	font-size: 60px;
}
#reportfooter .titles .subtitle {
	display: block;	
}
#reportfooter .lightblock .title {
	font-size: 30px;
	line-height: 36px;
	padding-top: 40px;	
}
#reportfooter p {
	padding-bottom: 20px;	
}
#reportfooter .lightblock a {
	text-decoration: none;
	display: inline-block;
	color: var(--lightblock);
	background: var(--lightblock-text);
	line-height: 50px;
	height: 50px;
	padding: 0 20px;
	border-radius: 2px;
	margin-right: 10px;	
}
#reportfooter .lightblock a:hover {
	color: var(--darkblock-text);
	background: var(--darkblock);
}


@media (max-width: 1440px) {
	#reportfooter .spacer {
		padding-left: 20px;	
	}
}
@media (max-width: 1000px) {
	#reportfooter .contact {
		position: relative;	
	}
	#reportfooter .titles {
		position: absolute;
		bottom: 100%;	
	}
	#reportfooter .lightblock .title {
		padding-top: 0;	
		font-size: 20px;
	}
	#reportfooter .titles .title {
		font-size: 40px;
	}
	
}


.selectbox {
	height: 48px;
	line-height: 46px;
	border: 1px solid var(--button);
	border-radius: 2px;
	font-size: 100%;
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	vertical-align: bottom;
	cursor: pointer;
	background: transparent;
}
.selectbox.hidden {
	display: none;	
}
.selectbox:before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	right: 0;
	bottom: 0;
	width: 47px;
	background: transparent;
}
.selectbox:after {
	content: "";
	position: absolute;
	top: 17px;
	right: 20px;
	bottom: 0;
	width: 7px;
	height: 7px;
	border: 2px solid var(--button);
	border-width: 2px 2px 0 0;
	display: block;
	transform: rotate(135deg);
}

.selectbox select:-moz-focusring {
	color:transparent;
	text-shadow:0 0 0 var(--button); /* your normal text color here */
}
.selectbox select:-moz-focusring * {
	color: var(--button); /* your normal text color here */
	text-shadow:none;
}
/** and in other browsers */
.selectbox select:option {
	outline: none;	
}
/* remove the styling of the normal select box completely */
.selectbox select {
	display: block;
	font-family: inherit;
	font-size: 100%;
	outline: none;
	position: relative;
	width: 100%;
	height: 100%;
	line-height: 48px;
	border: 0;
	padding: 0 50px 0 20px;
	background: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: var(--button);
}



body.modal_visible {
	overflow: hidden;	
}
.eowd_modal {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.8);	
}
.eowd_modal_canvas {
	position: absolute;
	top: 4vw;
	left: 4vw;
	right: 4vw;
	bottom: 4vw;
}


#modalgallery {
	width: 100%;
	height: 100%;
	overflow: visible;
}
#modalgallery img {
	width: auto;
	height: auto;
	max-width: 100%;
	transform: translate(-50%, -50%);
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 4px;
}
#modalgallery figcaption {
	position: absolute;
	display: block;
	left: 50%;
	top: 0;
	transform: translate(-50%,0);
	padding: 5px 20px;
	background: rgba(0,0,0,0.5);
	border-radius: 6px;
		
}
#modalgallery .swiper-slide {
	opacity: 0;
	filter: grayscale(100%);
	transition: opacity 0.2s ease, filter 1s ease;
}
#modalgallery .swiper-slide-active {
	opacity: 1;
	filter: none;	
}


.botswip .swiper-container {
	padding-bottom: 40px;		
}


@media (max-aspect-ratio: 16/9) {
	.eowd_modal_canvas.video {
		position: absolute;
		width: 96vw;
		height: 54vw;
		top: 50%;
		left: 2vw;
		right: 2vw;
		bottom: auto;
		transform: translate(0,-50%);
	}
}
@media (min-aspect-ratio: 16/9) {
	.eowd_modal_canvas.video {
		position: absolute;
		width: 170.66vh;
		height: 96vh;
		left: 50%;
		top: 2vh;
		bottom: 2vh;
		right: auto;
		transform: translate(-50%,0);
	}
	
}
.eowd_modal_canvas iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 9998;
	top: 0;
	left: 0;
	border: 0;
	box-shadow: 0 0 15px rgba(255,255,255,0.1);	
}

.eowd_modal_close {
	width: 24px;
	height: 24px;
	line-height: 24px;
	position: absolute;
	top: 13px;
	right: 13px;
	color: #CCC;
	cursor: pointer;
	border: 1px solid #AAA;
	text-align: center;
	font-size: 18px;
	font-family: arial, helvetica, sans-serif;
	z-index: 9999;
	
}
.eowd_modal_close:hover {
	color: #FFF;
	border: 1px solid #FFF;
}	

.textwidget .markdown {
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 40px;
}
.textwidget .markdown p {
	margin-bottom: 1em;	
}
.textwidget .markdown h2 {
	font-size: 110%;
	font-weight: bold;	
}