/* Reset */
* {
    margin: 0;
    padding: 0;	
	box-sizing: border-box;	
}

/* Global */
body {
    font-family: 'Calibri', sans-serif;
	font-size: 16px;
    height: 100vh;
    /*overflow: hidden;*/
    display: grid;
    grid-template-rows: auto 1fr auto;	
}

header {
	width: 100%;
	font-family: 'Calibri', sans-serif;
}

main {
	padding: 0 20px;
}

ul {
	/*list-style: none;*/
}

li {
	margin-left: 20px;
}

a {
	color: #000;
	text-decoration: none;
}

a:hover {
	color: #ff0000;
}

.cat-hl-link {
	color: #ff0000 !important; 
}

img {
	max-width: 100%;
}

/* Header */
.header-sep {
	height: 1px;	
	margin: 1px 20px;
	background: #000;
}

/* Nav */
.top-header {
	display: flex;
	width: 100%;  
	margin: 10px 0;
	padding: 0 20px;
}

.top-header-nav {
	width: 70%;
	margin-left: -20px;
	margin-right: 20px;
	padding: 20px 0;
	font-size: 25.5px;
}

.top-header-nav ul {
	list-style: none;        
	padding: 0;
	margin: 0;
	display: flex; 
	/*gap: 5px;*/  
}

.top-header-nav a {
	text-decoration: none;
}

.top-header-logo {
	width: 30%;
	padding-top: 10px;
}

.top-header-logo ul {
	list-style: none;  
}	

.top-header-logo a {
	float: right;
	text-decoration: none;
}

#logo {
	width: 200px;
	height: 55px;
}

.bottom-header {
	display: flex;
	width: 100%;  
	padding: 5px 20px;
	font-size: 20px;
}

.bottom-header-nav {
	width: 90%;
	margin-left: -15px;
	/*margin-right: 20px;*/
	/*padding: 10px 0;*/
}

.bottom-header-nav ul {
	list-style: none;        
	padding: 0;
	margin: 0;
	display: flex; 
}

.bottom-header-nav li {
	margin-left: 15px;       
}

.bottom-header-nav a {
	text-decoration: none;
}

.bottom-header-lang {
	width: 10%;
}

.bottom-header-lang ul {
	list-style: none;  
}	

.bottom-header-lang a {
	color: #171c8f;
	float: right;
	text-decoration: none;
}

.bottom-header-lang a:hover {
	color: #ff0000;
}

/* Main */
.main {
    display: grid;
    height: 100%;
    /*overflow: hidden;*/
}

.home-slider img {
	width: 100%;
	height: 78vh;
}

.container {
	position: relative;
	display: flex;
	width: 100%;
	height: 80vh;
	background: #f0f0f0;
	border-bottom: 1px solid #000;
	overflow-y: auto;
}

.sub-nav {
	padding: 20px 0;
	background: #d7d7d7;
}

.sub-nav ul {
	list-style: none;
}

.sub-link-with-space {
	margin: 5px 0 5px 20px;
}

.content {
	display: flex;
	width: 67%;
	padding: 20px 0 20px 20px;
	background: #f0f0f0;
}

.content-text {
	width: 100%;
	padding: 20px;
	background: #f0f0f0;
}

.content-title {
	font-weight: bold;
	font-size: 20px;
	padding-bottom: 15px;
}

.content-body {
	text-align: justify;
	margin-right: 10px;
	padding-bottom: 30px;
}

.content-image {
	width: 100%;
	/*margin-left: 15px;*/
	background: #f0f0f0;
	text-align: right;
	/*
	position: absolute;
	top: 0;
	right: 0;
	*/
}

.content-image img {
	/*max-height: 77.5vh;*/
	max-height: 100%;
	/*padding-left: 20%;*/
}

.page-full-image-container {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.page-full-image {
	width: 100%;
	height: 100%;
	position: relative;
	top: 0;
	left: 0;
	object-fit: cover;
}

.page-full-image img {
	width: 100%;
	height: 100%;
}

.page-full-image-up-desc {
	width: 100%;
	position: relative;
	bottom: 50px;
	left: 0;
	padding: 2px 10px;
	color: #333;
	z-index: 2;
}

.page-full-image-down-desc {
	width: 100%;
	position: relative;
	bottom: 46px;
	left: 0;
	padding: 2px 10px;
	background: #7f7f7f;
	color: #fff;
	z-index: 1;
}

.close-full-image {
  position: absolute;
  top: 15px;
  right: 5px;
  z-index: 10;
  color: white;
  padding: 5px 10px;
  border-radius: 3px;
  cursor: pointer;
  font-size: 22px;
}

/* Publications */
.tb-publications {
	width: 98%;
	margin: 10px;
	font-size: 15px !important;
}

.tb-publications td {
	padding: 0 5px;
}

.td-dates {
	width: 5%;
}

.pub-headline {
	width: 45%;
	font-weight: bold;
}

.pub-headline-attivita-ric {
	font-weight: bold;
}

.pub-author {
	width: 20%;
}

.pub-origin {
	width: 30%;
}

/* Projects */
.main {
    display: grid;
    grid-template-columns: 33% 67%;
    height: 100%;
    /*overflow: hidden;*/
}

.project-title {
	padding: 20px;
	background: #d7d7d7;
	font-weight: bold;
	overflow-y: auto;
}

.project-content {
    position: relative;
    overflow: hidden;
	background: #f0f0f0;
}

.project-content img {
	/*max-height: 77vh;*/
}

.project-image-container {
    width: 100%;
    height: 100%;
    position: relative;	
}

.project-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.5s ease-in-out;	
}	

.project-buttons {
	width: 100%;
	padding: 10px 0;
	display: flex;
}

.project-buttons-num {
	width: 90%;
}

.project-buttons-arrows {
	width: 10%;
	text-align: right;
	font-weight: bold;
}

.project-arrow-left, .project-arrow-right {
	margin: 0 2px;
	padding: 3px 20px;
	background: #f0f0f0;
}

.project-image-num {
	margin: 0 2px;
	padding: 3px;
	background: #f0f0f0;
}

.project-image-desc {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 2px 10px;
	/*background: #7f7f7f;*/
	background: #e0e0e0;
	color: #fff;
	z-index: 1;
}

.project-description {
    width: 100%;
    height: 100%;
    position: relative;	
	padding: 20px;
	background: #fff;
	overflow-y: auto;
}

.projects-link {
	width: 100%;
}

.projects-link ul {
	list-style: none;
}

.projects-link li {
	margin-left: 0;
}

.projects-link table {
	width: 98%;
	font-weight: bold;
}

td.td-first {
	width: 89%;
}

td.td-second {
	width: 20%;
}

.projects-link td {
	border-bottom: 1px solid #ccc;
}	

li.project-sel-link {
	margin-bottom: 10px !important;
}

/* Footer */
footer {
	display: flex;
	width: 100%;
	/*height: 30px;*/
	padding: 0 20px;
	font-family: 'Calibri', sans-serif;
	font-size: 14px;
}

.footer-copyright {
	width: 70%;
	padding: 5px 0;
}

.footer-vat-num {
	width: 30%;
	padding: 5px 0;
}

.footer-vat-num p {
	float: right;
}






