@font-face
{
	font-family: "Helvetica";
	src: url("../fonts/helvetica.woff");
}

/*
@font-face
{
	font-family: "HelveticaBold";
	src: url("../fonts/helveticab.woff");
}



@font-face
{
	font-family: "Helvetica";
	src: url("../fonts/HelveticaNeueLTPro-Md.otf");
}
*/

@font-face
{
	font-family: "HelveticaBold";
	src: url("../fonts/HelveticaNeueLTPro-HvEx.otf");
}


html, body
{
	font-family: "Helvetica", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
	font-size: calc( 14px + (20 - 14) * ( (100vw - 320px) / ( 1024 - 320) )) !important;
	color: white;
}

body
{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #333;
  opacity: 0.6;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #333;
  opacity: 0.6;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #333;
  opacity: 0.6;
}
:-moz-placeholder { /* Firefox 18- */
  color: #333;
  opacity: 0.6;
}

.row-of-icons {
  -webkit-user-select: none;  /* Chrome all / Safari all */
  -moz-user-select: none;     /* Firefox all */
  -ms-user-select: none;      /* IE 10+ */
  user-select: none;          /* Likely future */      
}

.bold
{
    font-family: "HelveticaBold", Arial Black, sans-serif;
}

.txt_red
{
	color: red;
}

.justify {
	text-align:justify; 
}

.interlinea {
	margin-top: 1.5em; 
}

.small-text
{
	font-size: 0.7em;
}

label, button
{
	cursor: pointer;
}

*:focus
{
	outline: none !important;
}

.header, .footer
{
	width: 100%;
	height: 10vh;
	background-color: white;
	/*position: absolute;
	left: 0;*/
}

.header
{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}

.header-text
{
	margin-left: 4vw;
	color: #b00f27;
	font-size: 1.6em;
    cursor: pointer;
	letter-spacing: 8px;
}

.header-burger
{
	display: none;
}

#rotate_me
{
	display: none;
}

.core
{
	width: 100%;
	height: 80vh;
	position: relative;
    align-self: flex-start;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    background-color: #ccc;
    background-image: url('../img/gray-bg.jpg');
    background-size: cover;
    background-repeat: no-repeat;
}

.content
{
	width: 75%;
	height: 100%;
	color: #103555;
}

.content-elem
{
	height: 25%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.content-text
{
	height: 50%;
	justify-content: space-around;
}

.content-title-text
{
	font-size: 1.6em;
    font-family: "HelveticaBold", Arial Black, sans-serif;
}

.content-title-small-text
{
	font-size: 1.8em;
}

.content-title, .content-cta
{
	width: 100%;
	text-align: center;
}

.content-cta-text
{
	font-size: 1.8em;
}

/* content form */

.content-form
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.content-form-row
{
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	position: relative;
}

.content-form-text-commenti
{
	width: 80%;
}

#id_comment
{
	margin-top: 2vw;
	width: 80%;
	height: 6em;
}	

#id_author
{
	margin: 2vw 0;
	height: 1.6em;
	width: 20%;
	min-width: 192px;
}	

.reg-content-elem
{
	height: 25%;
}

#reg-form
{
	width: 70%;
}

.reg-form-row
{
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
    height: 2.8em;
}

.login-form-row
{
	justify-content: center;
    flex-direction: column;
}

.generic-form-row
{
    height: 2.8em;
}

.reg-fields
{
	font-size: 0.9em;
	width: 40%;
	background-color: transparent;
	border: 1px solid #103555;
	border-radius: 8px;
	text-indent: 8px;
	padding: 0.2em;
}

.reg-spacer
{
	width: 20%;
	height: 1.2em;
}

.form-error
{
	position: absolute;
	left: 0;
	bottom: -0.6em;
	font-size: 0.6em;
}

.form-error-center
{
	position: absolute;
	left: 0;
	bottom: 0;
	font-size: 0.6em;
	width: 100%;
	text-align: center;
}

.form-error-right
{
	position: absolute;
	left: initial;
	right: 0;
	bottom: -0.6em;
	font-size: 0.6em;
}

#id_consenso
{
	width: 5%;
	cursor: pointer;
}

.consenso-link
{
	color: #b00f27;
	text-decoration: none;
	cursor: pointer;
}

#id_code
{
	font-size: 0.8em;
	text-align: center;
}

.content-upload-form
{
	background-color: white;
	width: 80%;
	border: 2px dashed #103555;
	margin-left: auto;
	margin-right: auto;
	padding-top: 4vw;
}

#upload-form
{
	width: 80%;
}

.upload-form-row
{
	height: auto;
	flex-direction: column;
    justify-content: center;
}

#upload-form-text
{
	width: 100%;
    text-align: center;
}

#upload-submit-button:disabled
{
	opacity: 0.6;
}

/* end content form */

.content-button
{
	padding: 0.6vh 4vw;
	background-color: #b00f27;
	border-radius: 8px;
	border: 1px solid transparent;
	color: white;
	font-size: 1.2em;
    font-family: "HelveticaBold", Arial Black, sans-serif;
    cursor: pointer;
    width: 40%;
}

.content-button-hover
{
	background-color: #103555;
	transition: background-color 0.5s ease;
}


.content-scroll-text
{
    font-family: "HelveticaBold", Arial Black, sans-serif;
	cursor: pointer;
}

.reg-login-button
{
	background-color: transparent;
	border: 1px solid #103555;
	color: #103555;
	font-size: 0.7em;
}

.upload-pick-button
{
	padding: 1.6vh 0;
	width: 80%;
}

.upload-spacer
{
	height: 2vw;
}

/**//**/

.blue-content
{
	background-color: #103555;
	background-image: url('../img/blue-bg.jpg');
    background-size: cover;
    background-repeat: no-repeat;
	color: white;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
}

.blue-content-elem
{
	width: 90%;
}

.blue-main-content-elem
{
	height: 50%;
	background-color: #103555;
	background-color: transparent;
	color: white;
	justify-content: flex-start;
}

.blue-content-title
{
	text-align: left;
}

.blue-main-content-text
{
	width: 100%;
}

.blue-content-buttons-elem
{
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
}

.blue-content-button
{
    cursor: pointer;
    border: 1px solid white;
    background-color: transparent;
    color: white;
    border-radius: 8px;
    font-size: 1em;
    padding: 1vw;
	width: 38%;
}

.blue-main-content-compensi-elem
{
	height: 75%;
}

.blue-compensi-item
{
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	height: 100%;
}

.blue-compensi-ticket
{
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
	width: 25%;
    height: 33.3%;
}

.blue-compensi-ticket-img
{
	width: 80%;
}

.blue-compensi-text
{
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
	width: 75%;
    height: 33.3%;
}

/**//**/

.menu
{
	width: 25%;
	height: 100%;
	background-color: #b00f27;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}


.menu-item
{
    width: 80%;
	height: 40%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.menu-main-item
{
	justify-content: center;
}

.menu-spacer-item
{
	height: 25%;
}

.menu-guestbook-item
{
	height: 10%;
	width: 100%;
    background-color: #103555;
    font-size: 0.8em;
    cursor: pointer;
}

.menu-elem
{
    width: 80%;
	padding: 2vh;
	border: 1px solid transparent;
    border-bottom: 1px solid white;
    cursor: pointer;
	transition: background-color 0.5s ease;
}

.menu-elem-first
{
	border: 1px solid transparent;
    border-top: 1px solid white;
	border-bottom: 1px solid white;
}

.menu-elem-hover
{
	background-color: rgba(0,0,0,0.15);
}

.menu-elem-text
{
	color: white;
	text-align: center;
	text-decoration:none;
	width: 100%;
	font-size: 1em;
}

.menu-button-item
{
	height: 25%;
	margin-left: auto;
	margin-right: auto;
}

.menu-button
{
	width: 88%;

	padding: 0.6vw 0;
	background-color: white;
	border-radius: 8px;
	border: 1px solid transparent;
	color: #103555;
	font-size: 1.2em;
    font-family: "HelveticaBold", Arial Black, sans-serif;
    cursor: pointer;
   	transition: background-color 0.5s ease;
}

.menu-button-hover
{
	background-color: #ccc;
	color: #103555;
}

.footer
{
	min-height: 70px;
	z-index: 2;
}

.footer, .footer-inner
{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.footer-inner
{
	width: 33.3%;
	justify-content: space-around;
}

.footer-elem
{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.footer-img
{
	width: 90%;
}

.commenti-elem
{
	height: 15% !important;
}
.commento-condizioni{
	font-size:60%; 
	margin:0.5vw;
}

/* VOTA */

.vota-content
{
	justify-content: center;
	justify-content: space-around;
}

.vota-title-elem
{
	justify-content: center;
	height: auto;
}

.vota-title-text
{
	text-align: center;
	font-size: 1.4em;
}

.content-rate-container
{
	
	width: 90%;
	height: 60%;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	height: auto;
}

.content-rate-logo
{
	width: 25%;
	height: auto;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
	cursor: pointer;
	transition: all 0.3s ease; 
}

.content-rate-logo-selected
{
	z-index: 2;
}

.content-rate-logo-img
{
	width: 100%;
	border: 4px solid black;
}

.content-rate-logo-img-selected
{
	border: 4px solid #b00f27;
}

.content-rate-button-container
{
	justify-content: center;
	height: 20%;
	height: auto;
}

.content-rate-logo-button
{
	width: 33.3%;
	background-color: #b00f27;
	color: white;
	transition: all 0.5s ease; 
	transition: width 0.1s;
}

.content-rate-logo-button:disabled
{
	opacity: 0.4;
}

/**/

@media all and (orientation: portrait), (max-width: 768px)
{

	.header
	{
		background-color: #b00f27;
	    z-index: 9;
	    width: 100%;
	    justify-content: space-between;
	    min-height: 44px;
	}
	
	.header-text
	{
			color: white;
			font-size: 1.1em;
	}
	
	.header-burger
	{
		display: block;
		width: 10%;
		margin-right: 4vw;
	}
	
	.header-burger-img
	{
		width: 100%;
	}
	
	.core
	{
		/* height: 70vh; MR*/ 
	}
	
	.content, .fullscreen-bg
	{
		width: 100% !important;
	}

	.content
	{
		background-size: cover !important;
		background-repeat: no-repeat;
	}

	.content-spacer
	{
		height: 10%;
	}

	.content-title, .content-cta
	{
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.fullscreen-bg
	{
		background: url('../img/poster-mobi.jpg') center center / cover no-repeat;
	}
	
	.commenti-elem
	{
		height: 15% !important;
	}
	.commento-condizioni{
		font-size:60%; 
		margin:0.5 vw;
	}
	
	.blue-content-elem
	{
		height: 15%;
		justify-content: flex-end;
	}
	
	.blue-content-buttons-elem
	{
		justify-content: space-around !important;
	    align-items: flex-start;
		height: 30%;
	}
	
	.long-text-content-elem
	{
		justify-content: center;
	    align-items: center;
	}
	
	.blue-main-content-elem
	{
		height: 80%;
	}
	
	.blue-main-content-contest-elem
	{
		height: 50%;
		justify-content: center;
	}
	
	.blue-compensi-item
	{
		flex-direction: row;
	}
	
	.blue-compensi-ticket-img
	{
		width: 70%;
	}
	
	#upload-submit-button
	{
		width: 80%;
	}
	
	.upload-spacer
	{
		height: 8vw;
	}
	
	/**//**/

	.menu
	{
		display: none;
		position: fixed;
		right: 0;
		top: 0;
		width: 50%;
		height: 90%;
		justify-content: flex-start;
		z-index: 8;
	}
	
	.menu-spacer-item
	{
		height: 20%;
	}
	
	.menu-main-item
	{
		height: auto;
		height: 35%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.menu-guestbook-item
	{
	    border: 1px solid white;
	}
	
	.menu-button
	{
		padding: 1vw 0;
	}
	
	.footer
	{
		min-height: 60px;
	}
	
	.footer-inner, .footer-elem
	{
		height: 11vh;
	}
	
	.footer-elem
	{

	}
	
	.footer-inner
	{
		width: 100%;
	}
	
	.footer-img
	{
		width: 66.6%;
	}
	
	.vota-title
	{
		width: 96%;
	}
	
	.vota-title-elem
	{
		height: 15%;
	}	
	
	.vota-title-text
	{
		font-size: 1em;
	}	
	
	.content-rate-container
	{
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		height: 80%;
	}
	
	.content-rate-logo
	{
		width: 42%;
		flex-direction: column;
	}
	
	.content-rate-button-container
	{
		height: 15%;
	}
}

@media all and (orientation: landscape) and (max-width: 768px)
{
	html
	{
		overflow: hidden;
		background-color: white;
		height: 100%;
	}

	body
	{
		overflow: auto;
	}

	.header-burger
	{
		width: 5%;
	}
    
	.core
	{
		/*height: 54vh;
	    max-height: 60vh;*/
	    height: 75vh;
	    /*margin-top: -2vh;*/
	}
	
	.content
	{
		background-size: 100%;
		background-repeat: no-repeat;
		background-position: 20% 60%;
	}
	
	.content-title-text
	{
		font-size: 1.2em;	
	}
	
	.content-small-text
	{
		font-size: 1.6em;
	}

	.content-cta-text
	{
		font-size: 1.2em;
	}

	.content-scroll
	{
	    justify-content: flex-end;
	}

	.fullscreen-bg
	{
		background: url('../img/poster.jpg') center center / cover no-repeat;
	}
	
	.menu
	{
		height: 69.5vh;
		height: 80vh;
		z-index: 8;
	}

	.menu-spacer-item
	{
		height: 24%;
	}
	
	.menu-button-item
	{
		height: 25%;
	}
	
	.menu-guestbook-item
	{
		height: 20%;
	}
	
	.footer
	{

	}
	
	.content-rate-container
	{
		flex-direction: row;
		height: auto;
	}
	
	.vota-title-elem
	{
		height: 20%;
	}
	
	.content-title-text
	{
		font-size: 1em;
	}
	
	.content-rate-logo
	{
		width: 30%;
	}
}
