/*
	----------------
	- Global
	----------------
*/

.legal-page{
	font-size: 1.5rem;
	padding: 45px 0;
}

@media (min-width: 980px){
	.legal-page{
		padding: 90px 0;
	}
}

html{
	scroll-behavior: smooth;
}

/*
	----------------
	- Title
	----------------
*/

.legal-page ._title{
	margin: 0 0 1.2em 0;
	font-weight: bold;
	font-size: 22px;
	color: rgb(var(--theme-text_dark));
}

@media (min-width: 900px){
	.legal-page ._title{
		font-size: 32px;
	}
}


/*
	----------------
	- Columns
	----------------
*/

.legal-page ._columns{
	display: grid;
	grid-gap: 40px;
	gap: 40px;
}

.legal-page ._sticky{
	position: -webkit-sticky;
	position: sticky;
	top: 20px;
}

@media (min-width: 900px){
	.legal-page ._columns{
		grid-template-columns: 380px 1fr;
		grid-template-columns: min(25%, 380px) 1fr;
	}
  	.legal-page ._sticky{
      max-height: calc(100vh - 20px);
      overflow: auto;
    }
}

/*
	----------------
	- Navigation column
	----------------
*/

.legal-page ._secondary{
	font-weight: 500;
}

.legal-page ._secondary *{
	margin: 0;
	padding: 0;
	list-style: none;
}

.legal-page ._secondary h2,
.legal-page ._secondary h3{
	font-weight: inherit;
	color: rgb(var(--theme-text_dark));
	margin-bottom: .5em;
}

.legal-page ._secondary ul + *,
.legal-page ._secondary ol + *{
	margin-top: 2em;
}

.legal-page ._secondary ol{
	counter-reset: legalList;
}

	.legal-page ._secondary ol li{
		counter-increment: legalList;
	}

	.legal-page ._secondary ol a::before{
		content: counter(legalList, decimal)".";
		position: absolute;
		left: 0;
		color: rgba(var(--theme-text_light), .7);
		text-align: right;
		width: 1.7em;
	}

.legal-page ._secondary a{
	display: block;
	padding: .5em .8em .5em 2em;
	border-bottom: 1px solid rgba(var(--theme-text_light),.3);
}

	.legal-page ._secondary a:hover{
		background: rgba(var(--theme-text_light), .1);
		color: rgb(var(--theme-text_dark));
	}

/*
	----------------
	- Format
	----------------
*/

.legal-page ._format{
	--format: 1.28em;
	--format-headers: 1em;
}

.legal-page ._format > * {
	margin-top: var(--format);
	margin-bottom: var(--format);
}

.legal-page ._format h1,
.legal-page ._format h2,
.legal-page ._format h3,
.legal-page ._format h4 {
	margin-top: var(--format-headers);
	margin-bottom: 0;
	font-weight: bold;
	color: rgb(var(--theme-text_dark));
}

.legal-page ._format h3,
.legal-page ._format h4{
	font-weight: 500;
}

.legal-page ._format > *:first-child {
	margin-top: 0;
}

.legal-page ._format > *:last-child {
	margin-bottom: 0;
}

.legal-page ._format li{
	margin-top: .75em;
}

.legal-page ._format a:not(.ipsButton){
	text-decoration: underline;
}

.legal-page hr{
	--format: 40px;
	border: 0;
	height: 0;
	border-bottom: 1px dashed rgba(var(--theme-text_light), .75);
	margin: var(--format) 0;
}

.legal-page ._format ._intro{
	font-size: 1.2em;
	font-weight: 500;
	color: rgb(var(--theme-text_dark));
}