@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css?family=Fira+Sans:300,300i,400,400i,500');

html {
  font-size: 10px;
}

body {
  font-family: 'Fira Sans', sans-serif;
  color: #474747;
  font-weight: 400;
  padding: 0;
  margin: 0;
  font-size: 10px;
}

.main-color {
  color:#bf1724;
}

.green {
  color:#85BC20;
}

.white {
  color:#ffffff;
}

.grey {
  color:#474747;
}

.center {
  text-align:center;
}

a, a:link, a:visited, a:hover, a:active {
  color:#bf1724;
  text-decoration: underline;
  -webkit-transition-duration: 0.4s; /* Safari */
  transition-duration: 0.4s;
}

a:hover {
  color:#ff9545;
  text-decoration: none;
}

h1{font-size:5.2rem; line-height: 130%;}
h2{font-size:4.4rem; line-height: 130%; font-weight: 300; margin: 0.8rem 0 2.4rem 0;}
h3{font-size:3rem; line-height: 130%; font-weight: 500; margin-bottom: 1rem;}
h4{font-size:2rem; line-height: 130%; font-weight: 500; margin-bottom: 0.1rem;}

em, i {
  font-style: italic;
} 

ul {
  list-style-type: disc;
  margin: 0 0 0 1.6rem;
  padding: 0;
}

p {
  font-size: 1.6rem;
  line-height: 150%;
  margin: 1rem 0;
}

.text-small {
  font-size: 1.4rem;
  line-height: 150%;
}

li {
  font-size: 1.6rem;
  line-height: 150%;
}

.paragraph {
  max-width: 64rem;
}

strong {
  font-weight: 500;
}

header {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  height: 96px;
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

header > div:nth-child(2) {
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 660px) {
  
  header > div:nth-child(2) {display: none;}
  header {justify-content: center;}
  
}

div.topnav {
  margin-left: auto;
  margin-right: auto;
}

/* -------------------- BURGER MENU -------------------- */

/* Add a black background color to the top navigation */

nav {
  background-color: #bf1724;
}

.topnav {
  background-color: #bf1724;
  overflow: hidden;
}

/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  display: block;
  color: #ffffff;
  text-align: center;
  padding: 1.6rem 1.6rem;
  text-decoration: none;
  font-size: 1.4rem;
}

/* Change the color of links on hover */
.topnav a:hover {
  background-color: #d3303c;
  color: ffffff;
}

/* Add an active class to highlight the current page */
.active {
  background-color: #85bc20;
  color: white;
}

/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
  display: none;
}

/* When the screen is less hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
@media screen and (max-width: 880px) {
  
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
  
}

/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */

@media screen and (max-width: 880px) {
  
  .topnav.responsive {position: relative;}
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
  
}

nav.sticky {
  position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 0;
  z-index: 99;
}

.info {
  background-color: #85bc20;
  border-right: 0px solid white;
  box-sizing: content-box;
}

/* -------------------- FINE BURGER MENU -------------------- */


#hero {
  background-image: url("../img/foto-cover.jpg");
  background-repeat: no-repeat;
  background-position: 50% 40%;
  background-size: cover;
	/* background-image: linear-gradient(to top, #00497f, 40%, #e26305); */
  /* background-color: #00335a; */
  min-height: 288px;
  display: block;
  position: relative;
  max-width: 96rem;
  margin: 0 auto;
}

 .hero-overlay {
  position: absolute;
  top: 0;
  background-image: linear-gradient(to bottom, rgba(0,0,0,0.9), 40%, rgba(0,0,0,0.2));
  background-image: -ms-linear-gradient(top, rgba(0,0,0,0.8) 20%, rgba(0,0,0,0.2) 60%);
  /* background-color:rgba(117,117,117,0.1); */ 
  width: 100%;
  height: 100%;
}

#hero-text {
  text-align:center;
  color: #ffffff;
  position: relative;
  z-index: 30;
}

#hero-text h1 {
  margin: 0;
  margin-bottom: 0;
  font-size: 3.2rem;
  font-weight: 400;
  font-style: italic;
}

#hero-text h2 {
  margin-top: 1rem;
  margin-bottom: 0.8rem;
  font-size: 1.8rem;
}

#hero-text span {
  margin-top: 0.4rem;
  margin-bottom: 0.4rem;
  padding: 1.4rem;
  font-size: 2.4rem;
  line-height: 2rem;
  font-weight: 400;
  display: inline-block;
  border-bottom: 4px solid #ffffff;
}


/* --------- Menù rapido (HERO) -------------- */

#menu-rapido {
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 60;
}

#menu-rapido ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#menu-rapido ul li {
  display: inline-block;
  text-align: center;
  padding: 1.2rem 1.6rem;
  margin: 0rem 1rem 2rem 1rem;
  border: 1px solid #ffffff;
  -webkit-transition-duration: 0.4s; /* Safari */
  transition-duration: 0.4s;
  cursor: pointer;
  background-color: #85bc20;
  font-size: 1.4rem;
}

#menu-rapido ul li:hover {
  background-color: rgba(255,255,255,0.90)
}

#menu-rapido ul li a {
  text-decoration: none;
  /* text-transform: uppercase; */
  color: #ffffff;
  font-weight: 400;
  font-size: 1.6rem;
}

#menu-rapido ul li:hover a {
  color: #474747;
}

/* --------- FINE Menù rapido (HERO) -------------- */

a.anchor {
    display: block;
    position: relative;
    top: -80px;
    visibility: hidden;
}

section {margin: 1.6rem 0;}

.column2 {
  -webkit-column-count: 2; /* Chrome, Safari, Opera */
  -moz-column-count: 2; /* Firefox */
  column-count: 2;
  column-gap: 4rem;
  column-rule: 1px solid #bf1724;
}

div.column2 > h4:nth-child(1) {
  margin-top: 0;
}

@media only screen and (max-width: 600px) {
  
  .column2 {
  -webkit-column-count: 1; /* Chrome, Safari, Opera */
  -moz-column-count: 1; /* Firefox */
  column-count: 1;
  }
  
}

.column2 h2 {
  -webkit-column-span: all; /* Chrome, Safari, Opera */
  column-span: all;
}

.column2 p {
  break-inside: avoid;
  margin: 0;
  margin-before: 0;
  -webkit-margin-before: 0;
}

/* #programma {
  background-image: linear-gradient(to bottom, #757575, 40%, #A3A3A3);
  color: #ffffff;
} */

.col-50-50 {
  display:flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media only screen and (max-width: 376px) {
  
  .col-50-50 {
    flex-direction: column;
  }
  
  #come-raggiungerci iframe {
    width:100%;
  }
  
}

#partner img {
  margin-right: 1.6rem;
}

#come-raggiungerci, #programma  {
  background-color: #ececec;
}

footer {
  background-color: #757575;
}

article, #hero-text  {
  padding: 2rem 1.6rem;
  margin-left: auto;
  margin-right: auto;
}

#come-raggiungerci p {
  font-size:1.4rem;
}

#programma h3, #borse-di-studio h3 {
  font-size:2.4rem;
}

/* FORMATTAZIONE TABELLA PROGRAMMA */

.table-programma {
	width: 80%;
  border-collapse: collapse;
}

.table-programma tr th {
	border-bottom: 1px solid #ffffff;
	padding: 1.2rem 0 1.2rem 0;
  font-size: 1.4rem;
  line-height: 150%;
  background-color: #ffffff;
  font-weight: 500;
}

.table-programma tr td {
	border-bottom: 1px solid #ffffff;
	padding: 0.8rem 0 0.8rem 0;
  font-size: 1.4rem;
  line-height: 150%;
  vertical-align: top;
}

.table-programma p {
  font-size: 1.4rem;
  line-height: 150%;
}

.no-line {
  border-bottom: 0px !important;
}

.table-programma li {
  font-size: 1.4rem;
  line-height: 150%;
}

.table-programma tr td:first-of-type {
	padding-right: 1.6rem;
  color: #bf1724;
  font-size: 1.6rem;
}

.table-programma em {
	font-style: italic !important;
}

@media screen and (max-width: 768px) {
	
	.table-programma {
    width: 100%;
	}
		
}

/* FINE FORMATTAZIONE TABELLA PROGRAMMA */


@media only screen and (min-width: 1024px) {
  
  header, #myTopnav, #hero-text, article  {
    max-width: 96rem;
  }
  
  article, #hero-text  {
    padding: 2rem 0;
  }
  
}

.flex-conteiner {
  display: flex;
  display:-webkit-flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content:flex-start;
  align-items: flex-start;
  align-content: flex-start;
}

.flex-item-50 {
  width: 50%;
  padding-right: 2.4rem;
  box-sizing: border-box;
}
  
#borse-di-studio .flex-item-50 h3 {
  border-bottom: 2px solid #007ac3;
  padding-bottom: 1.2rem;
}

footer p {
  color: #ffffff;
  font-size: 1.4rem
}

/* BOTTONI */

.button {
  border: none;
  padding: 1.8rem 3.2rem;
  margin: 0 auto;
  text-align: center;
  -webkit-transition-duration: 0.4s; /* Safari */
  transition-duration: 0.4s;
  cursor: pointer;
  width: 50%;
}

@media only screen and (max-width: 375px) {
  
  .button {
    display: block;
    width: 80%;
  }
  
}

.button a {
  color: white;
  text-decoration: none;
  font-size: 1.8rem;
}

.button-blue {
  background-color: #007ac3;
  -webkit-transition-duration: 0.4s; /* Safari */
  transition-duration: 0.4s;
}

.button-blue:hover {
  background-color: #409CD2;
}

.button-green {
  background-color: #85BC20;
  -webkit-transition-duration: 0.4s; /* Safari */
  transition-duration: 0.4s;
}

.button-green:hover {
  background-color: #A4CD58;
}

/* FINE BOTTONI */

breakrow {
  display: inline-block;
  white-space: nowrap;
}

article.banner {
  text-align: center;
}

article.banner img {
  text-align: center;
  width: 100%;
  max-width: 688px;
}

.logo img {
  margin-right: 1.8rem;
}

div.logo {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: flex-start;
}

