@charset "UTF-8";

/*********************************/
/*********************************/
/********** FONT FAMILY **********/
/*********************************/
/*********************************/

body {
	font-family: var(--font-family);
	font-weight: var(--font-weight-normal);
	line-height: 1.25;
}
h1,
.page-title,
.main-title {
	font-weight: var(--font-weight-normal);
}
h2, h3, h4, h5, h6 {
	font-weight: var(--font-weight-medium);
}
nav,
blockquote cite,
strong,
.buttons,
.button,
button {
	font-weight: var(--font-weight-bold);
}

/*******************************/
/*******************************/
/********** FONT SIZE **********/
/*******************************/
/*******************************/

h1, h2, h3, h4, h5, h6 {
	line-height:1;
	letter-spacing:normal;
}
#primary,
.manuscript {
	letter-spacing:.0625rem;
}
h1.short,
h2.short,
h3.short,
h4.short,
h5.short,
h6.short {
	font-size:inherit;
}
small {
	font-size:.75em;
}

/********** @MEDIA **********/

body {
	font-size:var(--font-size);
}

.main-title {
	font-size: var(--main-title-size);
}

@media (min-width:0px) {
	h1,
	.page-title {
		font-size: 2em;
	}
	h2 {
		font-size: 1.75em;
		font-size: 1.5em;
	}
	h3 {
		font-size: 1.5em;
	}
	.important {
		font-size: 1.25em;
	}
}

@media (min-width:760px) {
	main,
	#overlays {
		font-size: 1.25em;
	}
	h1,
	.page-title {
		font-size: -webkit-calc(var(--font-size) * 4);
		font-size: -moz-calc(var(--font-size) * 4);
		font-size: calc(var(--font-size) * 4);
	}
	h2 {
		font-size: -webkit-calc(var(--font-size) * 3);
		font-size: -moz-calc(var(--font-size) * 3);
		font-size: calc(var(--font-size) * 3);
	}
	h3 {
		font-size: -webkit-calc(var(--font-size) * 2);
		font-size: -moz-calc(var(--font-size) * 2);
		font-size: calc(var(--font-size) * 2);
	}
}

@media (min-width:1000px) {
	.important {
		font-size:1.5em;
	}
}
@media (min-width:1400px) {
	h1,
	.page-title {
		font-size: -webkit-calc(var(--font-size) * 6);
		font-size: -moz-calc(var(--font-size) * 6);
		font-size: calc(var(--font-size) * 6);
	}
}

/*************************************/
/*************************************/
/********** CONTENT SPACING **********/
/*************************************/
/*************************************/

h1.short + *,
h2.short + *,
h3.short + *,
h4.short + *,
h5.short + *,
h6.short + *,
.hidden + section {
	margin-top:0 !important;
}

.hidden + .page-title {
	margin-top: var(--heading-spacing) !important;
}

/********** FORM **********/

label.hidden + * {
	margin:0;
	padding:0;
}
* + label.hidden {
	position:relative;
}

/********** @MEDIA **********/

/* default style */
h1:not(.short) + *,
h2:not(.short) + *,
h3:not(.short) + *,
h4:not(.short) + *,
h5:not(.short) + *,
h6:not(.short) + *,

p + *,
pre + *,
blockquote + *,
hr + *,
ul + *,
ol + *,
figure + *,
img + *,
svg + *,

section + *:not(section),

/* custom style */
.infos + *,
.important + *,
.columns + *,
.columnizer + *,

.is-limited-large + *,
.is-limited-larger + *,

.grid-container + *,
.grid + *,
.grid .items + *, /* for pagination */
.results + *,

nav + *,
.buttons + *,
.button + *,
.link + *,
.see-also + *,

* + .buttons,
* + hr,
* + .button,
.table + *,
* + .table,

* + .collapsible.collapsed,
.collapsible + *,

/* forms */
fieldset + *,
form + *,
form > * + * {
	margin-top:var(--global-spacing);
}
.results-title + * {
	margin-top: -webkit-calc(var(--global-spacing) / 2) !important;
	margin-top: -moz-calc(var(--global-spacing) / 2) !important;
	margin-top: calc(var(--global-spacing) / 2) !important;
}
.overlay .results-title + * {
	margin-top: -webkit-calc(var(--global-spacing) / 4) !important;
	margin-top: -moz-calc(var(--global-spacing) / 4) !important;
	margin-top: calc(var(--global-spacing) / 4) !important;
}
form label + * {
	margin-top: -webkit-calc(var(--global-spacing) / 3);
	margin-top: -moz-calc(var(--global-spacing) / 3);
	margin-top: calc(var(--global-spacing) / 3);
}