@charset "UTF-8";

/***************************/
/***************************/
/********** FONTS **********/
/***************************/
/***************************/

/********** LUST PRO No 4 == font-family: 'Lust Pro No 4'; **********/

@font-face {
	font-family: 'Lust Pro No 4';
	src: url('../fonts/LustPro-No4.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

/********** TT NORMS PRO == font-family: 'TT Norms Pro'; **********/
/*
100 == thin [OUT]
200 == extra light [OUT]
300 == light
400 == regular
500 == medium [OUT]
600 == demi bold
700 == bold [OUT]
900 == black [OUT]
*/

/* light == 300 */

@font-face {
	font-family: 'TT Norms Pro';
	src: url('../fonts/TTNormsPro-Lt.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'TT Norms Pro';
	src: url('../fonts/TTNormsPro-LtIt.woff2') format('woff2');
	font-weight: 300;
	font-style: italic;
	font-display: swap;
}

/* regular == 400 */

@font-face {
	font-family: 'TT Norms Pro';
	src: url('../fonts/TTNormsPro-Rg.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'TT Norms Pro';
	src: url('../fonts/TTNormsPro-It.woff2') format('woff2');
	font-weight: normal;
	font-style: italic;
	font-display: swap;
}

/* demi bold == 600 */

@font-face {
	font-family: 'TT Norms Pro';
	src: url('../fonts/TTNormsPro-DmBd.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'TT Norms Pro';
	src: url('../fonts/TTNormsPro-DmBdIt.woff2') format('woff2');
	font-weight: 600;
	font-style: italic;
	font-display: swap;
}

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

body {
	font-family: 'TT Norms Pro', sans-serif;
	font-weight: 400;
}

blockquote.important,
section.focus .important,
.grid.list.events .event-type,
.event-location {
	font-weight: 300;
}
table th,
.introduction,
.blocktype,
.timeline,
#navbar,
#navigation,
.read-more,
footer,
.menu a,
.link,
h1, h2, h3, h4, h5, h6,
blockquote cite,
strong,
#contextual,
nav.contextual,
.event-icons,
.event-title,
.event-dates,
.event-hour,
.buttons,
.button {
	font-weight:600;
}
#sitemap .menu a.alt,
#primary,
.introduction.manuscript,
.manuscript {
	font-family: 'Lust Pro No 4', serif;
	font-weight:normal;
}

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

h1, h2, h3, h4, h5, h6 {
	line-height:1.125em;
	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;
}
.hidden + * {
	margin-top:0 !important;
}

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

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

@media (min-width:760px) {
	main {
		font-size:1.25em;
	}
	h2 {
		font-size:2em;
	}
	.important {
		font-size:1.5em;
	}
}
@media (min-width:1000px) {
	h2 {
		font-size:3em;
	}
	h3 {
		font-size:1.25em;
	}
}

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

/********** DEFAULT **********/

h1.hidden + *:not(.grid),
h2.hidden + *:not(.grid) {
	margin:0;
}

/********** 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 + *,

/* custom style */
.infos + *,
.important + *,
.columns + *,
.columnizer + *,
.is-limited-large + *,
.is-limited-larger + *,
.grid + *,
nav + *,
.buttons + *,
.button + *,
.link + *,
* + .buttons,
* + hr,
* + .button,
.table + *,
* + .table,
.collapsible.collapsed + *,
* + .collapsible.collapsed,

.mediaplayer + *,

/* forms */
form + * {
	margin-top: var(--content-spacing);
}

/** test for content WIP **/

main * + h1,
main * + h2,
main * + h3,
main * + h4,
main * + h5,
main * + h6,
* +.timeline {
	margin-top: calc(var(--content-spacing) * 3 / 2);
}



/* ============================== TEXTFIT ============================== */

.textfit {
	white-space: nowrap;
	visibility: hidden;
}

body.single .textfit > * {
	white-space: normal;
}