@charset "UTF-8";
/* CSS Document */

/* ------------------------------------------------------------
   Common 
-------------------------------------------------------------*/

:root {
	--primary-color: #970f00;
	--secondary-color: #000;
	--bg-color: #FFF;
	--dark-color: #000;
	--light-color: #FFF;
	--pnrr-color: #09244f;
	--hover-color: #EFEFEF;
	--gray-color: #D9D9D9;
	--dark-gray-color: #CFCFCF;
	--title-size: 5rem;
	--subtitle-size: 3rem;
	--title2-size: 2.5rem;
	--big-text-size: 1.4rem;
	--normal-text-size: 1rem;
	--caption-text-size: 0.8rem;
}

body {
	margin: 0;
	font-family: "DM Sans", serif;
  	font-optical-sizing: auto;
  	font-weight: normal;
  	font-style: normal;
	background-color: var(--light-color);
	scroll-behavior: smooth;
	background-image: url("images/background/background.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-attachment: fixed;
	background-size: cover;
}


/* Text styles ---------------------------------------------*/

.title {
	font-size: var(--title-size);
	letter-spacing: calc(var(--normal-text-size) * 0.1);
}

.subtitle {
	font-size: var(--subtitle-size);
	letter-spacing: calc(var(--normal-text-size) * 0.1);
}

.big-text {
	font-size: var(--big-text-size);
}

.normal-text {
	font-size: var(--normal-text-size);
}

.caption {
	font-size: var(--caption-text-size);
	text-align: left;
}

h1 {
	height: calc(var(--normal-text-size) * 4.5);
	font-size: var(--subtitle-size);
	color: var(--primary-color);
	font-weight: normal;
	letter-spacing: calc(var(--normal-text-size) * 0.1);
    /* border: 1px solid var(--primary-color); */
    box-sizing: border-box;
    margin-top: 0;
	margin-bottom: calc(var(--normal-text-size) * 3.7);
	line-height: 0.8;
}

h1.no-border {
	border: 0;
	line-height: normal;
	margin-bottom: 0;
}

h1.vertical {
	border: 0;
    margin: var(--normal-text-size);
    padding: calc(var(--normal-text-size) * 0.5);
    background-color: white;
    height: auto;
}

h2 {
	font-size: var(--title2-size);
	color: var(--secondary-color);
	font-weight: normal;
	letter-spacing: calc(var(--normal-text-size) * 0.1);
}

h3 {
	font-size: var(--big-text-size);
	color: var(--primary-color);
	font-weight: normal;
	line-height: 1;
}

a:link, a:visited {
	color: var(--dark-color);
	text-decoration: none;
}

a:hover {
	color: var(--dark-gray-color);
	text-decoration: none;
}


/* Top menu ------------------------------------------------*/

nav {
	display: flex;
	position: fixed;
	z-index: 100;
    left: 50%;
    transform: translateX(-50%);
	top: var(--normal-text-size);
	width: fit-content;
	flex-direction: row;
	align-content: center;
	align-items: flex-start;
	justify-content: center;
}

.div-under-nav {
	width: 100%;
	height: calc(var(--normal-text-size) * 9);
	position: fixed;
	top: 0;
	z-index: -5;
	background: linear-gradient(to bottom, var(--light-color) 80%, rgba(255, 255, 255, 0) 100%);
}

.div-under-nav-primary {
	width: 100%;
	height: calc(var(--normal-text-size) * 9);
	position: fixed;
	top: 0;
	z-index: -5;
	background: linear-gradient(to bottom, var(--primary-color) 80%, rgba(200, 65, 46, 0) 100%);
}

#div-nav {
	position: fixed;
    width: 100%;
    margin-top: calc(var(--normal-text-size) * 4.5);
    height: calc(var(--normal-text-size) * 4);
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-items: center;
    justify-content: space-between;
    padding: 0 5vw 0 5vw;
    box-sizing: border-box;
}

#div-nav h1 {
	display: contents;
	margin: 0;
	height: calc(var(--normal-text-size) * 4);
    line-height: calc(var(--normal-text-size) * 4);
}

#div-nav h2 {
	display: contents;
	color: var(--primary-color);
}


span.span-red-line {
	height: calc(var(--normal-text-size) * 2);
	border-top: 1px solid var(--primary-color);
	flex-grow: 1;
    margin-left: var(--normal-text-size);
    box-sizing: border-box;
}

span.span-white-line {
	height: calc(var(--normal-text-size) * 2);
	border-top: 1px solid var(--light-color);
	flex-grow: 1;
    margin-left: var(--normal-text-size);
    box-sizing: border-box;
}

div.div-top-filter {
	display: flex;
	flex-direction: row;
	align-items: center;
	align-content: center;
	justify-content: space-between;
	width: calc(var(--normal-text-size) * 10);
	height: calc(var(--normal-text-size) * 4);
	margin-left: var(--normal-text-size);
}

div.back-to-home {
	width: calc(var(--normal-text-size) * 4);
	height: calc(var(--normal-text-size) * 4);
	background-color: var(--dark-gray-color);
	border: 1px solid var(--dark-color);
	border-radius: calc(var(--normal-text-size) * 4);
	margin-right: var(--normal-text-size);
	cursor: pointer;
	transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.back-to-home:hover {
	background-color: var(--primary-color);
}

div.top-menu {
	width: fit-content;
	display: flex;
    flex-direction: column;
    justify-items: center;
    justify-content: center;
    align-items: center;
	box-sizing: border-box;
	border: 1px solid var(--dark-color);
	padding: calc(var(--normal-text-size) / 2);
	border-radius: calc(var(--normal-text-size) * 2);
	background-color: var(--light-color);
}

div.top-menu-button-container {
	display: flex;
    flex-direction: row;
    justify-items: center;
    justify-content: center;
    align-items: center;
	box-sizing: border-box;
}

div.top-menu-item {
	display: flex;
    flex-direction: row;
    justify-items: center;
    justify-content: center;
    align-items: center;
	font-size: var(--caption-text-size);
	padding: calc(var(--normal-text-size) * 0.5) calc(var(--normal-text-size) * 0.8);
	height: calc(var(--normal-text-size) * 2.8);
	border-radius: calc(var(--normal-text-size) * 1.5);
	background-color: var(--light-color);
	cursor: pointer;
	box-sizing: border-box;
	border: 1px solid var(--gray-color);
	transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.top-menu-item:not(:first-child) {
	margin-left: calc(var(--normal-text-size) * 0.5);
}

div.top-menu-item:hover {
	background-color: var(--hover-color);
}

div.top-submenu-item {
	display: none;
    flex-direction: row;
    justify-items: center;
    justify-content: flex-start;;
    align-items: center;
	font-size: var(--caption-text-size);
	padding: calc(var(--normal-text-size) * 0.5);
	height: calc(var(--normal-text-size) * 2);
	width: 100%;
	border-radius: calc(var(--normal-text-size) * 1.5);
	background-color: var(--light-color);
	cursor: pointer;
	box-sizing: border-box;
	margin-top: calc(var(--normal-text-size) * 0.5);
	border: 1px solid var(--gray-color);
	transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.top-submenu-item:hover {
	background-color: var(--hover-color);
}

div.button-search {
	width: calc(var(--normal-text-size) * 3);
	height: calc(var(--normal-text-size) * 3);
	background-image: url("images/graphics/icon_search.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 80%;
	border-radius: calc(var(--normal-text-size) * 1.5);
	background-color: var(--light-color);
	cursor: pointer;
	box-sizing: border-box;
	border: 1px solid var(--hover-color);
	margin-left: calc(var(--normal-text-size) * 0.5);
    transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.button-search:hover {
	background-color: var(--hover-color);
}

div.button-changes {
	display: flex;
    flex-direction: row;
    justify-items: center;
    justify-content: center;
    align-items: center;
	height: calc(var(--normal-text-size) * 3);
	width: calc(var(--normal-text-size) * 7);
	border-radius: calc(var(--normal-text-size) * 1.5);
	background-color: var(--pnrr-color);
	background-image: url("images/logos/changes.svg");
	background-size: 70%;
	background-repeat: no-repeat;
	background-position: center;
	cursor: pointer;
	box-sizing: border-box;
	border: 1px solid var(--hover-color);
	margin-left: calc(var(--normal-text-size) * 0.5);
	transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.button-changes:hover {
	opacity: 0.9;
}


/* Footer ---------------------------------------------------*/

footer {
	position: fixed;
	bottom: 0;
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: var(--normal-text-size);
	color: var(--light-color);
	background-color: var(--pnrr-color);
	font-size: var(--caption-text-size);
	box-sizing: border-box;
	text-align: center;
}

/* Homepage -------------------------------------------------*/

div#content-container {
	position: fixed;
	bottom: var(--normal-text-size);
	color: var(--light-color);
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
}

div.content-container-title {
	display: flex;
	align-content: flex-start;
	align-items: center;
	width: fit-content;
	min-width: 50%; 
	background-color: var(--primary-color);
}

div.content-container-title > div {
	padding: 2vw 5vw 0 5vw;
	font-size: var(--title-size);
	text-transform: uppercase;
	letter-spacing: calc(var(--normal-text-size) * 0.2);
}

div.content-container-center {
	min-height: 50vh; 
	background-color: var(--primary-color);
	display: flex; 
	align-content: center; 
	align-items: center; 
	width: 100%;
}

div.content-container-item {
	width: 100%; 
	background-color: var(--primary-color);
	line-height: 1;
}

div.content-container-item > div {
	padding: 1vw 5vw 0 5vw;
	font-size: var(--title2-size);
	letter-spacing: calc(var(--normal-text-size) * 0.1);
}

div.content-container-item > div > div {
	border-bottom: 1px solid var(--light-color); 
	display: flex; 
	flex-direction: row; 
	align-items: center; 
	align-content: center; 
	justify-content: space-between; 
	padding-bottom: 1vw;
}

div.content-container-item > div > div > div {
	cursor: pointer;
	transition: opacity 0.2s ease-in-out;
	max-width: 70%;
}

div.content-container-item > div > div > div:hover {
	opacity: 0.7;
}

div.content-container-item:last-child > div > div {
	border: 0;
	/*padding-bottom: 0;
	margin-bottom: 5vw;*/
}

div.go-icon {
	width: var(--title2-size);
	height: var(--title2-size);
	background-image: url("images/graphics/icon_go.svg");
	background-repeat: no-repeat;
	background-size: cover;
	cursor: pointer;
	transition: opacity 0.2s ease-in-out;
	margin-left: var(--title2-size);
}

div.go-icon:hover {
	opacity: 0.7;
}


/* ------------------------------------------------------------
   Pages 
-------------------------------------------------------------*/

div.one-column-page {
	display: flex;
	flex-direction: column;
	padding: 5vw;
	padding-top: max(5vw, calc(var(--normal-text-size) * 7)); /* to avoid the navigation bar */
}

div.two-columns-page {
	position: relative;
	display: flex;
	flex-direction: row;
}

div.left-container {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30vw;
    height: 100vh;
    padding: 5vw;
	padding-top: max(5vw, calc(var(--normal-text-size) * 7)); /* to avoid the navigation bar */
    box-sizing: border-box;
}

div.left-container-narrow {
    width: 25vw;
    height: calc(100vh - calc(var(--normal-text-size) * 10));
	padding-top: 1vw;
    padding-right: 2.5vw;
	top: calc(var(--normal-text-size) * 10);
}

div.left-top-container, div.left-right-container {
	width: 100%;
	height: fit-content;
}

div.left-right-container {
	display: flex;
	flex-direction: column;
}

div.right-container {
	position: absolute;
    top: 0;
    right: 0;
    width: 65vw;
    height: 100%;
    padding: 5vw;
    padding-top: max(5vw, calc(var(--normal-text-size) * 7));
    margin-bottom: 5vw;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    box-sizing: border-box;
}

div.right-container-narrow {
	position: absolute;
    width: 75vw;
    margin-bottom: 1vw;
	padding-top: 1vw;
	padding-left: 2.5vw;
	padding-bottom: calc(var(--normal-text-size) * 2);
	top: calc(var(--normal-text-size) * 10);
	height: auto; 
	z-index:-10;
}

ul.left-bottom-container {
	list-style: none;
	padding: 0; /* Optional: Removes default padding */
	margin: 0;
}

ul.left-bottom-container > li {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	padding-top: calc(var(--normal-text-size) * 1.5);
	padding-bottom: calc(var(--normal-text-size) * 1.5);
	font-size: var(--big-text-size);
	border: 0;
	border-bottom: 1px solid var(--primary-color);
	text-transform: uppercase;
}

a.left-selector:link, a.left-selector:visited {
	text-decoration: none;
	color: var(--primary-color);
	transition: color 0.2s ease-in-out;
}

a.left-selector:hover {
	color: var(--secondary-color);
}

a.left-selector-selected:link, a.left-selector-selected:visited {
	text-decoration: none;
	font-weight: bold;
	color: var(--dark-color);
}

a.left-selector-selected:hover {
	color: var(--dark-color);
}

div.letter-container {
	display: flex;
	flex-direction: column;
	border: 0;
	align-content: center;
	align-items: flex-end;
	font-size: var(--caption-text-size);
	margin-left: calc(var(--normal-text-size) * 3.7);
	margin-bottom: calc(var(--normal-text-size) * 3);
	color: var(--light-color);
	transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.letter-container:hover {
	color: var(--dark-color);
}

div.letter {
	display: flex;
	width: calc(var(--normal-text-size) * 4.5);
	height: calc(var(--normal-text-size) * 4.5);
	border: 1px solid var(--dark-color);
	color: var(--primary-color);
	align-content: center;
	align-items: center;
	justify-content: center;
	font-size: var(--big-text-size);
	text-transform: uppercase;
	margin: 0;
	cursor: pointer;
	transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.letter:hover {
	color: var(--secondary-color);
	background-color: var(--hover-color);
}

div.small-letter-container {
	display: flex;
	flex-direction: column;
	border: 0;
	align-content: center;
	align-items: flex-end;
	font-size: var(--caption-text-size);
	margin-left: calc(var(--normal-text-size) * 1.5);
	margin-bottom: calc(var(--normal-text-size) * 0.8);
	line-height: calc(var(--normal-text-size) * 0.7);
	color: var(--light-color);
	transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.small-letter-container:hover {
	color: var(--dark-color);
}

div.small-letter {
	display: flex;
	width: calc(var(--normal-text-size) * 3);
	height: calc(var(--normal-text-size) * 3);
	border: 1px solid var(--dark-color);
	color: var(--primary-color);
	align-content: center;
	align-items: center;
	justify-content: center;
	font-size: var(--normal-text-size);
	text-transform: uppercase;
	margin: 0;
	cursor: pointer;
	transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
	margin-bottom: 3px;
}

div.small-letter:hover {
	color: var(--secondary-color);
	background-color: var(--hover-color);
}

div.small-letter-no {
	display: flex;
	width: calc(var(--normal-text-size) * 3);
	height: calc(var(--normal-text-size) * 3);
	border: 1px solid var(--dark-color);
	color: var(--dark-color);
	background-color: var(--dark-gray-color);
	align-content: center;
	align-items: center;
	justify-content: center;
	font-size: var(--normal-text-size);
	text-transform: uppercase;
	margin: 0;
	cursor: not-allowed;
	margin-bottom: 3px;
}

div.div-big-square {
	border: 1px solid var(--primary-color);
	width: 12vw;
	min-height: 12vw;
	margin-left: 1vw;
	margin-bottom: 1vw; 
	text-align: left; 
	display: flex; 
	flex-direction: column; 
	justify-content: space-between;
	box-sizing: border-box;
}

div.div-big-square-top {
	padding: 0.5vw; 
	padding-bottom: 0;
}

div.div-big-square-bottom {
	display: flex; 
	flex-direction: row; 
	justify-content: space-between; 
	background-color: var(--gray-color); 
	padding: 0.5vw; 
	align-items: center;
	font-size: var(--caption-text-size);
}

div.div-big-square-bottom > span > a:hover {
	color: var(--dark-gray-color);
}

svg#svg-canvas {
	height: 60vh; 
	/*border-bottom: 1px solid var(--dark-color);*/
	margin-bottom: calc(var(--normal-text-size) * 2);
}

rect.svg-bar {
	fill: transparent;
	stroke: var(--dark-color);
	stroke-width: 0.5;
	cursor: pointer;
}

rect.svg-bar-approved {
	position: relative;
	fill: url(#diagonalLines);
	stroke: 0;
	pointer-events: none;
}

rect.svg-bar:hover {
	fill: var(--hover-color);
}

.svg-bar-selected {
	stroke: var(--dark-color);
	stroke-width: 1;
	fill: var(--secondary-color);
	cursor: pointer;
}

text.svg-text {
	fill: var(--primary-color);
	pointer-events: none;
}

div.under-svg {
	display: none;
	flex-direction: row;
	align-items: center;
	align-content: center;
	justify-content: space-between;
}

.under-svg > div.small-letter-container:first-of-type {
    margin-left: 0;
}

div.tab-letters {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	justify-content: flex-end;
}

div.tab-barplot {
	flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-end;
    align-content: flex-end;
    justify-content: flex-start;
}

img.go-back, img.go-forward {
	opacity: 1;
    transition: opacity 0.2s ease-in-out;
	cursor: pointer;
	width: calc(var(--normal-text-size) * 2);
	height: calc(var(--normal-text-size) * 2);
}

img.go-back:hover, img.go-forward:hover {
	opacity: 0.6;
}



/* ------------------------------------------------------------
   Files main page
-------------------------------------------------------------*/

div#caption {
	font-size: var(--normal-text-size);
	margin-top: var(--normal-text-size);
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: end;
	justify-content: space-between;
}

div#decade-count {

}



/* ------------------------------------------------------------
   Search page 
-------------------------------------------------------------*/

form {
	width: 100%;
}

table.table-search {
	width: 100%;
	border: 0;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
	font-size: var(--normal-text-size);
}

table.table-search td {
	padding: calc(var(--normal-text-size) * 0.8);
}

td.table-search-sec-title {
	text-transform: uppercase;
	color: var(--primary-color);
	text-align: right;
	margin-top: calc(var(--normal-text-size) * 2);
    display: block;
}

td.table-search-label {
	width: 20%;
	min-width: 180px;
	text-align: right;
}

td.table-search-border {
	padding: calc(var(--normal-text-size) * 0.8);
	border: 1px solid var(--primary-color);
	width: 80%;
	text-align: left;
}

table.table-search input, select, option {
	width: 100%;
	border: 0;
	font-family: "DM Sans", serif;
	font-size: var(--normal-text-size);
}

table.table-search select, option {
	border: 1px solid var(--gray-color);
	width: fit-content;
}

table.table-search input[type="date"] {
	width: auto;
}

table.table-search input[type="checkbox"], table.table-search input[type="radio"] {
	width: auto;
	margin-right: calc(var(--normal-text-size) * 0.5);
}

table.table-search input[type="checkbox"]:checked, table.table-search input[type="radio"]:checked {
    accent-color: var(--primary-color);
}

td.table-search-border > label {
	margin-right: calc(var(--normal-text-size) * 2);
}

table.table-search input:focus {
  outline: none;
}

table.table-search input[type="submit"] {
	width: auto;
	font-family: "DM Sans", serif;
	font-size: var(--normal-text-size);
	padding: calc(var(--normal-text-size) * 0.5);
	color: var(--light-color);
	background-color: var(--primary-color);
	margin-right: calc(var(--normal-text-size) * -1);
	margin-bottom: 5vw;
    cursor: pointer;
	transition: background-color 0.2s ease-in-out;
}

table.table-search input[type="submit"]:hover {
	background-color: var(--secondary-color);
}



/* ------------------------------------------------------------
   Main page 
-------------------------------------------------------------*/

div.right-container-aligned {
	display: flex;
	flex-direction: row;
	align-items: center;
    justify-content: flex-end;
	position: absolute;
	top: 0;
	right: 0;
	width: 65vw;
	height: 100vh;
	padding: 0;
	box-sizing: border-box;
	overflow-y: hidden;
}

div.vertical-container {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: center;
	width: 10vw;
	height: 100%;
	border: 0;
	border-left: 5px solid var(--light-color);
	box-sizing: border-box;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

div.vertical-container-top {
	background-image: url("images/graphics/column_top.png");
	background-position: top;
}

div.vertical-container-bottom {
	background-image: url("images/graphics/column_bottom.png");
	background-position: bottom;
}

div.vertical-container-shrinked {
	cursor: pointer;
	background-color: var(--light-color);
	border-left: 1px solid var(--dark-color);
	transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.vertical-container-shrinked > h1 {
	font-size: var(--big-text-size);
}

div.vertical-container-shrinked:hover {
	background-color: var(--primary-color);
}

.vertical-text {
	transform: rotate(270deg) translateX(50%);
	transform-origin: center;
	display: inline-block;
	white-space: nowrap; /* Prevents text from wrapping */
	cursor: pointer;
	font-size: var(--title2-size);
	color: var(--dark-color);
	transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.vertical-container-shrinked .vertical-text:hover {
	color: var(--dark-color);
}

.vertical-text:hover {
	color: var(--gray-color);
}

img.vertical-text-icon {
    width: calc(var(--normal-text-size) * 2);
	height: calc(var(--normal-text-size) * 2);
	margin-right: calc(var(--normal-text-size) * 2);
	opacity: 1;
    transition: opacity 0.2s ease-in-out;
	cursor: pointer;
}

img.vertical-text-icon:hover {
	opacity: 0.3;
}

img.small-icon {
    width: calc(var(--normal-text-size) * 1.5);
	height: calc(var(--normal-text-size) * 1.5);
	margin-left: calc(var(--normal-text-size) * 0.5);
	opacity: 1;
    transition: opacity 0.2s ease-in-out;
	cursor: pointer;
}

img.small-icon:hover {
	opacity: 0.6;
}

img.tiny-icon {
    width: var(--normal-text-size);
	height: var(--normal-text-size);
	opacity: 1;
    transition: opacity 0.2s ease-in-out;
	cursor: pointer;
}

img.tiny-icon:hover {
	opacity: 0.6;
}

img.go-icon {
    width: calc(var(--normal-text-size) * 2.5);
	height: calc(var(--normal-text-size) * 2.5);
	opacity: 1;
    transition: opacity 0.2s ease-in-out;
	cursor: pointer;
}

img.go-icon:hover {
	opacity: 0.6;
}

.chapter-text {
	display: none;
	flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    height: 100%;
    width: 20vw;
	padding: 5vw 2vw;
	border: 0;
	border-left: 1px solid var(--gray-color);
	overflow-y: hidden;
	text-align: end;
}

div.chapter-navigation {
	position: absolute;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	bottom: var(--normal-text-size);
	width: 20vw;
	height: calc(var(--normal-text-size) * 6);
	cursor: pointer;
}


/* ------------------------------------------------------------
   Team page
-------------------------------------------------------------*/

div.div-institutions-container {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}

a.a-institution {
	width: 15vw;
    text-align: center;
}

img.img-partner {
	width: 10vw;
    margin: 0;
    transition: filter 0.2s ease-in-out;
    border: 1px solid var(--light-color);
    padding: 10px;
}

img.img-partner:hover {
	border: 1px solid var(--gray-color);
}

div.div-team-container {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
}

div.div-team-people {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
	width: 15vw;
	font-size: var(--normal-text-size);
	padding-top: calc(var(--normal-text-size));
}

div.img-team-people {
	height: calc(var(--normal-text-size) * 8);
	width: calc(var(--normal-text-size) * 8);
	border-radius: calc(var(--normal-text-size) * 8);
	cursor: pointer;
	background-size: 100%;
	background-position: center;
	background-repeat: no-repeat;
	border: 1px solid var(--gray-color);
	filter: grayscale(1);
	transition: background-size 0.2s ease-in-out, transform 0.2s ease-in-out;
}

div.img-team-people:hover {
	background-size: 110%;
}


/* ------------------------------------------------------------
   List pages 
-------------------------------------------------------------*/

div.pagination {
	display: flex;
	flex-direction: row; 
	align-content: center; 
	align-items: center;
	justify-content: space-between;
}

div.pagination > span {
	flex-grow: 1; 
	text-align: center; 
	color: var(--dark-color); 
	font-size: var(--big-text-size);
}

div.pagination > img {
	width: var(--big-text-size); 
	height: var(--big-text-size);
}

div.below-pagination {
	 margin-top: 2vw;
}

p.below-pagination-title {
	color: var(--dark-color); 
	font-size: var(--big-text-size);
	text-transform: uppercase;
	line-height: 1;
}

p.below-pagination-title > span {
	font-size: var(--normal-text-size);
	text-transform: none;
}

table.list-item-container {
	width: 100%;
	height: auto;
	border-collapse: collapse;
	margin-bottom: 5px;
	font-size: var(--normal-text-size);
}

table.list-item-container:last-of-type {
    border-bottom: 1px solid var(--dark-color);
}

table.list-item-container > tbody > tr.small-height > td.small {
	width: calc(var(--normal-text-size) * 2);
}
			
table.list-item-container > tbody > tr.small-height {
	height: calc(var(--normal-text-size) * 2);
}
			
table.list-item-container > tbody > tr.small-height > td.large {
	width: auto;
	height: auto;
	border: 0;
}

table.list-item-container > tbody > tr.small-height > td.large-top {
	border-top: 1px solid var(--dark-color);
}

table.list-item-container > tbody > tr.small-height > td.large-bottom {
	border-bottom: 0 solid var(--dark-color);
}

table.list-item-container > tbody > tr.small-height > td.top-left, 
table.list-item-container > tbody > tr.small-height > td.top-right {
	border-top: 1px solid var(--dark-color);
}

table.list-item-container > tbody > tr.small-height > td.top-right, 
table.list-item-container > tbody > tr.small-height > td.bottom-left {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

table.list-item-container > tbody > tr.small-height > td.top-left, 
table.list-item-container > tbody > tr.small-height > td.bottom-right {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

section.list-item-container {
	width: 100%;
	text-align: left;
}

.list-item-container-content {
	display: none;
}

.list-item-container-title {
	display: flex;
	flex-direction: row;
	align-content: center;
    align-items: center;
	justify-content: space-between;
}

.list-item-container-title > h2 {
	font-size: var(--big-text-size);
	color: var(--dark-color);
	cursor: pointer;
	transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
	display: contents;
}

.list-item-container-title > h2:hover {
	color: var(--secondary-color);
}

.list-item-metadata {
	margin-top: calc(var(--normal-text-size) * 0.5);
	border-top: 1px solid var(--primary-color);
}

.list-item-metadata > p:not(.list-item-keywords) > a {
	cursor: pointer;
}

.list-item-metadata > p:not(.list-item-keywords) > a:hover {
	color: var(--primary-color);
	cursor: pointer;
}

.list-item-keywords {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
	font-size: var(--normal-text-size);
}

a.keyword:link, a.keyword:visited {
	text-decoration: none;
	height: calc(var(--normal-text-size) * 2);
	display: inline-block;
	border-radius: var(--normal-text-size);
	padding: calc(var(--normal-text-size) * 0.5);
	margin: calc(var(--normal-text-size) * 0.5) calc(var(--normal-text-size) * 0.5) 0 0;
	cursor: pointer;
	box-sizing: border-box;
	line-height: var(--normal-text-size);
	transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}

a.keyword:hover {
	border: 1px solid var(--dark-color);
	opacity: 0.8;
}

a.keyword-1 {
	color: var(--light-color);
	background-color: var(--primary-color);
	border: 1px solid var(--primary-color);
}

a.keyword-2 {
	color: var(--light-color);
	background-color: var(--secondary-color);
	border: 1px solid var(--secondary-color);
}

a.keyword-3 {
	color: var(--dark-color);
	background-color: var(--gray-color);
	border: 1px solid var(--gray-color);
}

a.keyword-unselected {
	color: var(--dark-color);
	border: 1px solid var(--gray-color);
}

div.filter-container {
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--normal-text-size);
}

select.filters {
	border: 1px solid var(--dark-color);
	height: calc(var(--normal-text-size) * 3);
	border-radius: calc(var(--normal-text-size) * 1.5);
	padding: calc(var(--normal-text-size) * 0.5);
	box-sizing: border-box;
	width: 85%;
}


/* ------------------------------------------------------------
   Detail page
-------------------------------------------------------------*/

h1.h1-detail {
	color: var(--light-color); 
	font-size: var(--title2-size);
}

div.div-over-thumb {
	width:100%; 
	display: flex; 
	flex-direction: row; 
	align-content: center; 
	align-items: center; 
	justify-content: space-between; 
	border: 1px solid var(--light-color);
	padding: calc(var(--normal-text-size) * 0.5);
	box-sizing: border-box;
}

span.span-preview-prev-next {
	display: flex; 
	flex-direction: row; 
	align-content: center; 
	align-items: center;
}

table.table-detail {
	width: 100%;
	border-collapse: collapse; 
	border: 1px solid var(--light-color);
	text-align: start;
}

.table-detail tr td {
    color: var(--dark-color);
	background-color: var(--light-color);
	border: 1px solid var(--light-color);
	padding: var(--normal-text-size);
	height: auto; 
	vertical-align: top;
}

.table-detail tr.chapter td:nth-child(1) {
	font-size: 2.4rem;
    color: var(--bg-color);
    font-weight: bold;
	padding-right: 0;
}

.table-detail tr:nth-child(2) td {
	background-color: var(--gray-color);
}

table.table-detail a:link, table.table-detail a:visited {
	color: var(--dark-color);
}

table.table-detail a:hover {
	color: var(--light-color);
}

table.table-detail td.table-detail-title {
	font-size: var(--big-text-size);
	color: var(--dark-color);
	background-color: var(--light-color);
}

table.table-detail a.link-director:link, table.table-detail a.link-director:visited {
	color: var(--light-color);
}

table.table-detail a.link-director:hover {
	color: var(--gray-color);
}

table.table-detail a.keyword:hover {
	border: 1px solid var(--dark-color);
	opacity: 1;
}

#pdf-thumbnail {
	background-color: var(--primary-color);
	width:100%;
	cursor: zoom-in;
}

div.example_container {
	margin: 1rem 0;
	box-sizing: border-box;
	background-color: #f8f8f8;
	padding: 1rem;
}

div.example_container > hr {
	display: none;
}

div.dial {
    margin-top: 0.5rem;
}

div.glossa {
    font-style: italic;
}

div.bulletList {
	color: var(--primary-color);
	font-weight: bold;
}

a.hover-light:hover {
	color: var(--light-color);
}


/* ------------------------------------------------------------
   Carousel page
-------------------------------------------------------------*/

div.carousel-page {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 5vw;
    padding-top: max(5vw, calc(var(--normal-text-size) * 7));
	padding-bottom: 0;
    box-sizing: border-box;
}

div.carousel-container {
	display: flex;
	flex-direction: row;
	width: 100%;
	height: calc(90vh - max(5vw, calc(var(--normal-text-size) * 7)));
	align-items: center;
}

div#carousel-left, div#carousel-right {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	align-items: center;
}

canvas.carousel-box {
	position: absolute;
	bottom: 50%;
	transform: translateY(50%);
	aspect-ratio: 3 / 4;
	transition: 0.3s;
	box-shadow: 0 10px 15px rgba(0, 0, 0, 0.3);
}

div.carousel-below {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-content: center;
	align-items: center;
	width: fit-content;
	height: calc(var(--normal-text-size) * 2);
    font-size: var(--normal-text-size);
    border-radius: var(--normal-text-size);
    padding: 0 var(--normal-text-size);
	z-index: 100;
	background-color: var(--light-color);
}


/* ------------------------------------------------------------
   Flipping page
-------------------------------------------------------------*/

div.flip-page {
	width: 100%;
	display: flex;
	flex-direction: column;
	padding: 1vw;
    padding-top: calc(var(--normal-text-size) * 6);
	padding-bottom: 0;
    box-sizing: border-box;
	align-content: center;
	align-items: center;
	justify-content: center;
}

iframe#iframe-flip-page {
	width: 95vw; 
	height: 78vh;
	border: 0;
}

div.flip-below {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-content: center;
	align-items: center;
	width: 95vw;
	height: calc(20vh - calc(var(--normal-text-size) * 6));
	font-size: var(--normal-text-size);
}

a.flip-below-link {
	border: 1px solid var(--dark-color);
	background-color: var(--light-color);
	height: calc(var(--normal-text-size) * 1.5);
	line-height: calc(var(--normal-text-size) * 1.5);
	border-radius: calc(var(--normal-text-size) * 0.75);
	padding: 0 calc(var(--normal-text-size) * 0.5);
	transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

a.flip-below-link-selected {
	background-color: var(--primary-color);
	color: var(--light-color);
	border-color: var(--light-color);
}

a.flip-below-link:hover {
	background-color: var(--gray-color);
	color: var(--dark-color);
}

div.flip-below-spacer {
	flex-grow: 1; 
	border-top: 1px solid var(--light-color);
}


/* ------------------------------------------------------------
   Project page
-------------------------------------------------------------*/

div.project-background {
	position: fixed; 
	top: 0; 
	left: 0; 
	width: 100vw; 
	height: 100%; 
	background-image: url('images/background/background.jpg'); 
	background-repeat: no-repeat; 
	background-size: cover; 
	z-index: -10;
}

div.project-title {
	display: inline-block;
	margin-top: 25vh;
	padding: 5vw;
	padding-top: 2.5vw;
	background-color: #efefef; 
	box-sizing: border-box; 
	padding-bottom: 0; 
	margin-bottom: 0; 
	width: 50%;
	color: var(--primary-color);
	font-size: var(--subtitle-size);
	letter-spacing: calc(var(--normal-text-size) * 0.1);
}

div.project-text {
	padding: 5vw;
	background-color: #efefef;
	box-sizing: border-box;
	margin-top: 0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

div.project-text > div {
	width: 47%;
}

div.project-button {
	display: flex; 
	flex-direction: row; 
	align-content: center; 
	align-items: center; 
	justify-content: space-between; 
	width: 100%;
	height: 5vw;
    background-color: var(--primary-color);
}

div.project-button > img {
	height: 5vw;
}/* ------------------------------------------------------------
   For smaller displays 
-------------------------------------------------------------*/

@media (max-width: 1499px) {
	:root {
		--title-size: 4rem;
		--subtitle-size: 2.5rem;
		--title2-size: 2rem;
		--big-text-size: 1.2rem;
		--normal-text-size: 0.9rem;
		--caption-text-size: 0.7rem;
	}
}

@media (max-width: 1250px) {
	:root {
		--title-size: 3.5rem;
		--subtitle-size: 2rem;
		--title2-size: 1.8rem;
		--big-text-size: 1.1rem;
		--normal-text-size: 0.85rem;
		--caption-text-size: 0.65rem;
	}
}


/* ------------------------------------------------------------
   For portrait displays 
-------------------------------------------------------------*/

@media (orientation: portrait) {
	
	:root {
		--title-size: 3rem;
		--subtitle-size: 1.5rem;
		--title2-size: 1.5rem;
		--big-text-size: 0.9rem;
		--normal-text-size: 0.7rem;
		--caption-text-size: 0.5rem;
	}
	
	div.home-navigation {
    	bottom: 5.5vh;
	}
	
	div.content-container-item > div > div {
		min-height: calc(var(--normal-text-size) * 6);
	}
	
	div.content_container_item:last-child > div > div {
		margin-bottom: var(--subtitle-size);
	}
	
	div.project-text {
    	flex-direction: column;
	}
	
	div.project-text > div {
		width: auto;
	}
	
	div.project-button {
		margin: 20px 0;
		height: auto;
	}
	
	div.project-button > img {
		height: 50px;
	}
	
	div.go-icon {
		width: var(--title-size);
		height: var(--title-size);
		margin-left: var(--title-size);
	}
	
	div.team-container {
		flex-direction: column;
	}
	
	img.img-partner, div.div-team-people {
    	padding: 0;
		margin: 0;
    	margin-bottom: calc(var(--normal-text-size) * 2);
	}
	
	div.div-team-people {
		width: 100%;
	}
	
	footer {
		height: auto;
	}
}