.table-contents {
	position: relative;
	z-index: 10;

	@media (min-width: 1640px) {
		margin-left: 0;
	}

	.table-sticky {
		position: absolute;
		z-index: 20;
		pointer-events: none;
		height: calc(100% - var(--nav-bar--height));

		.table-sticky-block {
			position: sticky;
			z-index: 10;
			pointer-events: auto;
			top: 50%;

			&.none_h2 {
				display: none;
			}
		}

		@media (max-width: 1349px) {
			display: none;
		}

		&:not(.force-mobile) {
			@media (min-width: 1350px) {
				width: 100%;
				left: 50%;
				transform: translateX(-50%);
				margin-left: auto;
				margin-right: auto;
				max-width: var(--wp--style--global--content-size);

				.table-sticky-block {
					top: 225px;
					opacity: 0;
					z-index: 10;
					left: 0;
					max-width: 246px;
					margin-right: 0 !important;
					margin-left: 0 !important;
					transition-property: opacity;
					transition-duration: 300ms;
					padding-left: 10px;
					transform: translateX(calc(-75%));

					@media (min-width: 1365px) {
						padding-left: 0;
					}

					&.initiated {
						opacity: 1;
					}

					.m-table-toggle {
						position: relative;

						.menu {
							display: none;
						}
					}

					.title {
						margin-bottom: 1.25rem; /* 5 */
						font-size: 0.875rem; /* small */
					}
					.post-sidebar__links {
						position: relative;
						border: 1px solid var(--wp--preset--color--light-gray);
						border-radius: 10px;
						padding: 20px 20px 25px;

						.post-sidebar__link {
							position: relative;
							display: block;
							width: 100%;
							margin-bottom: 0;
							text-decoration: none;
							font-family: var(--font-montserrat, Montserrat, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji");
							font-size: 11px;
							color: var(--wp--preset--color--gray);
							cursor: pointer;

							&:hover {
								text-decoration: underline;
							}

							&.selected:before {
								opacity: 1;
							}
						}
					}
				}
			}
		}
	}
}

.page-template-with-table-of-contents-page,
.post-template-with-table-of-contents {
	main {
		/* for mobile section sticky banner */
		z-index: 10;
		.entry-content {
			padding-top: 0;

			@media (min-width: 1350px) {
				padding-top: 0;
			}
		}
	}
}