@import url("font-awesome.min.css");
/* @import url("https://fonts.googleapis.com/css?family=Raleway:400,400italic,700,800"); */
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300i,400,400i");


/*
	Highlights by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

/* Reset */

	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
	}

	#header header h1.subtitle {
		font-size: 100% !important;
	}

	article, aside, details, figcaption, figure, header, hgroup, menu, nav, section {
		display: block;
	}

	body {
		line-height: 1;
	}

	blockquote, q {
		quotes: none;
	}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

	body {
		-webkit-text-size-adjust: none;
	}

/* Box Model */

	*, *:before, *:after {
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

/* Containers */

	.container {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	
/* Basic */

	html {
		background-color: #313a3d;
		background-attachment: fixed,						fixed;
		background-image: url("images/overlay.png"), url("../../images/italian-music1.jpeg");
		background-position: top left,					center center;
		background-repeat: repeat,						none;
		background-size: auto,						cover;
	}

	html.is-loading body *, html.is-loading body *:before, html.is-loading body *:after {
		-moz-animation: none !important;
		-webkit-animation: none !important;
		-ms-animation: none !important;
		animation: none !important;
		-moz-transition: none !important;
		-webkit-transition: none !important;
		-ms-transition: none !important;
		transition: none !important;
	}

		html.is-touch {
			height: 100vh;
			overflow: hidden;		
		}
	
		html.is-touch .goto-next {
			bottom: 90px;
		}

		html.is-touch .main .container .content {
			margin-bottom: 178px;
		}


		html.is-touch #wrapper {			
			-webkit-backface-visibility: hidden;
			-webkit-overflow-scrolling: touch;			
			-webkit-transform: translate3d(0, 0, 0);			
			height: 100vh;
			overflow: auto;
		}

	body, input, select, textarea {
		color: #e3e3e3;
		/* font-family: "Raleway", "Helvetica", sans-serif; */
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-size: 16pt;
		font-weight: 300;
		line-height: 1.75em;
	}

	a {
		-moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		border-bottom: dotted 1px;
		color: #d8d8d8;
		text-decoration: none;
	}

		a:hover {
			border-bottom-color: transparent !important;
			color: #525f57 !important;
			text-decoration: none;
		}

	strong, b {
		color: #d8d8d8;
		font-weight: 700;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2em 0;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #d8d8d8;
		font-weight: 300;
		letter-spacing: 0.075em;
		line-height: 1em;
		margin: 0 0 1em 0;
		text-transform: uppercase;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	h2 {
		font-size: 1.75em;
		line-height: 1.5em;
	}

	h3 {
		font-size: 1em;
		line-height: 1.5em;
	}

	h4 {
		font-size: 0.9em;
		line-height: 1.5em;
	}

	h5 {
		font-size: 0.8em;
		line-height: 1.5em;
	}

	h6 {
		font-size: 0.7em;
		line-height: 1.5em;
	}

	sub {
		font-size: 0.8em;
		position: relative;
		top: 0.5em;
	}

	sup {
		font-size: 0.8em;
		position: relative;
		top: -0.5em;
	}

	hr {
		border: 0;
		border-bottom: solid 1px #dddddd;
		margin: 2em 0;
	}

		hr.major {
			margin: 3em 0;
		}

	blockquote {
		border-left: solid 6px #dddddd;
		font-style: italic;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 1.5em;
	}

	.align-left {
		text-align: left;
	}

	.align-center {
		text-align: center;
	}

	.align-right {
		text-align: right;
	}

	html body {
		text-decoration: none;
	}

		html body:after {
			-moz-animation: overlay-hide 1s ease-in forwards !important;
			-webkit-animation: overlay-hide 1s ease-in forwards !important;
			-ms-animation: overlay-hide 1s ease-in forwards !important;
			animation: overlay-hide 1s ease-in forwards !important;
			background: #313a3d;
			content: '';
			display: block;
			height: 100%;
			left: 0;
			opacity: 0;
			position: fixed;
			top: 0;
			width: 100%;
			z-index: -1;
		}

	html.is-loading body:after {
		-moz-animation: none !important;
		-webkit-animation: none !important;
		-ms-animation: none !important;
		animation: none !important;
		opacity: 1;
		z-index: 10000;
	}

	@media (-webkit-min-device-pixel-ratio: 2) {

		html body:before {
			line-height: 2.025em;
		}

	}

/* Section/Article */

	section.special, article.special {
		text-align: center;
	}

	header p {
		color: #d8d8d8;
		letter-spacing: 0.05em;
		text-transform: uppercase;
	}

	header h1 + p {
		margin-top: -1em;
	}

	header h2 + p {
		margin-top: -1em;
	}

	header h3 + p {
		margin-top: -0.8em;
	}

	header h4 + p,
	header h5 + p,
	header h6 + p {
		font-size: 0.8em;
		margin-top: -0.6em;
	}

	header.major {
		text-align: center;
	}

		header.major h1, header.major h2, header.major h3, header.major h4, header.major h5, header.major h6 {
			position: relative;
		}

			header.major h1:after, header.major h2:after, header.major h3:after, header.major h4:after, header.major h5:after, header.major h6:after				
			{				
				background: #a3a3a3;
				content: '';
				display: block;
				height: 1px;
				margin: 0.75em auto 0 auto;
				position: relative;
				width: 4em;
			}

			#header header.major h1.subtitle {
				margin-top: 40px;
			}

			header.major h1.subtitle:after {
				display: none;
			}

		header.major p {
			margin-top: 0;
		}

		/* Icon */

	.icon {
		text-decoration: none;
		border-bottom: none;
		position: relative;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			font-family: FontAwesome;
			font-style: normal;
			font-weight: normal;
			text-transform: none !important;
		}

		.icon > .label {
			display: none;
		}

		.icon.major {
			display: block;
			margin: 0 0 1em 0;
		}

			.icon.major:before {
				font-size: 2.5em;
			}

/* Image */

	.image {
		border: 0;
		display: inline-block;
		position: relative;
	}

		.image:before {
			background: url("images/overlay.png");
			content: '';
			display: block;
			height: 100%;
			left: 0;
			position: absolute;
			top: 0;
			width: 100%;
		}

		.image img {
			display: block;
		}

		.image.left {
			float: left;
			margin: 0 1.5em 1em 0;
			top: 0.25em;
		}

		.image.right {
			float: right;
			margin: 0 0 1em 1.5em;
			top: 0.25em;
		}

		.image.left, .image.right {
			max-width: 40%;
		}

			.image.left img, .image.right img {
				width: 100%;
			}

		.image.fit {
			display: block;
			margin: 0 0 2em 0;
			width: 100%;
		}

			.image.fit img {
				width: 100%;
			}

/* Main BG */

	.main-bg {
		-moz-transition: opacity 0.5s ease-out;
		-webkit-transition: opacity 0.5s ease-out;
		-ms-transition: opacity 0.5s ease-out;
		transition: opacity 0.5s ease-out;
		background-attachment: fixed,							fixed;
		background-position: top left,						center center;
		background-repeat: repeat,							none;
		background-size: auto,							cover;
		height: 100%;
		left: 0;
		opacity: 0;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: -1;
	}

		.main-bg.active {
			opacity: 1;
		}

/* Main */

	.main {
		position: relative;
	}

	.main .image.primary {
		display: none;
	}

	.main .container {
		padding: 5em 2.5em 8em 2.5em ;
		background: rgba(0, 0, 0, 0.25);
		box-shadow: inset 0 1px 0 0 #dddddd;
		min-height: 100vh;
	}

	/* .main .container:before {
		min-height: calc( 100vh - 13em );
		content: '';
		display: inline-block;
		vertical-align: middle;
		width: 1px;
	} */

	.main .container .content {
		display: inline-block;				
		vertical-align: middle;				
		margin-bottom: 120px;
	}

	.goto-next {
		-moz-transition: background-color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out;
		background-color: rgba(182, 182, 182, 0.1);
		background-image: url("images/arrow-down.png");
		background-position: center center;
		background-repeat: no-repeat;
		border-radius: 100%;
		border: 0;			
		display: block;
		height: 4em;
		left: 50%;
		line-height: 4em;
		margin-left: -2em;
		overflow: hidden;
		position: absolute;
		text-indent: 4em;
		white-space: nowrap;
		width: 4em;
		bottom: 30px;
	}

		.goto-next.inverse {
			transform: rotate(180deg);
		}

		
		
		

/* Header */

	#header {
		height: 100vh;
		position: relative;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
	}

		#header:after {
			content: '';
			display: inline-block;
			height: 100vh;
			vertical-align: middle;
		}

		#header header {
			color: rgba(255, 255, 255, 0.5);
			display: inline-block;
			padding-bottom: 8em;
			vertical-align: middle;
		}

			#header header h1, #header header h2, #header header h3, #header header h4, #header header h5, #header header h6, #header header strong, #header header b {
				color: #d8d8d8;
			}

			#header header a {
				color: inherit;
			}

				#header header a:hover {
					color: #d8d8d8 !important;
				}

			#header header h1 {
				font-size: 3em;
				line-height: 1.25em;
				margin: 0;
			}

				#header header h1:after {
					margin-top: 0.5em;
				}

			#header header p {
				color: #d8d8d8;
				font-weight: 300;
				margin: 1.5em 0 0 0;
			}

			#header .container > :last-child {
				margin-bottom: 0;
			}

			#header .container .button {
				min-width: 12em;
			}

/* Footer */

		#three .container,
		#four .container {
			background: rgba(0, 0, 0, 0.7);			
		}

		.footer a:hover {
				color: #ffffff !important;
		}
	
/* Image */
#image-wrapper {
	display: flex;
	flex-wrap: wrap;	
	flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
}
.image {
	border-radius: 0.2em;
	border: 0;
	display: inline-block;
	position: relative;
}

	.image:before {
		-moz-transition: opacity 0.2s ease-in-out;
		-webkit-transition: opacity 0.2s ease-in-out;
		-ms-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
		background: url("images/overlay.png");
		border-radius: 0.2em;
		content: '';
		display: block;
		height: 100%;
		left: 0;
		opacity: 0.5;
		position: absolute;
		top: 0;
		width: 100%;
	}

	.image.thumb {
		text-align: center;
		width: 200px;
		height: 133px;
		margin: 10px;
		overflow: hidden;		
	}


		.image.thumb:hover:before {
			background: url("images/overlay.png"), url("images/overlay.png");
			opacity: 1.0;
		}

		/* .image.thumb:hover {
		  -webkit-transform: scale3d(1.1, 1.1, 1);
      transform: scale3d(1.1, 1.1, 1);
		} */

	.image img {
		border-radius: 0.2em;
		display: block;
		-webkit-transition: all 0.25s linear;
		transition: all 0.5s linear;
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
		margin: 0 auto;
	}

	.image img:hover {
	  -webkit-transform: scale3d(1.2, 1.2, 1);
    transform: scale3d(1.2, 1.2, 1);
	}

	.image.fit {
		display: block;
		margin: 0 0 2em 0;
		width: 100%;
	}

	.image.fit img {
		width: 100%;
	}


/* Loader */

@-webkit-keyframes overlay-hide {
	0% {
		opacity: 1;
		z-index: 10000;
	}

	15% {
		opacity: 1;
		z-index: 10000;
	}

	99% {
		opacity: 0;
		z-index: 10000;
	}

	100% {
		opacity: 0;
		z-index: -1;
	}
}
@-webkit-keyframes overlay-hide {
	0% {
		opacity: 1;
		z-index: 10000;
	}

	15% {
		opacity: 1;
		z-index: 10000;
	}

	99% {
		opacity: 0;
		z-index: 10000;
	}

	100% {
		opacity: 0;
		z-index: -1;
	}
}

.poptrox-popup {
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	-ms-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	border-radius: 0.2em;
	box-shadow: 0 0.1em 0.15em 0 rgba(0, 0, 0, 0.15);
	overflow: hidden;
}

.poptrox-popup .caption {
	bottom: 0;
	cursor: default;
	font-size: 0.9em;
	height: 3em;
	left: 0;
	line-height: 2.8em;
	position: absolute;
	text-align: center;
	width: 100%;
	z-index: 1;
}

.poptrox-popup .closer {
	-moz-transition: opacity 0.2s ease-in-out;
	-webkit-transition: opacity 0.2s ease-in-out;
	-ms-transition: opacity 0.2s ease-in-out;
	transition: opacity 0.2s ease-in-out;
	background-image: url("images/close.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 3em;
	cursor: pointer;
	height: 5em;
	opacity: 1;
	position: absolute;
	right: 0;
	top: 0;
	width: 5em;
	z-index: 4;
}
	
.poptrox-popup .nav-previous,
.poptrox-popup .nav-next {
	-moz-transition: opacity 0.2s ease-in-out;
	-webkit-transition: opacity 0.2s ease-in-out;
	-ms-transition: opacity 0.2s ease-in-out;
	transition: opacity 0.2s ease-in-out;
	background-image: url("images/arrow.png");

	background-repeat: no-repeat;
	background-size: 5em;
	cursor: pointer;
	height: 100%;
	margin-top: 0;
	opacity: 1;
	position: absolute;
	top: 0;			
	width: 150px;
	z-index: 2;
	background-position: right;
}

.poptrox-popup .nav-previous {
	-moz-transform: scaleX(-1);
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
	left: 0;			
}

.poptrox-popup .nav-next {
	right: 0;
}

.poptrox-popup.loading:before {
	opacity: 0;
}

	body.touch .poptrox-popup .closer,
	body.touch .poptrox-popup .nav-previous,
	body.touch .poptrox-popup .nav-next {
		opacity: 1.0 !important;
	}

	@media screen and (max-width: 980px) {

		.poptrox-popup .closer {
			background-size: 3em;
		}

		.poptrox-popup .nav-previous,
		.poptrox-popup .nav-next {
			background-size: 4em;
		}

	}

	@media screen and (max-width: 736px) {

		/* .poptrox-popup:before {
			display: none;
		} */

		.poptrox-popup .caption {
			display: none !important;
		}
/* 	
		.poptrox-popup .closer,
		.poptrox-popup .nav-previous,
		.poptrox-popup .nav-next {
			display: none !important;
		} */
		

		.poptrox-popup .closer {
			background-size: 1.5em;
			height: 2.5em;				
			width: 2.5em;
		}

		.poptrox-popup .nav-previous,
		.poptrox-popup .nav-next {
			background-size: 2.5em;
		}	
	}



@-moz-keyframes overlay-hide {
	0% {
		opacity: 1;
		z-index: 10000;
	}

	15% {
		opacity: 1;
		z-index: 10000;
	}

	99% {
		opacity: 0;
		z-index: 10000;
	}

	100% {
		opacity: 0;
		z-index: -1;
	}
}

@-webkit-keyframes overlay-hide {
	0% {
		opacity: 1;
		z-index: 10000;
	}

	15% {
		opacity: 1;
		z-index: 10000;
	}

	99% {
		opacity: 0;
		z-index: 10000;
	}

	100% {
		opacity: 0;
		z-index: -1;
	}
}

@-ms-keyframes overlay-hide {
	0% {
		opacity: 1;
		z-index: 10000;
	}

	15% {
		opacity: 1;
		z-index: 10000;
	}

	99% {
		opacity: 0;
		z-index: 10000;
	}

	100% {
		opacity: 0;
		z-index: -1;
	}
}

@keyframes overlay-hide {
	0% {
		opacity: 1;
		z-index: 10000;
	}

	15% {
		opacity: 1;
		z-index: 10000;
	}

	99% {
		opacity: 0;
		z-index: 10000;
	}

	100% {
		opacity: 0;
		z-index: -1;
	}
}

/* Large */

@media screen and (max-width: 1680px) {

	/* Basic */

		body, input, select, textarea {
			font-size: 16pt;
		}

}

/* Medium */

@media screen and (max-width: 980px) {

	
	.main .container {
		padding: 3em 3em 8em 3em ;
	}
	
	/* Header */

		#header header {
			padding-bottom: 9em;
			/* width: 80%; */
		}

		#header header h1 {
			font-size: 2em !important;
		}

		#header header h1.subtitle,			
		#header header p {
			font-size: 0.875em !important;
		}
}

/* Small */

@media screen and (max-width: 736px) {

/* 
	html {
		background-image: url("images/overlay.png");
	} */

	/* Basic */		

		h2 {
			font-size: 1.35em;
		}

	/* Main */

	.main .container {
		padding: 3em 1.5em 1em 1.5em ;
	}

	.main .container .image.primary:first-child {
		margin: -1.5em 0 2.5em 0;
	}

	.image.thumb{			
		width: 50px;
		height: 30px;
		margin: 5px;
	}

	.image.thumb img{			
		max-height: 100%;
    max-width: 100%;		
	}
		

	#five .container {
		padding: 3em 1.5em 1em 1.5em ;
	}
}

.video-container {
	width: calc(580px);
	height: calc(315px);
	padding: 20px;
}

@media screen and (max-width: 736px) {		
	.video-container {
		width: calc(100vw);
		height: calc((100vw) *9/16);
	}

	.container.no-padding-sm {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}
/* XSmall */

@media screen and (max-width: 480px) {		
	/* Main */

		.main .container {
			padding: 3em 1em 1em 1em ;
		}

			.main .container .image.primary:first-child {
				margin: -2em 0 2.5em 0;
			}
}
