/* manrope-200 - latin */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 200;
	src: local(''),
	url('/static/webfonts/manrope-v13-latin-200.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	url('/static/webfonts/manrope-v13-latin-200.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* manrope-300 - latin */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 300;
	src: local(''),
	url('/static/webfonts/manrope-v13-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	url('/static/webfonts/manrope-v13-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* manrope-regular - latin */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 400;
	src: local(''),
	url('/static/webfonts/manrope-v13-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	url('/static/webfonts/manrope-v13-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* manrope-500 - latin */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 500;
	src: local(''),
	url('/static/webfonts/manrope-v13-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	url('/static/webfonts/manrope-v13-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* manrope-600 - latin */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 600;
	src: local(''),
	url('/static/webfonts/manrope-v13-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	url('/static/webfonts/manrope-v13-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* manrope-700 - latin */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 700;
	src: local(''),
	url('/static/webfonts/manrope-v13-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	url('/static/webfonts/manrope-v13-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* manrope-800 - latin */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 800;
	src: local(''),
	url('/static/webfonts/manrope-v13-latin-800.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	url('/static/webfonts/manrope-v13-latin-800.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

:root{
	--km-cherry: #772d42;
	--km-pink: #b94667;
	--km-teal: #b4decd;
	--km-orange: #ffc38d;
	--km-text: #333;
	--km-btn: #3a5f87;
	--km-btn-hover: #426c99;
	--km-btn-green: #4b753d;
	--km-btn-green-hover: #3f6233;

	--lightgrey: #f2f2f2;
	--flash-info-bg: #4566a1;
	--flash-error-bg: #8f3538;
	--link: #3284e1;
	--heading-text-color: #68493a;
	--text-orange: #9a5228;
	--body-background: #eee;
;
}
@media only screen and (max-width: 600px){
	body{
		font-size: 12px;
	}
	.contact-us{
		font-size: 10px;
		width: 50px;
	}
	.mobile-menu{
		margin-left: 0;
	}
	header{
		padding: 0 20px;
		height: 60px;
	}
	header nav > a{
		height: 60px;
	}
	header nav > a > img {
		height: 60px;
		margin-right: 20px;
	}
	header label.menu-item{
		display: none;
	}
	section.fp-content {
		padding: 10px 10px;
	}
	.text-block{
		padding: 10px 0;
	}
	footer > div.flex-2-part{
		padding: 20px;
	}
	section.content{
		width: 320px;
		padding: 10px 20px;
	}
	section.main-page-content > div.main-content > .center-content{
		width: 300px
	}
	section.main-page-content > div > img{
		width: 100%;
	}
	section.main-page-content .svg-circle-graph-anim img{
		width: 100%;
	}
	.svg-circle-graph-anim{
		height: 300px;
	}
	header nav > .mobile-menu .sub-menu > ul{
		width: 280px;
		font-size: 0.9em;
	}
	.flex-2-part.flex-nowrap > :first-child{
		margin-right: 10px;
	}
	section.fp-content h2{
		margin-bottom: 20px;
		padding: 20px 0;
	}
}
@media only screen and (min-width: 600px){
	section.fp-content > div > img{
		width: 150px;
	}
	section.fp-content .svg-circle-graph-anim img{
		width: 100%;
	}
	.flex-2-part.flex-nowrap > :first-child{
		margin-right: 20px;
	}
	.contact-us{
		font-size: 18px;
		width: auto;
	}
	header nav > a > img {
		height: 80px;
		margin-right: 20px;
	}
	header nav > .mobile-menu .sub-menu > ul{
		width: 400px;
	}
	header nav > a{
		height: 80px;
	}
	header label.menu-item{
		display: none;
	}
	.mobile-menu{
		margin: 0 20px;
	}
	section.content{
		padding: 15px 30px;
	}
}
@media only screen and (min-width: 800px){
	body{
		font-size: 16px;
	}
	header{
		padding: 0 20px;
		height: 80px;
	}
	section.fp-content {
		padding: 10px 20px;
	}
	.text-block{
		padding: 10px 0;
	}
	footer > div.flex-2-part{
		padding: 40px;
	}
	section.content{
		width: 600px;
	}
	section.main-page-content > div.main-content > .center-content{
		width: 600px;
	}
	header nav > .mobile-menu .sub-menu > ul{
		width: 600px;
	}
	.flex-2-part.flex-nowrap > :first-child{
		margin-right: 40px;
	}
	.svg-circle-graph-anim {
		height: 400px;
	}
	section.fp-content h2{
		margin-bottom: 0;
		padding: 40px 0;
	}
}

@media only screen and (min-width: 1100px){
	body{
		font-size: 18px;
	}
	header{
		padding: 0 40px;
	}
	header label.menu-item{
		display: block;
	}
	section.fp-content {
		padding: 20px 60px;
	}
	.mobile-menu{
		display: none;
	}
	section.content{
		width: 800px;
		padding: 20px 60px;
	}
	header nav > a > img{
		margin-right: 40px;
	}
	footer > div.flex-2-part{
		padding: 80px;
	}
	header nav > .mobile-menu .sub-menu, header nav > .menu-item .sub-menu {
		left: -300px;
	}
}
@media only screen and (min-width: 1400px) {
	header nav > .mobile-menu .sub-menu, header nav > .menu-item .sub-menu {
		left: auto;
	}
}

body,
input, select, textarea {
	font-family: "Manrope", "Open Sans", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	color: #333;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.1;
	font-weight: 300;
	margin: 0;
}

h2{
	font-size: 28px;
}

body {
	background: var(--body-background);
	margin: 0;
}

header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-shadow: 0 0 5px #ccc;
	background: #fff;
	position: relative;
	z-index: 1000;
}
a{
	color:#333;
	text-decoration: none
}
a.link{
	text-decoration: underline;
}
p{
	margin: 20px 0;
}
ul{
	margin: 0;
	padding: 0;
	list-style: none;
}
.posrel{
	position: relative;
}
.pointer{
	cursor: pointer;
}
.fr{
	float: right;
}
.cb{
	clear: both;
}
header nav {
	display: flex;
	align-items: center;
	color: var(--heading-text-color);
}

header nav h3{
	font-size: 1.1em;
	font-weight: 600;
	color: var(--text-orange);
	margin: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
}

header nav h4{
	font-weight: 600;
	color: #444;
	white-space: nowrap;
}

header nav h5{
	font-weight: 400;
	color: #444;
	white-space: nowrap;
}
header nav > .menu-item{
	min-width: 120px;
	text-align: center;
	position: relative;
}
header nav > div > a,
header .sub-menu h4,
header nav > .menu-item a{
	color: var(--heading-text-color);
}

header .sub-menu h4{
	font-weight: 400;
	display: inline;
}

.menu-cbx{
	visibility: hidden;
	position: absolute;
}

header nav > .menu-item ul li a.flex-nowrap i,
header nav > .mobile-menu i,
header nav > .menu-item:hover a,
header nav > .menu-item:hover{
	color: var(--text-orange);
}

header nav > .mobile-menu > input:checked ~ .sub-menu,
header nav > .menu-item > input:checked ~ .sub-menu,
header nav > .menu-item:hover .sub-menu{
	display: flex;
}

ul.sub-mobile-menu{
	display: none;
}
header nav > .mobile-menu > .sub-menu ul label input:checked ~ .sub-mobile-menu{
	font-weight: 400;
	margin: 0 0 10px 20px;
	display: block;
}

header nav > .mobile-menu .sub-menu{
	right: 0;
}
header nav > .mobile-menu .sub-menu > ul{
	background: #fff;
	padding: 20px;
}
header nav > .mobile-menu .sub-menu i{
	margin-right: 10px;
}

header nav > .mobile-menu .sub-menu ul li > label{
	display: block;
	position: relative;
	cursor: pointer;
}
header nav > .mobile-menu .sub-menu ul li > label > input{
	position: absolute;
	width: 100%;
}

header nav > .mobile-menu .sub-menu ul li{
	border-bottom: 1px solid var(--text-orange);
	cursor: pointer;
	padding: 15px 0;
}
header nav > .mobile-menu .sub-menu ul li:last-child{
	border-bottom: none;
}

header nav > .mobile-menu .sub-menu,
header nav > .menu-item .sub-menu{
	display: none;
	position: absolute;
	z-index: 1000;
	box-shadow: 1px 1px 15px #ccc;
}
header nav:first-of-type > .menu-item .sub-menu{
	left: -50px;
}

.mobile-menu{
	font-size: 1.8em;
}

header nav > .menu-item .sub-menu{
	width: 0;
	overflow: hidden;
	animation: widthanim 0.5s ease-in-out forwards;
	background: #fff;
	text-align: left;
}
header nav > .menu-item .sub-menu.reverse{
	right: 10px;
}

header nav > .menu-item .sub-menu > .column{
	padding: 15px;
}

header nav > .menu-item .sub-menu > .column.highlight{
	background: #F9FBFCFF;
	flex-grow: 1;
}

header nav > .menu-item .sub-menu > .column li{
	padding: 10px;
	border-radius: 8px;
}
header nav > .menu-item .sub-menu > .column li:hover{
	background: #e9f7ff;
}
header nav > .menu-item .sub-menu > .column li i{
	margin-right: 10px;
}

@keyframes widthanim {
	from {
		width: 0%;
	}
	to {
		width: 900px;
	}
}

.sub-menu.lang-menu{
	max-width: 300px;
	text-align: right;
}

header nav > .menu-item .sub-menu > .column p{
	padding: 10px;
	color: #333;
	font-weight: 300;
	min-width: 250px;
}

section.fp-content{
	background: #fff;
	left: 50%;
	width: 100%;
	box-sizing: border-box;
}
section.fp-content h2{
	font-size: 2.4em;
	font-weight: 500;
}
section.fp-content .link-ref{
	border-bottom: 2px solid var(--text-orange);
	padding-bottom: 20px;
}
section.fp-content h3{
	font-size: 1.6em;
	font-weight: 300;
}

section.content{
	background: #fff;
	margin: 20px auto;
	left: 50%;
}

section.content ul{
	list-style: disc;
	margin-left: 40px;
}
section.content ul li{
	margin: 5px 0;
}
section.content h1,h2,h3{
	color: var(--text-orange);
}
footer h3{
	color: #ff8653;
}
section.content h1{
	font-size: 32px;
	font-weight: 900;
	margin: 40px 0;
}

section.content h2{
	margin-top: 40px;
	font-size: 24px;
	font-weight: 600;
	border-bottom: 1px dashed #a9a4a4;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
section.content h3{
	margin-top: 40px;
	font-size: 22px;
	font-weight: 400;
}
section.content blockquote{
	font-style: italic;
	color: #555;
	font-size: 0.98em;
}
section.content div.ingress{
	font-size: 0.94em;
	padding: 10px 30px;
}
section.fp-content span.link-ref,
section.content span.link-ref{
	font-size: 14px;
	font-weight: 300;
	text-align: right;
	display: block;
}
section.content a.text-link,
section.fp-content span.link-ref a,
section.content p a,
section.content span.link-ref a{
	color: var(--link);
}
section.content img{
	width: 100%;
}
section.content p{
	margin: 0;
}
section.content .article p{
	margin: 10px 0;
}
.content-bt{
	border-top: 3px solid #ff8654;
}

.flex-nowrap{
	display: flex;
	flex-wrap: nowrap;
}

.flex-2-part{
	justify-content: space-between;
}
.flex-center-y{
	align-items: center;
}

.page-header{
	display: flex;
	justify-content: space-between;
}

header nav > div .sub-menu > .column ul.flex-list{
	display: flex;
	flex-wrap: wrap;
	width: 500px;
}
header nav > div .sub-menu > .column ul.flex-list li{
	width: 220px;
}
.mtop40{
	margin-top: 40px;
}
.mbot40{
	margin-bottom: 40px;
}
.mtop80{
	margin-top: 80px;
}
.mbot80{
	margin-bottom: 80px;
}

.text-block{
	font-size: 1.2em;
	border-radius: 10px;
	color: #444;
}
.text-block h3{
	font-size: 1.3em;
	font-weight: bold;
}

h2 a,
.text-block a{
	color: var(--link);
}
.vertical-center-flex{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.btn{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 160px;
	color: #fff;
	border: 4px solid #333;
	border-left: 0;
	border-top: 0;
	background: #555;
	text-decoration: none;
	border-radius: 10px;
	font-size: 16px;
	padding: 5px;
	cursor: pointer;
	box-sizing: border-box;
	height: 35px;
	min-height: 35px;
}

.btn.small{
	font-size: 14px;
	padding: 3px;
	height: 24px;
	min-width: 100px;
}
.btn.verysmall{
	font-size: 14px;
	padding: 3px;
	height: 24px;
	min-width: 50px;
}
.btn[disabled]{
	opacity: 0.2;
	cursor: not-allowed;
}
.btns{
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}
.btns > *{
	margin-left: 20px;
}
.btns-summary{
	color: #fff;
}
.btn > span {
	margin-left: 4px;
}

.strong-text{
	font-weight: 600;
	font-size: 1.1em;
}

.btn:hover{
	background: #656565;
}

.btn.lightgrey{
	color: #333;
	background: var(--lightgrey);
	border-color: #c0c0c0;
}
.btn.lightgrey:hover{
	background: #d7dff0;
}

.btn.blue{
	background: #3a6085;
	border-color: #2f4d6b;
}
.btn.blue:hover{
	background: #416c96;
}
.btn.red{
	background: #9c3c37;
	border-color: #7d302c;
}
.btn.red:hover{
	background: #af443d;
}
.btn.green{
	background: #427b35;
	border-color: #35632b;
}
.btn.green:hover{
	background: #48863a;
}
.m20{
	margin: 20px;
}
.mtb20{
	margin: 20px 0;
}
.mt40{
	margin-top: 40px;
}
.mtb40{
	margin: 40px 0;
}
.mb40{
	margin-bottom: 40px;
}
.pad20{
	padding: 20px;
}
.pad40{
	padding: 40px;
}
.pad80{
	padding: 80px;
}
ul.breadcrumb{
	padding: 0;
	display: flex;
	list-style: none;
}
ul.breadcrumb li{
	margin-right: 10px;
}
ul.breadcrumb li a{
	text-decoration: underline;
}
ul.breadcrumb i{
	font-size: 0.6em;
}
.w50{
	width: 50%;
}
.w100{
	width: 100%;
}
.mtop20{
	margin-top: 20px;
}
.mtop40{
	margin-top: 40px;
}
.mbot20{
	margin-bottom: 20px;
}
.mbot40{
	margin-bottom: 40px;
}
.jc-center{
	justify-content: center;
}
table{
	border-collapse:collapse;
}
table.listing th{
	color: #0b2e13;
	font-weight: 300;
	background: #e5e8d4;
	white-space: nowrap;
	font-size: 1.1em;
	padding: 0 15px;
}
table.listing tbody td{
	text-align: center;
	border-bottom: #ddd 1px solid;
	padding: 2px 4px;
	vertical-align: top;
}
table.listing tbody tr.deactivated,
table.listing tbody tr.event-status.alarm{
	background: #ffdada;
}
table.listing tbody tr.event-status.ok{
	background: #ecffeb;
}
table.listing tbody td{
	vertical-align: middle;
}
table.listing tbody td i{
	color: #333;
}
table.listing tbody td i:hover{
	color: #54697f;
}
table.listing tbody tr:hover{
	background: #eaf6ff;
}

table.listing.fixed-width th{
	width: 200px;
}
.small-text{
	font-size: 0.9em;
}
.simple-form{
	width: 800px;
	margin: 20px auto;
	background: #fff;
	box-shadow: #ddd 1px 1px 10px;
	padding: 20px;
}
.simple-form .content:not(:first-child){
	margin-top: 20px;
}
.simple-form label{
	font-weight: 400;
	font-size: 1.1em;
	margin: 5px 0;
	color: var(--text-orange);
}
.simple-form h1{
	margin-bottom: 20px;
}
.simple-form input[type="text"],
.simple-form input[type="number"],
.simple-form trix-editor,
.simple-form textarea{
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #ddd;
	padding: 3px 8px;
}
.simple-form input[type="text"]:focus,
.simple-form input[type="number"]:focus,
.simple-form trix-editor:focus,
.simple-form textarea:focus{
	outline: none;
	border: 1px solid #3a96ff;
}
.simple-form trix-editor{
	border-radius: 0;
	overflow: scroll;
	height: 600px;
}
.simple-form trix-editor[input="ingress"]{
	height: 100px;
}
.simple-form textarea{
	height: 100px;
}
.simple-form fieldset{
	padding: 0;
	border: none;
}
.simple-form img{
	width: 100%;
}
.simple-form footer{
	display: flex;
	justify-content: flex-end;
	flex-wrap: nowrap;
}
.simple-form input[type="text"]:read-only,
.simple-form textarea:read-only,
form input[type="text"]:disabled,
form select:disabled,
form input[type="date"]:disabled {
	background: #CED1D4;
	color: #41464b;
	cursor: not-allowed;
}

form input[type="text"].error,
form input[type="number"].error,
form select.error,
form input[type="date"].error {
	background: #F9EBED;
	color: #C64252;
	border: 1px solid #be2e40;
}

form div.error {
	color: #FFCCD2;
	margin: 5px 0;
}
.flash.notice {
	background: var(--flash-info-bg);
	text-shadow: 1px 1px 1px #263f6c;
	color: #FFFFFF;
}
.flash.warning {
	background: #FAE77B;
	border: 1px solid #F9DF53;
	color: #333;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.2);
}

form label span.error,
.flash.error {
	background: #E67467;
	border: 1px solid #c9564a;
	color: #FFFFFF;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}
.flash.success {
	background: #5aaf7c;
	border: 1px solid #357950;
	color: #FFFFFF;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}
.flash {
	z-index:-1;
	transition: all 0.3s;
	margin: 10px 10%;
	width:80%;
	font-size: 0.8rem;
	font-weight: 400;
	border-radius: 3px;
	text-align: center;
	padding: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.flash.error{
	color: #fff;
	background: var(--flash-error-bg);
}
form .editor-toolbar.fullscreen,
form .editor-preview-side,
form .EasyMDEContainer .CodeMirror-fullscreen{
	z-index: 2001;
}

.page section.lang-menu{
	background: #fff;
	margin: 20px auto;
	width: 800px;
	padding: 20px 60px;
}
.page section.lang-menu ul{
	display: flex;
	flex-wrap: wrap;
}
.page section.lang-menu ul > li{
	margin-right: 20px;
}

.page section.lang-menu ul > li a{
	padding: 2px 6px;
}
.page section.lang-menu ul > li.selected a{
	background: #3a5f87;
	color: #fff;
}