.horizontal_timeline {
	width: 100%;
	height: 100%;
	position: relative;
}
.horizontal_timeline .ht__head,
.horizontal_timeline .ht__head__empty {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	height: 100px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	white-space: nowrap;
}
.horizontal_timeline .ht__head__empty {
	display: none;
	font-size: 17px;
	font-weight: bold;
	color: #2E4D7F;
}
.horizontal_timeline.ht--empty .ht__head__empty.ht__head__empty--hidden {
	display: none;
}
.horizontal_timeline.ht--empty .ht__head__empty {
	text-align: center;
	display: block;
	line-height: 100px;
}
.horizontal_timeline.ht--empty .ht__head {
	display: none !important;
}
.horizontal_timeline .ht__btn {
	width: 25px;
	height: 25px;
	background-color: white;
	border-radius: 15px;
	position: relative;
	text-align: center;
	border: 2px solid black;
	cursor: pointer;
	-webkit-box-shadow: 0 0 0 0 rgba(0,0,0,0);
	        box-shadow: 0 0 0 0 rgba(0,0,0,0);
	-webkit-transition: box-shadow 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
	-webkit-transition: -webkit-box-shadow 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: -webkit-box-shadow 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
	-o-transition: box-shadow 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: box-shadow 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: box-shadow 0.2s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-box-shadow 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.horizontal_timeline .ht__btn:hover {
	-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	        box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
.horizontal_timeline .ht__btn:active,
.horizontal_timeline .ht__btn:focus {
	outline: none;
}
.horizontal_timeline .ht__head .ht__scroll_left,
.horizontal_timeline .ht__head .ht__scroll_right {
	opacity: 0;
	display: inline-block;
}
.horizontal_timeline .ht__head .ht__scroll {
	width: 90%;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
	height: 100%;
	overflow-x: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: relative;
}
.horizontal_timeline .ht__head .ht__scroll .ht__lines {
	position: absolute;
	white-space: nowrap;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	height: 25px;
}
.horizontal_timeline .ht__head .ht__scroll .ht__lines .ht__line {
	border-width: 3px 0;
	border-style: solid;
	margin-top: 0;
	margin-bottom: 0;
	display: inline-block;
}
.horizontal_timeline .ht__head .ht__scroll .ht__lines .ht__middle_line {
	position: absolute;
	bottom: 0;
	top: 0;
	width: 2px;
	display: inline-block;
}
.horizontal_timeline .ht__head .ht__scroll .ht__lines .ht__dashed_line {
	border-width: 3px 0;
	border-style: dashed;
	margin-top: 0;
	margin-bottom: 0;
	display: inline-block;
}
.horizontal_timeline .ht__head .ht__scroll .ht__elements {
	position: absolute;
	white-space: nowrap;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 2;
	height: 25px;
}
.horizontal_timeline .ht__head .ht__scroll .ht__element {
	position: relative;
	margin: 0 20px;
	display: inline-block;
	z-index: 2;
}
.horizontal_timeline .ht__head .ht__scroll .ht__element.ht__element--hidden {
	visibility: hidden;
}
.horizontal_timeline .ht__head .ht__scroll .ht__element .ht__el__name {
	position: absolute;
	font-size: 12px;
	max-width: 65px;
	bottom: 30px;
	left: -20px;
    right: -20px;
	overflow: visible;
	width: -webkit-fit-content;
	width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
	text-align: center;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
}
.horizontal_timeline .ht__head .ht__scroll .ht__element .ht__el__point {
	height: 25px;
	width: 25px;
	background-color: white;
	/*border-radius: 12.5px;*/
	cursor: pointer;
    position: relative;
}
.horizontal_timeline .ht__head .ht__scroll .ht__element img.ht__el__point {
	background-color: white;
	vertical-align:unset;
}
.horizontal_timeline .ht__head .ht__scroll .ht__element .ht__el__value {
	position: absolute;
	color: darkgreen;
	font-size: 12px;
	max-width: 75px;
	top: 30px;
	left: -20px;
	right: -20px;
	overflow: hidden;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
	background-color: white;
}
.horizontal_timeline .ht__head .ht__scroll .ht__element .ht__el__subpoint {
	position: absolute;
	height: 10px;
	width: 10px;
	background-color: darkgreen;
	border-radius: 5px;
	left: 0px;
	right: 0px;
	margin: 0 auto;
	margin-top: 4px;
	display: none;
	z-index: -1;
}
.horizontal_timeline .ht__head .ht__scroll .ht__element.ht__element--selected .ht__el__value {
	display: none;
}
.horizontal_timeline .ht__head .ht__scroll .ht__element.ht__element--selected .ht__el__subpoint {
	display: block;
}
.horizontal_timeline .ht__head .ht__scroll .ht__mouse_relative {
	display: none;
	position: relative;
}
.ht__timeline__point{
    position: relative;
    width:20px;
    height:20px;
    border-radius:20px;
    border:3px solid white;
    z-index: 2;
}
.ht__timeline__point:hover{
    cursor: pointer;
}

.ht__plus-sign{
    font-size:20px;
    position:relative;
    top:-6px;
    left:2px;
    font-weight:600;
    z-index: 2;
}
.ht__mouse_relative{
    z-index: 2;
    position: relative;
}
.ht__el__point{
    position: absolute;
    z-index: 4;
}
.ht__elements {
    pointer-events: none;
}
.ht__element {
    pointer-events:auto;
}
.horizontal_timeline .ht__head .ht__scroll:hover .ht__mouse_relative {
	display: block;
	height: 25px;
}
.horizontal_timeline .ht__head .ht__scroll .ht__mouse_relative .ht__mr__pipe {
	position: absolute;
	width: 2px;
	top: 0px;
	bottom: 0px;
	left: -1px;
}
.horizontal_timeline .ht__head .ht__scroll .ht__mouse_relative .ht__mr__value {
	position: absolute;
	top: 30px;
	font-size: 12px;
	max-width: 65px;
	overflow: hidden;
	-o-text-overflow: ellipsis;
	   text-overflow: ellipsis;
	left: -20px;
	right: -20px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
}
.horizontal_timeline .ht__labels {
	border: 1px solid rgb(193, 202, 208);
	padding: 10px;
	width: 15%;
	overflow: auto;
	white-space: nowrap;
	max-height: 70px;
}
@media screen and (max-width:600px) {
	.horizontal_timeline .ht__labels {
		display: none;
	}
}
.horizontal_timeline .ht__labels .ht__label_color {
	height: 10px;
	width: 10px;
	border-radius: 5px;
	display: inline-block;
	margin-right: 10px;
}
.horizontal_timeline .ht__body {
	width: 100%;
	height: calc(100% - 100px);
	margin-left: auto;
	margin-right: auto;
	background-color: #ececec;
	border-top: 5px solid black;
	display: none;
}
.horizontal_timeline .ht__body.ht__body--visible {
	display: block;
}
.horizontal_timeline .ht__head .ht__filter {
	position: absolute;
	top: -21px;
	right: 5.2rem;
	z-index: 10;
	max-width: 300px;
	min-width: 100px;
	width: 30%;
	background-color: white;
	border-radius: 0;
	-webkit-appearance: none;
	border: 0;
	border: 1px solid #9e9e9e;
	border-top: 0;
	height: 2rem;
	outline: none;
	display: block;
}
.horizontal_timeline .ht__head .ht__add_button {
	position: absolute;
	top: -21px;
	right: 2.6rem;
	z-index: 5;
	width: 2.5rem;
	/* background-color: #ececec; */
	color: white;
	border-radius: 0;
	background-color: #3379B7;
	-webkit-appearance: none;
	border: 0;
	border: 1px solid #9e9e9e;
	border-top: 0;
	outline: none;
	display: none;
	border-radius: 3px;
}
.horizontal_timeline .ht__head .ht__add_button:hover {
	background-color: #286090;
}
.horizontal_timeline .ht__head .ht__remove_button {
	position: absolute;
	top: -21px;
	right: 0;
	z-index: 5;
	width: 2.5rem;
	/* background-color: #ececec; */
	color: white;
	border-radius: 0;
	-webkit-appearance: none;
	border: 1px solid #9e9e9e;
	background-color: #D9534F;
	border-top: 0;
	outline: none;
	display: none;
	border-radius: 3px;
}
.horizontal_timeline .ht__head .ht__remove_button:hover {
	background-color: #C9302C;
}
.horizontal_timeline:hover .ht__head .ht__filter,
.horizontal_timeline:hover .ht__head .ht__add_button {
	display: block;
	height: 28px;
	padding-left: 5px;
}
.horizontal_timeline:hover .ht__head .ht__remove_button {
	height: 28px;
	display: block;
}
.horizontal_timeline .ht__head .ht__filter.ht__filter--filtering {
	display: block;
}
.horizontal_timeline .ht__tooltip {
	position: absolute;
	z-index: 10;
	background-color: white;
	border: 1px solid #9e9e9e;
	padding: 3px 5px;
}
.horizontal_timeline .ht__head {
	height: 220px;
}