/** Widgets: table-of-contents **/

.ha-table-of-contents.ha-toc--collapsed .ha-toc__toggle-button--collapse, .ha-table-of-contents:not(.ha-toc--collapsed) .ha-toc__toggle-button--expand {
	display: none;
}

.ha-toc-editor-placeholder {
	padding: 20px;
	border: 5px double #f1f1f1;
	background: #f8f8f8;
	text-align: center;
	opacity: .5;
}

.ha-toc-editor-placeholder-title {
	margin-top: 0;
	margin-bottom: 8px;
	font-weight: 700;
	font-size: 16px;
}

.ha-toc-editor-placeholder-content {
	margin: 0;
	font-weight: 500;
	font-style: italic;
	font-size: 16px;
}

.ha-toc-wrapper {
	border: 1px solid;
	border-color: #535353;
	border-radius: 3px;
	background-color: #fff;
}

.ha-toc-wrapper.hm-toc-default-style {
	overflow: hidden;
}

.ha-toc-wrapper.sticky_position_fixed {
	position: fixed;
}

.ha-toc-wrapper.ha-toc-left.ha-toc-position-middle {
	position: fixed;
	top: 50%;
	left: 10px;
	z-index: 9999;
	background: #fff;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.ha-toc-wrapper.ha-toc-left.ha-toc-position-bottom, .ha-toc-wrapper.ha-toc-left.ha-toc-position-top {
	left: 10px;
	z-index: 9999;
	background: #fff;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}

.ha-toc-wrapper.ha-toc-left.ha-toc-position-top {
	top: 0;
}

.ha-toc-wrapper.ha-toc-left.ha-toc-position-bottom {
	bottom: 0;
}

.ha-toc-wrapper.ha-toc-right.ha-toc-position-middle {
	position: fixed;
	top: 50%;
	right: 10px;
	z-index: 9999;
	background: #fff;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.ha-toc-wrapper.ha-toc-right.ha-toc-position-bottom, .ha-toc-wrapper.ha-toc-right.ha-toc-position-top {
	right: 10px;
	z-index: 9999;
	background: #fff;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}

.ha-toc-wrapper.ha-toc-right.ha-toc-position-top {
	top: 0;
}

.ha-toc-wrapper.ha-toc-right.ha-toc-position-bottom {
	bottom: 0;
}

.ha-toc__header-title {
	display: block;
	width: 100%;
	text-align: var(--toc-header-title-align, "left");
}

.ha-toc__header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: var(--toc-header-box-padding, 20px);
	border-bottom: var(--separator-width, 1px) solid var(--separator-color, #535353);
	background-color: var(--header-background-color);
	color: var(--header-color, #000);
	cursor: pointer;
}

.ha-toc-wrapper .ha-toc__header .ha-toc__header-title {
	margin: 0 !important;
	color: var(--header-color);
	font-size: 18px;
}

.ha-toc__toggle-button {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: -webkit-inline-flex;
	display: inline-flex;
	cursor: pointer;
}

.ha-toc__toggle-button i {
	color: var(--toggle-button-color);
}

.ha-toc__toggle-button svg {
	width: 1em;
	height: 1em;
}

.ha-toc__spinner-container {
	text-align: center;
}

.ha-toc__spinner {
	font-size: 2em;
}

.ha-toc__body {
	position: relative;
	overflow-y: auto;
	padding: 20px;
	max-height: var(--toc-body-max-height);
}

.ha-toc__list-wrapper {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ha-toc__list-item {
	padding: var(--list-padding, 0);
}

.ha-toc-item-active, .ha-toc__list-item .ha-toc__list-item-text-wrapper .ha-toc__list-item-text.ha-toc-item-active, .ha-toc__list-item .ha-toc__list-item-text-wrapper .ha-toc__list-item-text:hover {
	color: var(--item-text-hover-color, #e04d8b);
	text-decoration: var(--item-text-hover-decoration);
	-webkit-text-decoration: var(--item-text-hover-decoration);
}

.ha-toc__list-item .ha-toc__list-wrapper {
	margin-top: .5em;
	margin-left: var(--nested-list-indent, 1em);
}

.ha-toc__list-item .ha-toc__list-item-text-wrapper .ha-toc__list-item-text {
	color: var(--item-text-color);
}

.ha-toc__list-item-text-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-align: center;
}

.ha-toc__list-item-text-wrapper i, .ha-toc__list-item-text-wrapper:before {
	margin-right: 8px;
	color: var(--marker-color);
}

.ha-toc__list-item-text-wrapper i {
	z-index: 2;
	font-size: var(--marker-size, .5em);
}

.ha-toc__list-item-text-wrapper:before {
	font-size: var(--marker-size, 1em);
}

.ha-toc--content-ellipsis .hm-toc-default-style .ha-toc__list-item-text, .ha-toc--content-ellipsis .hm-toc-list-style .hm-toc .hm-toc-entry a span, .ha-toc--content-ellipsis .hm-toc-slide-style .hm-toc .hm-toc-entry a span, .ha-toc--content-ellipsis .hm-toc-timeline-style .hm-toc .hm-toc-entry a span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ha-toc__list-items--collapsible>.ha-toc__list-wrapper>.ha-toc__list-item>.ha-toc__list-wrapper {
	display: none;
}

.ha-toc__heading-anchor {
	position: absolute;
}

a.ha-toc__list-item-text {
	text-decoration: var(--item-text-decoration);
	-webkit-text-decoration: var(--item-text-decoration);
}

.hm-toc-slide-style ol.hm-toc-items-inner, ol.ha-toc__list-wrapper {
	counter-reset: item;
}

.hm-toc-slide-style .hm-toc ul.hm-toc-items-inner, .hm-toc-slide-style ol.hm-toc-items-inner {
	padding: 0;
}

.hm-toc-slide-style ol.hm-toc-items-inner .ha-toc__list-item, ol.ha-toc__list-wrapper .ha-toc__list-item {
	counter-increment: item;
}

.hm-toc-slide-style ol.hm-toc-items-inner a:before, ol.ha-toc__list-wrapper .ha-toc__list-item-text-wrapper:before {
	content: counters(item, ".") ". ";
}

ol.ha-toc__list-wrapper .ha-toc__list-item ol li:last-child {
	padding-bottom: 0;
}

@media only screen and (max-width:1600px) {
	.ha-toc--minimized-on-desktop .ha-toc__body {
		display: none;
	}
}

@media only screen and (max-width:1024px) {
	.ha-toc--minimized-on-tablet .ha-toc__body {
		display: none;
	}
}

@media only screen and (max-width:767px) {
	.ha-toc--minimized-on-mobile .ha-toc__body {
		display: none;
	}
}

.sticky-in-place .ha-toc-wrapper.floating-toc {
	position: fixed;
	top: 100px;
}

.ha-toc__scroll-to-top--container {
	position: fixed;
	padding: 20px;
	background-color: #f0f0f0;
	cursor: pointer;
}

.ha-toc__scroll-to-top--container.ha-toc__scroll-to-top--align-right {
	right: var(--toc-scroll-top-position-x);
	bottom: var(--toc-scroll-top-position-y);
}

.ha-toc__scroll-to-top--container.ha-toc__scroll-to-top--align-left {
	bottom: var(--toc-scroll-top-position-y);
	left: var(--toc-scroll-top-position-x);
}

.list_line ul.ha-toc__list-wrapper li {
	position: relative;
}

.list_line ul.ha-toc__list-wrapper li:before {
	position: absolute;
	top: 10px;
	left: 0;
	z-index: 2;
	width: 0;
	height: 100%;
	border-left: var(--list-line-size, 2px) var(--list-line-style, dotted) var(--list-line-color, #fff);
	content: "";
	-webkit-transform: translateX(calc(var(--marker-size, 10px) / 2));
	-ms-transform: translateX(calc(var(--marker-size, 10px) / 2));
	transform: translateX(calc(var(--marker-size, 10px) / 2));
}

.list_line ul.ha-toc__list-wrapper li:last-of-type:before {
	border: 0;
}

.hm-toc {
	position: relative;
	margin-left: 0;
	font-weight: 400;
	font-size: 15px;
}

.hm-toc-items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hm-toc .hm-toc-bar-entries {
	position: absolute;
	top: 0;
	z-index: 11;
	display: none;
	margin-top: -18px;
	margin-left: 0;
	padding: 0;
	list-style: none;
	opacity: 1;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.hm-toc .hm-toc-bar-entry {
	margin-left: 4px;
	width: 18px;
	border-bottom: 2px solid #c1c7cd;
	-webkit-transition: all 500ms ease;
	transition: all 500ms ease;
}

.hm-toc .hm-toc-bar-entry:first-child {
	width: 28px;
}

.hm-toc .hm-toc-bar-entry.hm-bar-ative {
	border-bottom-color: #e2498a;
}

.hm-toc .hm-toc-bar-entry, .hm-toc .hm-toc-entry {
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 14px;
}

.hm-toc .hm-toc-entry, .hm-toc-title {
	margin-bottom: 10px;
}

.hm-toc .hm-toc-entry a {
	position: relative;
	color: var(--item-text-color, #756f67);
	text-decoration: none;
}

.hm-toc .hm-toc-entry .ha-toc-item-active, .hm-toc .hm-toc-entry a.ha-toc-item-active, .hm-toc .hm-toc-entry a:hover, .hm-toc .hm-toc-entry:hover {
	color: var(--item-text-hover-color, #e2498a);
	text-decoration: var(--item-text-hover-decoration, none);
	-webkit-text-decoration: var(--item-text-hover-decoration, none);
}

.hm-toc-slide-style .hm-toc .hm-toc-entry {
	list-style: none;
}

.hm-toc-slide-style .hm-toc .hm-toc-entry i, .hm-toc-slide-style .hm-toc .hm-toc-entry:before {
	margin-right: 8px;
	color: var(--marker-color, #c1c7cd);
}

.hm-toc-slide-style .hm-toc .hm-toc-entry i {
	z-index: 2;
	font-size: var(--marker-size, .5em);
}

.hm-toc-slide-style .hm-toc .hm-toc-entry:before {
	font-size: var(--marker-size, 1em);
}

.hm-toc-slide-style .hm-toc .hm-toc-title {
	position: relative;
}

.hm-toc-slide-style .hm-toc .hm-toc-entry a:before, .hm-toc-slide-style .hm-toc .hm-toc-title:before {
	position: absolute;
	top: 50%;
	z-index: 10;
	display: inline-block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-left: 4px;
	width: 18px;
	height: 2px;
	background-color: #cbd6e0;
	content: "";
	font-size: 14px;
	-webkit-transition: all 500ms ease;
	transition: all 500ms ease;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.hm-toc-slide-style .hm-toc .hm-toc-title:before {
	width: 28px;
}

.hm-toc-slide-style .hm-toc .hm-toc-entry a.ha-toc-item-active:before {
	background-color: #e2498a;
}

.hm-toc-slide-style .hm-toc .hm-toc-entry a span, .hm-toc-slide-style .hm-toc .hm-toc-title span {
	display: block;
	opacity: 0;
	-webkit-transition: all .5s;
	transition: all .5s;
	-webkit-transform: translateX(10px);
	-ms-transform: translateX(10px);
	transform: translateX(10px);
}

.hm-toc-slide-style .hm-toc .hm-toc-items:hover .hm-toc-entry a span, .hm-toc-slide-style .hm-toc .hm-toc-items:hover .hm-toc-title span {
	opacity: 1;
	-webkit-transition: all .5s;
	transition: all .5s;
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
}

.hm-toc-slide-style .hm-toc .hm-toc-items:hover .hm-toc-entry a:before, .hm-toc-slide-style .hm-toc .hm-toc-items:hover .hm-toc-title:before {
	opacity: 0;
	-webkit-transition: all .5s;
	transition: all .5s;
}

.hm-toc-slide-style:hover .hm-toc-bar-entries {
	opacity: 0;
	-webkit-transition: all .2s;
	transition: all .2s;
	-webkit-transform: translateX(-5px);
	-ms-transform: translateX(-5px);
	transform: translateX(-5px);
}

.hm-toc-slide-style.ha-toc-wrapper.ha-toc-right.ha-toc-position-bottom, .hm-toc-slide-style.ha-toc-wrapper.ha-toc-right.ha-toc-position-middle, .hm-toc-slide-style.ha-toc-wrapper.ha-toc-right.ha-toc-position-top {
	direction: rtl;
}

.hm-toc-slide-style.ha-toc-right .hm-toc-entry i {
	margin-left: 8px;
}

.hm-toc-title {
	color: #666057;
}

.hm-toc-left-middle, .hm-toc-left-top {
	position: absolute;
	top: 0;
	left: 0;
}

.hm-toc-left-middle {
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.hm-toc-left-bottom {
	position: absolute;
	bottom: 0;
	left: 0;
}

.hm-toc-right-middle, .hm-toc-right-top {
	position: absolute;
	top: 0;
	right: 0;
	direction: rtl;
}

.hm-toc-right-middle {
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.hm-toc-right-bottom {
	position: absolute;
	right: 0;
	bottom: 0;
	direction: rtl;
}

.hm-toc-right-bottom ul, .hm-toc-right-middle ul, .hm-toc-right-top ul {
	text-align: right;
}

.hm-toc-right-bottom.hm-toc-title, .hm-toc-right-middle .hm-toc-title, .hm-toc-right-top .hm-toc-title {
	margin-right: -15px;
}

.hm-toc-right-bottom.hm-toc-slide-style:hover .hm-toc-items, .hm-toc-right-middle.hm-toc-slide-style:hover .hm-toc-items, .hm-toc-right-top.hm-toc-slide-style:hover .hm-toc-items {
	-webkit-transform: translateX(10px);
	-ms-transform: translateX(10px);
	transform: translateX(10px);
}

.hm-toc-right-bottom.hm-toc-slide-style:hover .hm-toc-bar-entries, .hm-toc-right-middle.hm-toc-slide-style:hover .hm-toc-bar-entries, .hm-toc-right-top.hm-toc-slide-style:hover .hm-toc-bar-entries {
	-webkit-transform: translateX(5px);
	-ms-transform: translateX(5px);
	transform: translateX(5px);
}

.hm-toc-timeline-style .hm-toc-bar-entries {
	display: none;
}

.hm-toc-timeline-style .hm-toc-items {
	padding: 0;
	list-style: none;
}

.hm-toc-timeline-style .hm-toc-title {
	margin-bottom: 40px;
	margin-left: 0;
	font-size: 24px;
}

.hm-toc-list-style .hm-toc .hm-toc-entry a.ha-toc-item-active, .hm-toc-list-style .hm-toc .hm-toc-entry a:hover, .hm-toc-timeline-style .hm-toc .hm-toc-entry a.ha-toc-item-active, .hm-toc-timeline-style .hm-toc .hm-toc-entry a:hover {
	color: var(--item-text-hover-color, #4b46e9);
}

.hm-toc-timeline-style .hm-toc .hm-toc-entry a.ha-toc-item-active::before, .hm-toc-timeline-style .hm-toc .hm-toc-entry a:hover::before {
	background-color: var(--item-text-hover-color, #4b46e9);
}

.hm-toc-timeline-style .hm-toc-items-inner {
	position: relative;
	z-index: 3;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

.hm-toc-timeline-style .hm-toc-items-inner:before {
	position: absolute;
	top: 1px;
	left: calc(var(--hm-toc-timeline-dot-size, 24px) / 2 - 1px);
	z-index: 2;
	width: 2px;
	height: 99%;
	border-left: 2px dashed #ddd;
	content: "";
}

.hm-toc-list-style .hm-toc .hm-toc-entry a::before, .hm-toc-timeline-style .hm-toc .hm-toc-entry a::before {
	position: absolute;
	z-index: 10;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #cbd6e0;
	content: "";
	-webkit-transition: background .3s;
	transition: background .3s;
}

.hm-toc-timeline-style .hm-toc .hm-toc-entry a::before {
	top: 0;
	left: 0;
	width: var(--hm-toc-timeline-dot-size, 24px);
	height: var(--hm-toc-timeline-dot-size, 24px);
	border: 6px solid #fff;
	border-radius: 50%;
	-webkit-box-shadow: 0 4px 14px rgba(0, 0, 0, .15);
	box-shadow: 0 4px 14px rgba(0, 0, 0, .15);
}

.hm-toc-list-style .hm-toc .hm-toc-entry, .hm-toc-timeline-style .hm-toc .hm-toc-entry {
	margin-bottom: 40px;
	height: auto;
}

.hm-toc-list-style .hm-toc .hm-toc-entry a, .hm-toc-timeline-style .hm-toc .hm-toc-entry a {
	position: relative;
	display: block;
	padding-left: 50px;
	color: var(--item-text-color, #808b95);
	vertical-align: middle;
	font-size: 16px;
	-webkit-transition: color .3s;
	transition: color .3s;
}

.hm-toc-list-style.hm-toc-right-bottom ul, .hm-toc-list-style.hm-toc-right-middle ul, .hm-toc-list-style.hm-toc-right-top ul, .hm-toc-timeline-style.hm-toc-right-bottom ul, .hm-toc-timeline-style.hm-toc-right-middle ul, .hm-toc-timeline-style.hm-toc-right-top ul {
	text-align: left;
}

.hm-toc-list-style .hm-toc-bar-entries {
	display: none;
}

.hm-toc-list-style .hm-toc-items {
	padding: 0;
	list-style: none;
}

.hm-toc-list-style .hm-toc-title {
	margin-bottom: 40px;
	margin-left: 0;
	font-size: 24px;
}

.hm-toc-list-style .hm-toc .hm-toc-entry a.ha-toc-item-active::before, .hm-toc-list-style .hm-toc .hm-toc-entry a:hover::before {
	background: var(--item-text-hover-color, #4b46e9);
}

.hm-toc-list-style .hm-toc-items-inner {
	position: relative;
	z-index: 3;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

.hm-toc-list-style .hm-toc .hm-toc-entry a::before {
	top: 50%;
	left: 3px;
	width: 3px;
	height: 24px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.hm-toc-list-style .hm-toc .hm-toc-entry a {
	padding-left: 30px;
}

.ha-toc-wrapper.hm-toc-list-style, .ha-toc-wrapper.hm-toc-slide-style, .ha-toc-wrapper.hm-toc-timeline-style {
	border: 0;
}
