/* ==========================================================================
   STILI GENERICI
   ========================================================================== */
audio, canvas, iframe, img, svg, video {
	vertical-align: middle;
}
textarea {
	resize: vertical;
}
/*questo sotto non somma il padding*/
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}
figure {
	margin: 0;
}
/* ==========================================================================
   STILI SITO
   ========================================================================== */

* {
	margin: 0;
	padding: 0;
}
.trenta, .quaranta, .cinquanta, .sessanta, .settanta {
	width: 100%;
	float: left;
}
body {
	font-size: 17px;
	line-height: 25px;
	font-family: 'Lato', sans-serif;
	background: #fff;
	font-weight: 400;
}
img {
	width: auto;
	max-width: 100%;
	height: auto;
}
section ul, section ol {
	padding-left: 20px;
}
.wrapper {
	width: 88%;
	margin: 0 6%;
}
a {
	color: #ec2327;
	font-weight: 400;
}
h1 {
	font-weight: 300;
	font-size: 44px;
	line-height: 48px;
	margin: 10px 0;
}
h1.maiuscolo {
	font-size: 24px;
	font-weight: 600;
	text-transform: uppercase;
	color: #384146;
	line-height: 32px;
}
h2 {
	font-size: 30px;
	line-height: 35px;
	font-weight: 300;
	margin: 10px 0;
}
.note {
	font-size: 14px;
	line-height: 20px;
	color: #777777;
	padding: 10px 0 20px 0;
}
.avviso {
	color: #ec2327;
}
.breadcrumb {
	font-weight: 300;
}
.pulsante {
	color: #ec2327;
	padding: 20px 50px;
	display: inline-block;
	text-decoration: none;
	text-transform: uppercase;
	margin: 15px 0;
	font-size: 20px;
	font-weight: 700;
	border: solid 1px #ec2327;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.padding-right, .padding-rightbig {
	padding-right: 0px;
}
.padding-tb {
	padding: 60px 0;
}
.padding-bottom {
	padding-bottom: 30px;
}
.padding-top {
	padding-top: 30px;
}
.p-padding p {
	padding-bottom: 30px;
}
.grigio {
	background-color: #e6e6e6;
}
.testo-2colonne h2, .testo-2colonne h3 {
	text-align: left;
}
.testo-2colonne {
	width: 100%;
	float: left;
	-webkit-column-count: 1; /* Chrome, Safari, Opera */
	-moz-column-count: 1; /* Firefox */
	column-count: 1;
	padding: 40px 0px;
}
.testo-2colonne h2 {
	margin-top: 0px;
}
.right {
	float: right;
}
.main p {
	padding-bottom: 17px;
}
.hide-show {
	display: none;
}
.risposta-form {
	color: #F00;
}
.p20 {
	padding: 20px 0;
}

/* BANNER COOKIES
---------------------------------------------------------------------------*/
.flexBanner {
	padding: 15px;
}
.bannerText {
	font-size: 13px!important;
	line-height: 15px!important;
}
#banner_cookies {
	text-align: center;
	display: block;
	width: 100%;
	background-color: #DDD;
	color: #333;
	position: fixed;
	z-index: 1000000;
}
#banner_cookies a {
	color: #333;
}
#banner_cookies a#accept_cookies {
}
#banner_cookies a#accept_cookies img {
}
#banner_cookies .close a {
	color: #FFF;
	background-color: #333;
	border: 1px #000 solid;
	border-radius: 10px;
	padding: 5px 10px;
	display: table;
	margin: 10px auto 0px auto;
	text-decoration: none;
	font-size: 13px!important;
	line-height: 15px!important;
}





/*HEADER
---------------------------------------------------------------------------*/

header {
	background: #3b454a;
	padding: 22px 0 0 0;
}
.logo {
	width: 100%;
	float: left;
	text-align: center;
}
.menu {
	width: 100%;
	float: left;
}
/*menu lingue*/
nav#lingue {
	float: right;
	display: none;
}
nav#lingue ul {
	list-style-type: none;
}
nav#lingue ul li {
	display: inline;
	float: left;
}
nav#lingue ul li a {
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	line-height: 18px;
	display: block;
	font-weight: 300;
	text-align: center;
	margin-left: 7px;
	MARGIN-top: 7px;
	border: solid 1px #3b454a;
}
/*nav#lingue ul li a:hover {
	border: solid 1px #626a6e;
}*/
nav#navmenu ul li.show-hide-lingue {
	display: inline-block;
}
/*nav*/
nav#navmenu {
	width: 100%;
	float: left;
	border-top: solid 1px #626a6e;
	display: none;
	margin-top: 20px;
}
nav#navmenu ul li.current-menu-item {
	color: #525252
}
nav#navmenu ul li {
	display: inline-block;
	float: none;
	position: relative;
}
nav#navmenu ul li a {
	display: block;
	width: 100%;
	text-align: center;
	text-decoration: none;
	padding: 10px 0px;
	text-align: center;
	font-size: 15px;
	color: #fff;
	text-transform: uppercase;
}
nav#navmenu ul li span {
	display: block;
	width: 100%;
	text-align: center;
	text-decoration: none;
	padding: 10px 8px;
	text-align: center;
	font-size: 16px;
	text-transform: uppercase;
}
nav#navmenu a:hover {
	color: #fff;
}
nav#navmenu ul li:hover a {
	color: #ec2327;
	transition-property: color;
	transition-duration: 1s;
}
nav#navmenu ul li ul {
	background-color: rgba(255, 255, 255, 1)!important;
	position: absolute;
	display: none;
	top: 100%;
	border-right: none;
	z-index: 50;
	padding-top: 0px;
	margin-top: 0;
	margin-left:-240px;
	box-shadow: 0px 0px 3px #828282;
}
nav#navmenu ul li:hover ul {
	display: block;
}
nav#navmenu ul li ul li {
	width: 100%;
	min-width: 330px;
	position: relative;
	background: none;
	font-size: 16px;
	text-transform: lowercase;
	height: auto;
	border-bottom: 1px solid #ccc;
	z-index: 5000 !important;
}
nav#navmenu ul li ul li a {
	text-transform: none;
	padding: 0px;
	padding: 10px;
	text-align: left;
	font-size: 13px;
	height: auto;
	color: #333 !important;
	display: block;
	z-index: 5000 !important;
}
nav#navmenu ul li ul li span.on {
	padding: 0px;
	text-align: left;
	font-size: 13px;
	height: auto;
	display: block;
	font-weight: bold;
	color: #000 !important;
}
nav#navmenu ul li ul li a:hover {
	color: #fff !important;
	background-color: #ec2327;
	transition-property: color;
	transition-duration: 1s;
}
nav#navmenu ul li ul li.voceOn {
	color: #fff!important;
	background-color: #ee3326;
}
nav#navmenu ul li ul li.voceOn a {
	color: #fff!important;
}
/*label*/
.label {
	display: none;
	top: 130px;
	right: 0;
	position: absolute;
}
.label a {
	background-color: #ec2327;
	padding: 10px;
	width: 70px;
	right: -8px;
	position: fixed;
	float: right;
	border-radius: 8px;
	-webkit-box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.6);
	-moz-box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.6);
	box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.6);
	z-index: 40;
}
.label a.label-home {
	top: 110px;
}
.label a.label-orari {
	top: 180px;
}
.label a.label-dove {
	top: 250px;
}
.label a.label-biglietti {
	top: 320px;
}
.label a.label-prenota {
	top: 390px;
}
.label a.label-regolamento {
	top: 460px;
}
.label a:hover {
	width: 230px;
	text-decoration: none;
	transition: 0.4s ease-out;
	-webkit-transition: 0.4s ease-out;
	opacity: 1;
}
.label div {
	position: relative;
	float: right;
	padding-right: 8px;
}
.effetto {
	visibility: hidden;
	font-family: 'Lato', sans-serif;
	font-size: 18px;
	color: #fff;
	top: 10px;
	display: block;
	position: absolute;
	left: -160px;
	float: left;
	transition: 0.4s ease-out;
	-webkit-transition: 0.4s ease-out;
	opacity: 0;
}
.label a:hover .effetto {
	visibility: visible;
	transition: 0.9s ease-out;
	-webkit-transition: 0.9s ease-out;
	opacity: 1;
}
.label-mobile {
	display: inline-block;
}
.label-mobile a {
	float: left;
}
.label-mobile img {
	height: 35px;
	width: 35px;
	margin-top: 10px;
	margin-bottom: 10px;
}
/*HOME
---------------------------------------------------------------------------*/
/*SLIDER*/
.slide {
	text-align: center;
}
.slider-home li.zero {
	background: url(/images/slider/cripta-papi_mobile.jpg) center bottom no-repeat
}
.slider-home li.uno {
	background: url(/images/slider/santa-cecilia_mobile.jpg) center bottom no-repeat
}
.slider-home li.due {
	background: url(/images/slider/galleria_mobile.jpg) center bottom no-repeat
}
.slider-home li.tre {
	background: url(/images/slider/entrata_mobile.jpg) center bottom no-repeat
}
.slider-home li.quattro {
	background: url(/images/slider/orante_mobile.jpg) center bottom no-repeat
}
.slider-home li.extra {
	background: url(/images/slider/extra_mobile.jpg) center bottom no-repeat
}
.slider-home li.zero, .slider-home li.uno, .slider-home li.due, .slider-home li.tre, .slider-home li.quattro, .slider-home li.extra {
	background-attachment: scroll;
	background-size: 100%;
	height: 270px;
}
.slider-home li {
	display: block;
	width: 100%;
	font-size: 48px;
	font-weight: 300;
	color: #fff;
	bottom: 0;
}
.frase {
	color: #fff;
	font-size: 25px;
	line-height: 30px;
	padding-bottom: 30px;
}
.sfumatura {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 49%, rgba(0,0,0,0.75) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 49%, rgba(0,0,0,0.75) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(0,0,0,0) 49%, rgba(0,0,0,0.75) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#bf000000', GradientType=0 ); /* IE6-9 */
}
.lSAction>a {
	z-index: 20 !important;
}
/*catacombe*/
.catacombe {
	padding: 10px 0 80px 0;
}
.catacombe .flex {
	text-align: center;
}
.catacombe .flex figure {
	flex: 0 0 100%;
}
.catacombe .flex div {
	flex: 0 0 100%;
}
.catacombe a {
	text-decoration: none;
	font-size: 20px;
}
/*info*/
.info {
	background: #4a565c;
	color: #fff;
	min-height: 390px;
}
.info img {
	margin-bottom: 20px;
}
.info a {
	text-decoration: none;
	color: #fff;
	padding: 30px 0;
	text-align: center;
	display: inline-block;
}
.info a:hover {
	border: solid 1px #fff;
	-webkit-box-shadow: 0px 11px 24px -2px rgba(0,0,0,1);
	-moz-box-shadow: 0px 11px 24px -2px rgba(0,0,0,1);
	box-shadow: 0px 11px 24px -2px rgba(0,0,0,1);
	transition: 0.4s ease-out;
	-webkit-transition: 0.4s ease-out;
}
.info .flex {
	justify-content: space-around;
}
.info .flex a {
	flex: 0 1 50%;
}
.info .flex a p {
	line-height: 20px;
}
.info h1.maiuscolo {
	color: #fff;
	padding-bottom: 10px;
}
.orari {
	background: #3b454a;
	margin-top: -80px;
	padding: 50px;
}
.orari strong {
	font-weight: 700;
	font-size: 18px;
}
.orari h1.maiuscolo {
	display: inline-block;
	margin-left: 30px;
}
/*prenotazione*/
.prenotazione .sfondo {
	background-image: url(../images/img-prenota-home.jpg);
	background-repeat: no-repeat;
	background-position: bottom right;
	display: none;
	flex: 0 0 100%;
}
.prenotazione .padding-tb {
	text-align: center;
	padding-right: 25px;
	padding-left: 25px;
	flex: 0 0 100%;
}
.prenotazione strong {
	font-weight: 700;
}
.prenotazione .wrapper {
	width: 100%;
	margin: 0;
}
.prenotazione img {
	padding-bottom: 15px;
}
.catacombe-bg {
	background: url(../images/catacombe-cristiane-sanCallisto-bg.jpg) no-repeat top center;
	background-size: cover;
	background-attachment: fixed;
	min-height: 320px;
}
/*link utili*/
.link-utili {
	padding: 40px 0 60px 0;
	text-align: center;
}
.link-utili h1 {
	font-weight: 400;
	color: #5c5c5c;
	text-transform: uppercase;
	font-size: 28px;
}
.link-utili .flex div {
	flex: 0 0 45%;
	font-size: 14px;
	line-height: 17px;
	font-weight: 300;
	font-style: italic;
	margin-bottom: 35px;}
.link-utili .flex div a {
	color:#1d1d1d;
	text-decoration:none;
}
.link-utili .flex div figure {
	min-height: 75px;
}
/*PRENOTAZIONE
---------------------------------------------------------------------------*/
.prenotazione-riepilogo{
	background-color: #d5d5d5;
	padding: 30px;
	border-radius: 10px;
	margin-bottom: 40px;
}
.prenotazione-riepilogo table{
	width: 100%;
}
.prenotazione-riepilogo table tr{
	border-bottom: solid 1px #f3f3f3;
}
.prenotazione-riepilogo table td{
	padding: 2px;
}
.prenotazione-riepilogo table td, .prenotazione-riepilogo table th{
	display: block;
}


/*.table-container {
  width: 100%;
  overflow-x: auto
}*/

.storico-conversazione{
	background-color: #e6e6e6;
}
.post-msg{
	padding: 20px 0;
	border-bottom: solid 1px #ccc;
}
.post-msg span{
	font-size: 14px;
	color: #4B4B4B;
}

/* MESSAGE
---------------------------------------------------------------------------*/
.message {
	border:1px #000 solid;
	width:75%;
	text-align:center;
	padding:10px;
	margin:0 auto;
	border-radius:10px;
	background-color:#ec2327;
	color:#FFF;
	font-weight:bold;
}

.message a {
	color:#FFF;
	text-decoration:none;
	font-weight:bold;
}


/* INTERNO 
---------------------------------------------------------------------------*/
.regolamento p {
	padding-bottom: 20px;
}
.regolamento span {
	font-weight: bold;
	font-size: 20px;
}
.visita ul {
	list-style-type: none;
}
.visita li {
	flex: 0 1 100%;
	text-align: center;
	background-color: #ec2327;
	-webkit-box-shadow: 0px 5px 10px -2px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 5px 10px -2px rgba(0,0,0,0.5);
	box-shadow: 0px 5px 10px -2px rgba(0,0,0,0.5);
	margin-bottom: 25px;
}
.visita li:hover {
	-webkit-box-shadow: 0px 5px 25px -2px rgba(0,0,0,1);
	-moz-box-shadow: 0px 5px 25px -2px rgba(0,0,0,1);
	box-shadow: 0px 5px 25px -2px rgba(0,0,0,1);
	transition: 0.4s ease-out;
	-webkit-transition: 0.4s ease-out;
}
.visita li h2 {
	padding: 15px 0;
	color: #fff;
	font-size: 22px;
}
.sacramenti div {
	flex: 0 1 100%;
	padding-bottom: 30px;
}
#prenota-ico a {
	text-decoration: none;
	color: #fff;
	padding: 30px 0;
	text-align: center;
	display: inline-block;
	background: #ec2327;
	flex: 0 0 100%;
	margin-bottom: 40px;
	-webkit-box-shadow: 0px 5px 10px -2px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 5px 10px -2px rgba(0,0,0,0.5);
	box-shadow: 0px 5px 10px -2px rgba(0,0,0,0.5);
}
#prenota-ico a.singoli-visitatori {
	border: solid 1px #000;
	background: #fff;
	color: #000;
}
#prenota-ico a.singoli-visitatori h1 {
	color: #000;
}
#prenota-ico a.singoli-visitatori img {
	color: #000;
	filter: brightness(0.25);
}
#prenota-ico a.singoli-visitatori:hover {
	-webkit-box-shadow: 0px 5px 10px -2px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 5px 10px -2px rgba(0,0,0,0.5);
	box-shadow: 0px 5px 10px -2px rgba(0,0,0,0.5);
}
#prenota-ico a:hover {
	-webkit-box-shadow: 0px 11px 24px -2px rgba(0,0,0,1);
	-moz-box-shadow: 0px 11px 24px -2px rgba(0,0,0,1);
	box-shadow: 0px 11px 24px -2px rgba(0,0,0,1);
	transition: 0.4s ease-out;
	-webkit-transition: 0.4s ease-out;
}
#prenota-ico .flex {
	justify-content: space-around;
}
#prenota-ico .flex a p {
	line-height: 20px;
}
#prenota-ico h1.maiuscolo {
	color: #fff;
	padding-bottom: 10px;
}
.flex.prenotazioni {
	flex-wrap: wrap;
	align-items: center;
}
.flex.prenotazioni h2 {
	color: #ec2327;
	font-weight: bold;
}
.flex.prenotazioni figure {
	text-align: center;
	flex: 0 0 auto;
}
/* GOOGLE MAP 
---------------------------------------------------------------------------*/		
.iframe_wrap {
	position: relative;
	padding-bottom: 65.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.iframe_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* FOOTER 
---------------------------------------------------------------------------*/

footer {
	padding: 50px 0;
	background: #4a565c;
	color: #fff;
	font-size: 17px;
	line-height: 24px;
}
footer a {
	color: #fff;
}
address {
	font-style: normal;
	display: flex;
	align-items: flex-end;
}
address p {
	display: block;
}
address strong {
	font-size: 30px;
	font-weight: 300;
}
address figure {
	margin-right: 25px;
}
.social {
	flex-wrap: wrap;
	flex: 0 1 100%;
	align-items: flex-end;
	justify-content: flex-start;
}
.social a {
	white-space: nowrap;
	font-weight: 300;
	font-style: italic;
	margin-left:20px;
	margin-top:20px;
}
.chiusura {
	padding-top: 40px;
	color: #a2a7a9;
}
.chiusura a {
	text-transform: uppercase;
	text-decoration: none;
	color: #a2a7a9;
	padding-left: 30px;
}
/* ==========================================================================
   Helper classes
   ========================================================================== */

.clearfix:before, .clearfix:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}
.clearfix:after {
	clear: both;
}

/* ==========================================================================
    MEDIA QUERIES
   ========================================================================== */
   @media only screen and (min-width: 480px) {
.hide-show {
	display: inline-block;
}
.slider-home li.zero, .slider-home li.uno, .slider-home li.due, .slider-home li.tre, .slider-home li.quattro, .slider-home li.extra {
	height: 380px;
}
nav#navmenu ul li.show-hide-lingue {
	display: none;
}
.visita li {
	flex: 0 1 48%;
}
#banner_cookies {
	margin-bottom:0px;
	bottom: 0px;
}
}
@media only screen and (min-width: 768px) {
.visita li {
	flex: 0 1 19%;
}
.sacramenti div {
	flex: 0 1 40%;
}
.testo-2colonne {
	width: 100%;
	float: left;
	-webkit-column-count: 2; /* Chrome, Safari, Opera */
	-moz-column-count: 2; /* Firefox */
	column-count: 2;
	-webkit-column-width: 48%; /* Chrome, Safari, Opera */
	-moz-column-width: 48%; /* Firefox */
	column-width: 48%;
	-webkit-column-gap: 50px; /* Chrome, Safari, Opera */
	-moz-column-gap: 50px; /* Firefox */
	column-gap: 50px;
	padding: 40px 0px;
}
.slider-home li.zero {
	background: url(/images/slider/cripta-papi.jpg) center top no-repeat
}
.slider-home li.uno {
	background: url(/images/slider/santa-cecilia.jpg) center top no-repeat;
}
.slider-home li.due {
	background: url(/images/slider/galleria.jpg) center top no-repeat;
}
.slider-home li.tre {
	background: url(/images/slider/entrata.jpg) center top no-repeat;
}
.slider-home li.quattro {
	background: url(/images/slider/orante.jpg) center top no-repeat;
}
.slider-home li.extra {
	background: url(/images/slider/extra.jpg) center top no-repeat;
}
.slider-home li.zero, .slider-home li.uno, .slider-home li.due, .slider-home li.tre, .slider-home li.quattro, .slider-home li.extra {
	background-size: 100%;
	height: 260px;
	background-attachment: fixed;
}
.frase {
	font-size: 30px;
	line-height: 40px;
	padding-bottom: 60px;
}
/*label*/
.label {
	display: inline-block;
}
.label-mobile {
	display: none;
}
/*menu lingue*/
	/*HOME
---------------------------------------------------------------------------*/
.info .flex a {
	flex: 0 1 23%;
}
.link-utili .flex div {
	flex: 0 0 15%;
	margin-bottom: 0px;
}
/* PRENOTAZIONE 
---------------------------------------------------------------------------*/	
.prenotazione-riepilogo table td, .prenotazione-riepilogo table th{
	display:  table-cell;
}	
/* INTERNO 
---------------------------------------------------------------------------*/
#prenota-ico a {
	flex: 1 0 31%;
	margin: 0 15px;
}
.flex.prenotazioni {
	flex-wrap: nowrap;
}
.flex.prenotazioni figure {
	flex: 0 0 25%;
}
/* FOOTER
---------------------------------------------------------------------------*/
.social {
	justify-content: flex-end;
}
}
@media only screen and (min-width: 1024px) {
.sacramenti div {
	flex: 0 1 20%;
}
header {
	background: #3b454a;
	padding: 22px 0;
}
.trenta {
	width: 30%;
}
.quaranta {
	width: 40%;
}
.cinquanta {
	width: 50%;
}
.sessanta {
	width: 60%;
}
.settanta {
	width: 70%;
}
.padding-right {
	padding-right: 30px;
}
.padding-rightbig {
	padding-right: 100px;
}
h1 {
	font-size: 48px;
	line-height: 52px;
}
/* HEADER
---------------------------------------------------------------------------*/
.logo {
	width: 51%;
	text-align: left;
}
.menu {
	width: 49%;
	float: left;
}
nav#navmenu {
	display: inline-block;
	padding-right: 25px;
}
nav#lingue {
	padding-right: 0px;
}
nav#lingue {
	display: inline-block;
	padding-right: 25px;
}
/* HOME 
---------------------------------------------------------------------------*/
/*catacombe*/
.catacombe .flex {
	text-align: left;
}
.catacombe .flex figure {
	flex: 0 0 35%;
}
.catacombe .flex div {
	flex: 0 0 65%;
	padding: 0 20px;
}
/*prenotazione*/
.prenotazione .sfondo {
	display: inline-block;
	flex: 0 0 40%;
}
.prenotazione .padding-tb {
	flex: 0 0 60%;
}
.slider-home li.zero, .slider-home li.uno, .slider-home li.due, .slider-home li.tre, .slider-home li.quattro, .slider-home li.extra {
	height: 440px;
}
}
 @media only screen and (min-width: 1366px) {
.slider-home li.zero, .slider-home li.uno, .slider-home li.due, .slider-home li.tre, .slider-home li.quattro, .slider-home li.extra {
	height: 500px;
}
.wrapper {
	width: 1296px;
	margin: 0 auto;
}
.prenotazione .wrapper {
	width: 1296px;
	margin: 0 auto;
}
}
