@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700|Roboto:400,900');

* {
margin: 0;
}

html, body { 
	height: 100%; 
	width:100%;   
	font-family: 'Open Sans','Roboto', sans-serif;
	font-size:1em; 
	color:#444; 
	line-height:2em; 
	background: #FFF; 
	min-height:100%; 
	display:inline-block;
}

.transition		{
				-moz-transition: all 0.2s ease-in-out;
				-webkit-transition: all 0.2s ease-in-out;
				-o-transition: all 0.2s ease-in-out;
				-ms-transition: all 0.2s ease-in-out;
				}
				
.transition2		{
				-moz-transition: all 0.8s ease-in-out;
				-webkit-transition: all 0.8s ease-in-out;
				-o-transition: all 0.8s ease-in-out;
				-ms-transition: all 0.8s ease-in-out;
				}				

strong, .bold 	{ font-weight: bold;}
.regular		{  font-weight: 400;}


h1					{
						margin: 0 0 25px 0;
						font-size: 2em;
						display: inline-block;
						width: 100%;
						line-height: 1em;
						color: #222;
						font-family:'Roboto';
						} 
						
h2					{
						margin: 0 0 5px 0;
						font-size: 1.3em;
						width: 100%;
						line-height: 1em;
						color: #222;
						display:inline-block;
						font-family:'Roboto';
						}						


	
a						{color: #666;text-decoration:none; font-weight:normal;}
a:hover					{color: #000;text-decoration:normal;}  

em						{ font-style:italic; color:#222;}
u						{ text-decoration:underline;}

p						{  margin:5px 0; color:#666; font-family: 'Open Sans'}

ul 						{color:#666; font-family: 'Open Sans'}

.uppercase				{ text-transform:uppercase;}

.cover					{ background-position:center; background-size:cover; background-repeat:no-repeat;}
.contain				{ background-position:center; background-size:contain; background-repeat:no-repeat;}

.opacity:hover			{ opacity:0.75;}

.wrapper 				{
	min-height: 100%;
	height: 100%;
	margin: 0 auto;
	position:relative;
}


 
.int {position:relative; width:96%; padding:0 2%; }

section {width:100%; display:inline-block;}

@media screen and (min-width: 600px) {
.int { width:96%; padding:0 2%; }
}

@media screen and (min-width: 960px) {	
.int { width:940px; padding:0; margin:0 auto; }	
}

@media screen and (min-width: 1120px) {	
.int { width:1100px; padding:0; margin:0 auto; }	
}

@media screen and (min-width: 1280px) {	
.int { width:1240px; padding:0; margin:0 auto; }	
}

@media screen and (min-width: 1400px) {	
.int { width:1240px; padding:0; margin:0 auto; }		
}

.bg_login { display:none;  z-index: 110; background: rgba(0,0,0,0.6); position: fixed; top:0; left:0; width: 100%; height: 100%;}


@-webkit-keyframes ANIMATION {
  0%   { box-shadow: 0px 0px 0 0 #000; }
  100% {   box-shadow: 20px 20px 0 0 #000; }
}
@-moz-keyframes ANIMATION {
  0%   { box-shadow: 0px 0px 0 0 #000; }
  100% {   box-shadow: 20px 20px 0 0 #000; }
}
@-o-keyframes ANIMATION {
 0%   { box-shadow: 0px 0px 0 0 #000; }
  100% { box-shadow: 20px 20px 0 0 #000; }
}
@keyframes ANIMATION {
  0%   { box-shadow: 0px 0px 0 0 #000; }
  100% {  box-shadow: 20px 20px 0 0 #000; }
}


.show_log						{ opacity:1 !important;  top:70px !important; 
-webkit-animation: ANIMATION 1s forwards; /* Safari 4+ */
  -moz-animation:    ANIMATION 1s forwards; /* Fx 5+ */
  -o-animation:      ANIMATION 1s forwards; /* Opera 12+ */
  animation:         ANIMATION 1s forwards; /* IE 10+, Fx 29+ */}

.box_login {
	width: 300px;
    min-height: 200px;
    background: #FFF;
    box-sizing: border-box;
    z-index: 120;
    padding: 20px;
    left: 50%;
    margin-left: -160px;
    position: fixed;
    top: -450px;
}

a.close_log {
    height: 50px;
    width: 50px;
    float: right;
    font-size: 1em;
  
    line-height: 50px;
    text-align: center;
    color: #FFF;
    position: absolute;
    z-index: 110;
	top:0;
	right:0;
}

@media screen and (min-width: 600px){
a.close_log {
    height: 90px;
    width: 90px;
    line-height: 90px;
    font-size: 1em;
}

	a.close_log:hover {color:#ffdd00;}

}


.input_log {
	box-sizing:border-box;
	line-height: 36px;
	border:4px solid #222;
	padding:0 10px;
	background: #FFF;
	box-shadow: none !important;
	color:#444;
	border-radius:0;
	margin:0 0 10px 0;
	float:left;
	width:100%;
	font-size: 0.8em;
}

a.login_action {
	width: 100%;
    box-sizing: border-box;
    border: 4px solid #000;
    background: #FFF;
    color: #000;
    line-height: 50px;
    font-weight: 700;
    font-family: Roboto;
    font-size:1.2em;
    width: 100%;
	padding:0 10px;
    display: inline-block;
}



a.login_action:hover { background:#000; color:#FFF;}

a.login_action i {margin:0 0 0 10px; line-height: 50px;}
a.login_action:hover i {margin:0 0 0 100px; }



a.password_forg { color:#000; font-size:0.8em; line-height: 1em;}
a.password_forg:hover { color:#666;}
/**************************************/
.top_header { 
	width:100%; 
	background:#005d34; 
	height: 30px; 
	line-height: 30px; 
	font-size:0.8em; 
	position:fixed; 
	top:0; 
	left:0;
	z-index:100;
}
 
a.accedi, a.registrati {color:#FFF; float:right; margin:0 0 0 15px;}
a.accedi i, a.registrati i { margin:0 5px 0 0;}
a.accedi:hover, a.registrati:hover {color:#FFDD00;}

.benvenuto {float:left; margin:0; color:#FFF; line-height: 30px; text-transform: uppercase;color:#ffdd00; }
.benvenuto > span, .benvenuto > i {float:left; line-height: 30px;}
.benvenuto > i {margin:0 5px 0 0 ;}
.benvenuto > span.desktop {float:left; margin:0 0 0 5px;}
#form_logout { float:right; line-height: 30px; color:#FFF;}
#form_logout a { color:#FFF; line-height: 30px; margin:0 0 0 15px; float:left;  text-transform: uppercase; } 

#form_logout a:hover {color:#ffdd00;}

.header		{
width: 96%;
    position: fixed;
    margin: 0 auto;
    float: left;
    top: 29px;
    z-index: 100;
    height: 70px;
    background-color: #FFF;
	padding:0 2%;
    
}

@media screen and (min-width: 600px) {
	.header { height:118px;}
}

@media screen and (min-width: 1120px) {
.header		{
width: 100%;
    position: fixed;
    margin: 0 auto;
    float: left;
    top: 29px;
    z-index: 100;
	padding:0;
    height: 140px;
    background: url(/template/1011/img/bg_header.png);
    background-position: right top;
    background-repeat: no-repeat;
    background-size: 100% 140px;
	background-color:transparent;
}
}

.header > .int_header { height:100px;}
								 
a.logo		{	
float:left;
height:auto;
width:auto;
}				
								
a.logo > img				{ width:auto; height:50px; padding:10px 0;}	

@media screen and (min-width: 600px) {
a.logo > img				{ width: 200px;
    height: auto;
    padding: 20px 0 0 0;}	

}
a.menu:hover				{ }
a.menu						{ 
							height:50px;
							width:50px;
							float:right;
							position:relative;
							margin:5px 0 0 0;
							}	


span.uno.transition {
    margin: 10px 5% 5px 5%;
}

.bbaa		{ position:relative; float:left; }

.sub-menu	{
position: absolute;
    top: 75px;
    left: 0;
    /* width: 100%; */
    background: #ffdd00;
    color: #000;
    display: none;
    padding: 0 30px 0px 30px;
    text-align: left;
    white-space: nowrap;
}

.sub-menu li {list-style: none; float:left; /*width:100%;*/}

.sub-menu li a {
	color: #FFF;
    margin: 0 0 5px 0;
    padding: 0 0 5px;
	float:left;/* width:100%;*/
	box-sizing: border-box;
}

a.menu > span			{ 
						background: #222;
						height: 3px;
						margin: 5px 5%;
						width: 70%;
						float: right; 
}

a.menu:hover > span	{ background:#ffdd00;} 


.etichetta_menu		{
					position: absolute;
					width: auto;
					right: 80px;
					top: 14px;
					display:none;
					}


@media screen and (min-width: 600px) {
	.etichetta_menu		{
								display:block;
								}
}

.text							{
								width: auto;
								border-radius: 4px;
								background: #6389b1;
								color: #FFF;
								padding: 0 18px 0 15px;
								font-weight: bold;
								position: relative;
								}

.linguetta					{ position: absolute; background:#6389b1; 
								-ms-transform: rotate(45deg); /* IE 9 */
								-webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
								transform: rotate(45deg);
								 width: 14px;
								height: 14px;
								display: block;
								right: -3px;
								top: 8px;
								}			

@media screen and (min-width: 600px) {
a.menu						{ 
							height:50px;
							width:50px;
							margin:28px 0 0 0;
							}	
								
a.menu > span			{ 
								background: #222;
								height: 4px;
								width: 90%;
								float: right; 
								}

span.uno.transition {
    margin: 12px 5% 5px 5%;
}								

}								
																		
span.tre					{ margin:5px 10% 0 10%;}



.menu_aperto			{
								position: fixed !important;
								background: #222;
								top: -110%;
								z-index: 1000;
								left: 0px;
								width:100%;
								text-align:center;
								border-bottom:15px solid #FFF;
								opacity:0;
								}

.menu_aperto a {width: 100%;
    font-weight: bold;
    font-size: 1.3em;
	color:#FFF;
	float:left;
}

.menu_aperto a:hover {color:#ffdd00;}

.block {display:block !important;}

.sub-menu-mob {
    width: 100%;
    float: left;
    list-style: none;
    padding: 0;
	text-align: center;
}


a.close_menu			{
								height: 50px;
								width: 50px;
								float: right;
								font-size: 1em;
								font-family: 'montserratlight';
								line-height: 50px;
								text-align: center;
								color: #FFF;
								position: relative;
								z-index: 100;
								}


a.close_menu:hover			{ color:#ffdd00;}

.opensubmob.minus:before {content: "-" !important; margin:0 5px 0 0 ;}
.opensubmob.plus:before {content: "+";margin:0 5px 0 0 ;}

@media screen and (min-width: 600px) {
	a.close_menu {
    height: 90px;
    width: 90px;
	line-height:90px;
	font-size: 1em;
 }
}



.mob_link	{float:left; width:100%; display: inline-block; color:#FFF;}
.cont_link_sub {float:left; width:100%; display: inline-block; color:#FFF;}

.show						{ opacity:1 !important; top:0 !important;}
								
span.l_c					{ height:6px; width:80%; margin:0 10%; float:left;
								-ms-transform: rotate(45deg); /* IE 9 */
								-webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
								transform: rotate(45deg);
								background:#a9282d;
								}																

span.r_c					{ height:6px; width:80%; margin:0 10%; float:left;
								-ms-transform: rotate(-45deg); /* IE 9 */
								-webkit-transform: rotate(-45deg); /* Chrome, Safari, Opera */
								transform: rotate(-45deg);
								background:#a9282d;
								}		

.voci							{ width:80%; padding:0px 10% 0 10%; display:inline-block; margin:-30px 0 0 0;}

a.vocemenu			{ 
								text-transform:uppercase;
								color:#FFF;
								font-size: 1.7em;
								line-height: 1.4em;
							    font-family: 'montserratbold';
								}
								
.cont-social				{ width:100%; text-align:center; margin:15px 0 0 0; display:inline-block;}
a.social					{ font-size:1.5em; color:#FFF; margin:0 5px;}

a.social_f					{ font-size:1.5em; color:#000; margin:0 5px 0 0;}
a.social_f	:hover		{ color:#6389b1;}	



/*menu 2*/

.menu_big								{ display:none;}
.menu										{ display:block;}
@media screen and (min-width: 1120px) {	
.menu										{ display:none;}
.menu_big								{ 
	display: block;
    position: absolute;
    background: #131313;
    right: 0px;
    top: 0px;
    height: 140px;
    padding: 20px 10px 20px 30px;
    box-sizing: border-box;
    width: calc(100% - 260px);
	}

a.vocemenu_aperta					{ 
												text-transform: uppercase;
												color: #FFF;
												
												font-family: 'Roboto';
												padding: 0 0 10px 0;
												float: left;
												margin: 35px 15px 0 0px;
												border-bottom:3px solid transparent;
												}
								
						
a.vocemenu_aperta:hover		{ 
												color:#FFF;
												border-bottom:3px solid  #ffdd00;
												}	
}

li > a.vocemenu_aperta {
    margin: 10px 0 0 0 !important;
	color:#000;
}

li > a.vocemenu_aperta:hover {
    margin: 10px 0 0 0 !important;
	color:#005d34;
}

@media screen and (min-width: 1200px) {	
a.vocemenu_aperta					{ margin: 35px 10px 0 0px; font-size: 16px;}
a.vocemenu_aperta:last-child { margin: 35px 0px 0 0px;}		
}

@media screen and (min-width: 1300px) {	
a.vocemenu_aperta					{ margin: 35px 20px 0 0px; font-size: 16px;}
a.vocemenu_aperta:last-child { margin: 35px 0px 0 0px;}		
								
}

@media screen and (min-width: 1400px) {	
a.vocemenu_aperta					{ margin: 35px 32px 0 0px; font-size: 16px;}
a.vocemenu_aperta:last-child { margin: 35px 0px 0 0px;}								
}


@media screen and (min-width: 600px) {								
a.vocemenu			{ 
								
								font-size: 4em;
								line-height: 1.2em;
							    }																						

a.vocemenu:hover	{ color:#000;}
a.social					{ font-size:2em; color:#FFF;}
a.social:hover			{ color:#000;}
}




/**************************************************************************************/
.int_slide, .slide_home_item	{     
	width:100%;
	height:300px;
	
}

.slide_home	{text-align: center;}

a.link-slide-loghi-home {     
	margin: 20px 10px 0 10px;
    padding: 10px;
    float: left;
    box-sizing: border-box;
    height: 170px;
    background-color: #FFF;
    width: 100%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.cont_s_t {
	display: table;
  	height: 100%;
	width:94%;
	padding:0 3%;
}

.slide_txt {
display: table-cell;
  vertical-align: middle;
	color:#FFF;
	text-shadow: 1px 1px 1px #000;
	 font-family:Roboto;
}

.int_slide {margin-top:100px;}
.slide_home_title { font-size: 2em; line-height: 1em;}
.slide_home_desc  { font-size:1.4em; line-height: 1em;}
.slide_home_desc p {margin:10px 0 15px 0; color:#FFF;}
.slide_home_desc > p > a {color:#FFF;}
.slide_home_desc > p > a:hover {color:#FFF; opacity:0.8;}
a.slide_home_action {
    padding: 10px 28px;
    border: 3px solid #FFF;
    color: #FFF;
    font-size: 1em;
    margin: 7px 0 0 0;
    display: inline-block;
    
}

a.slide_home_action:hover { 
	background:#fff;
	border:3px solid #fff;
	color:#000;	
	
	-webkit-animation: ANIMATION 1s forwards; /* Safari 4+ */
  -moz-animation:    ANIMATION 1s forwards; /* Fx 5+ */
  -o-animation:      ANIMATION 1s forwards; /* Opera 12+ */
  animation:         ANIMATION 1s forwards; /* IE 10+, Fx 29+ */
	
}

a.slide_home_action i {margin:0 0 0 20px;}

.int_slide {margin-top:100px;}
.desktop {display:none;}

@media screen and (min-width: 600px) {
.desktop {display:inherit;}
.int_slide, .slide_home_item	{     
	width:100%;
	height:400px;
}
	
.int_slide {margin-top:130px;}	

.slide_home_desc p {margin:10px 0 35px 0;}	
a.slide_home_action {
    padding: 18px 35px;
    border: 4px solid #FFF;
    color: #FFF;
    font-size: 1.4em;
    margin: 10px 0 0 0;
    display: inline-block;
}

a.slide_home_action:hover { 
		background:#fff;
	border:4px solid #fff;
	color:#000;
	text-shadow: none;
	
	-webkit-animation: ANIMATION 1s forwards; /* Safari 4+ */
  -moz-animation:    ANIMATION 1s forwards; /* Fx 5+ */
  -o-animation:      ANIMATION 1s forwards; /* Opera 12+ */
  animation:         ANIMATION 1s forwards; /* IE 10+, Fx 29+ */
}

a.slide_home_action i {margin:0 0 0 20px;}	
	
}

@media screen and (min-width: 960px) {	
.int_slide, .slide_home_item	{     
	width:100%;
	height:500px;
}

.int_slide {margin-top:140px;}	
.slide_home_title { font-size: 4em; line-height: 1em;}
.slide_home_desc  { font-size:2em; line-height: 1em;}		
}

@media screen and (min-width: 1280px) {	
.int_slide, .slide_home_item	{     
	width:100%;
	height:600px;
}
.int_slide {margin-top:140px;}	
.slide_home_title { font-size: 5em; line-height: 1em;}
.slide_home_desc  { font-size:3em; line-height: 1em;}	
	
}

@media screen and (min-width: 1400px) {	
.int_slide, .slide_home_item	{     
	width:100%;
	height:700px;
}
.int_slide {margin-top:145px;}	

.slide_home_title { font-size: 6em; line-height: 1em;}
.slide_home_desc  { font-size:4em; line-height: 1em;}		
	
}

/******************************* HOME *****************************/

.space_up_down {padding:30px 0;}
@media screen and (min-width: 600px) {
.space_up_down {padding:90px 0;}	
}


a.grid_3 { width:100%; float:left; margin:0 2% 20px 0; position:relative; min-height: 340px;}

.img_grid_3 {
	float:left;
	width:90%;
	padding: 0 0 60% 0;
}

@media screen and (min-width: 600px) {
.list > a.grid_3 { width:32%; float:left; margin:0 2% 20px 0; position:relative;}
.list > a.grid_3:nth-child(3n) { width:32%; float:left; margin:0 0 20px 0;}

	
.img_grid_3 {
	float:left;
	width:80%;
	padding: 0 0 55% 0;
}	
}



a.grid_3:hover > .img_grid_3 { opacity:0.7;}


.txt_grid_3 {
    position: absolute;
    background: #222;
    padding: 20px;
    /*box-sizing: border-box;*/
    color: #FFF;
    width: 80%;
    right: 0;
    bottom: 0%;
	border-top:10px solid #FFF;
	border-left:10px solid #FFF;
}

@media screen and (min-width: 600px) {
	.txt_grid_3 { min-height:130px; }	
}

.txt_grid_3.forz-color {border-top:10px solid #EEE;
	border-left:10px solid #EEE;}


.txt_grid_3 > h2 { color:#FFF;}
.txt_grid_3 > p { color:#FFF; line-height: 1.1em;}


a.grid_3:hover > .txt_grid_3 {
border-top:0;
	border-left:0;
	-ms-transform: translate(-10px,-10px); /* IE 9 */
    -webkit-transform: translate(-10px,-10px); /* Safari */
    transform: translate(-10px,-10px); /* Standard syntax */
}


/*********/

.bgClip {
    background: url(/template/1011/img/bg_text.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    font-size: 50px;
    font-weight: 900;
    text-transform: uppercase;
    text-align: left;
    line-height: 1em;
    font-family: 'Roboto';
    /*color: transparent;
    -webkit-font-smoothing: antialiased;
    -webkit-background-clip: text;
    -moz-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;*/
    margin: 0;
	-webkit-font-smoothing: antialiased;
	background-attachment: inherit;
	
  	-webkit-text-fill-color: transparent;
  	-webkit-background-clip: text;
	 background-position: center;
    /* Set the background image to no repeat */
    background-repeat: no-repeat;
    /* Scale the background image to be as large as possible */
    background-size: cover;
	
}

.bgClip > span { width:100%; display:block;}

@media screen and (min-width: 400px) {
.bgClip {
font-size: 60px;
}
}
@media screen and (min-width: 500px) {
.bgClip {
font-size: 80px;
}
}

@media screen and (min-width: 600px) {
.bgClip {
font-size: 90px;
}
}

@media screen and (min-width: 640px) {
.bgClip {
font-size: 100px;
}
}

@media screen and (min-width: 900px) {
.bgClip {
font-size: 140px;
}
}

@media screen and (min-width: 1024px) {
.bgClip {
font-size: 160px;
}
}

@media screen and (min-width: 1240px) {
.bgClip {
font-size: 180px;
}
}

@media screen and (min-width: 1280px) {
.bgClip {
font-size: 190px;
}
}


@media screen and (min-width: 1400px) {
.bgClip {
font-size: 200px;
}
}


.text_abs { 
	color:#000; 
	font-family:Roboto; 
	position:absolute; 
	font-weight:900; 
	font-size:1.2em; 
	line-height: 1em;
	right:2%;
	text-align:right;
	top:30%;
}

@media screen and (min-width: 600px) {	
.text_abs { 
	font-size:2em; 
	line-height: 1.2em;
	top:20%;
	right:30px;
}	
}

@media screen and (min-width: 900px) {	
.text_abs { 
	font-size:2.5em; 
	line-height: 1.2em;
	top:40%;
	right:0%;
}	
}


/*** news home ****/

.ellipsis {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.block-ellipsis {
      display: block;
    display: -webkit-box;
    max-width: 100%;
    height: 69px;
    margin: 0 auto;
    line-height: 1em;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.block-ellipsis_2line {
      display: block;
    display: -webkit-box;
    max-width: 100%;
    height: 40px;
    margin: 0 auto 8px auto;
    line-height: 1em;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*********/

a.action { color:#222; float:right; font-weight:900; font-family:Roboto; padding: 10px 0 0 0;}
a.action:hover { color:#005d34;}
a.action i { padding:0 0 0 20px;}
a.action:hover i { padding:0 0 0 10px;}


/****************** sponsor **************/
.slide_home_due     {padding:0 0 30px 0;}
.slide_home_due > a { width:100%; cursor: pointer; padding: 10px 0}

.slide_home_due .slick-dots { bottom:-10px;}
@media screen and (min-width: 600px) {	
.slide_home_due .slick-dots { bottom:-40px;}
}
.slide_home_due .slick-dots li.slick-active button:before {color:#96be45;}
.slide_home_due .slick-dots li button {background:#96be45;}
/***********************************************************************************/
/*********************************** FOOTER ****************************************/
/***********************************************************************************/



.left_f  > img { margin:0 0 15px 0;}


.int_right {margin:20px 0 0 0;}
.int_right, .int_right > h2 { float:left; color: #FFF!important;}

.cont_newsletter {
width: 100%;
    border: 3px solid #FFF;
    height: 44px;
    box-sizing: border-box;
    margin: 15px 0 0 0;

}

.info_form {
    display: block;
    font-size: 0.8em;
	line-height: 1em;
}

.input_nl {border:0; padding:0 10px; width:200px; font-size:0.9em; line-height: 38px; color:#FFF; background: #222; text-transform: lowercase;}

.cont_newsletter > a { float:right; color:#FFF; padding: 0 10px 0 0;     line-height: 39px; }
.cont_newsletter > a:hover { color:#ffdd00;}



.left_f { 
    width: 100%;
    float: left;
    color: #FFF;
    font-size: 0.8em;
    line-height: 1.4em;
	 box-sizing: border-box;
}	
.right_f { width:100%; float:left; color:#FFF; box-sizing: border-box;}

@media screen and (min-width: 600px) {
	.int_right {margin:0;}
	.int_right, .int_right > h2 { float:right; color: #FFF!important; max-width: 310px;}
.left_f { 
    width: 50%;
    float: left;
    color: #FFF;
    font-size: 0.8em;
    line-height: 1.4em;
	 padding:0 10px 0 0px; box-sizing: border-box;
}	
.right_f { width:50%; float:left; color:#FFF; padding:0 0 0 10px; box-sizing: border-box;}
	
.input_nl {border:0; padding:0 10px; width:250px; line-height: 38px; color:#FFF; background: #222; text-transform: lowercase;}

.cont_newsletter > a { float:right; color:#FFF; padding: 0 10px 0 0 }
.cont_newsletter > a:hover { color:#ffdd00;}

}

.footer_bot {    
	width: 100%;
    line-height: 1em;
    font-size: 0.8em;
    padding: 5px 0 15px 0;
}

a.ll { float:left; color:#222;}
a.ll:hover { color:#666;}
.pipe {float:left; padding:0 5px; color:#222;}

a.rl { float:right; color:#222;}
a.rl:hover { color:#666;}



/**************************************************************************************/
/***********************************  CHI SIAMO  **************************************/
/**************************************************************************************/


.testata {
  width: 100%;
  height: auto;
  background:#000;
  margin-top:100px;	
  background-position:center;
  background-size: cover;
  background-repeat: no-repeat;
  position:relative;	
}

.filter {
	top:0;
	left:0;
	position:absolute;
	width: 100%;
	height:100%;
	background: rgba(0,0,0,0.3);
}

.corpo { margin:20px 0;}

@media screen and (min-width: 600px) {
.testata {margin-top:130px;}	
.corpo { margin:30px 0;}	
}

@media screen and (min-width: 960px) {	
.testata  {margin-top:140px;}
.corpo { margin:40px 0;}	
}

@media screen and (min-width: 1280px) {	
.testata  {margin-top:140px;}
.corpo { margin:60px 0;}	
}

@media screen and (min-width: 1400px) {	
.testata  {margin-top:145px;}
.corpo { margin:80px 0;}	
}

.testata > .int > h1 {
margin: 10% auto;
}

.testata > .int > .space-testata   { 
	color: #FFF;
    text-transform: uppercase;
    font-family: Roboto;
    font-weight: 900;
    display: inline-block;
    width: auto;
    margin: 6% 0;
    font-size: 2em;
    padding: 0 0 6px 0;
} 

.testata > .int > .space-testata > h1  { 
	color: #FFF;
    border-bottom: 3px solid #FFDD00;
    text-transform: uppercase;
    font-family: Roboto;
    font-weight: 900;
    display: inline-block;
    width: auto;
    font-size: 0.8em;
    padding: 0 0 6px 0;
	margin:0 0 10px 0;
} 

.path {
    font-size: 0.5em;
}

.path > a { 
color:#FFF;
display: inline-block;	
}

.path > a:hover { color:#ffdd00;}

@media screen and (min-width: 600px) {
.testata > .int > .space-testata { font-size: 2.2em; }
.testata > .int > .space-testata > h1 	{ font-size: 0.9em; margin:0 0 10px 0; }
.path { font-size: 0.5em; }	
}

@media screen and (min-width: 960px) {	
.testata > .int > .space-testata { font-size: 2.4em; }
.testata > .int > .space-testata > h1 	{ font-size: 1em; margin:0 0 14px 0;}
.path { font-size: 0.6em; }		
}

@media screen and (min-width: 1280px) {	
.testata > .int > .space-testata { font-size: 2.8em; }
.testata > .int > .space-testata > h1 	{ font-size: 1.1em; margin:0 0 18px 0; }
.path { font-size: 0.6em; }	
}

@media screen and (min-width: 1400px) {	
.testata > .int > .space-testata { font-size: 3em; }
.testata > .int > .space-testata > h1 	{ font-size: 1.2em; margin:0 0 20px 0; }
.path { font-size: 0.6em; }	
}


/****** GALLERY *****/




.thumb { width:50%; float:left; padding:0 0 50% 0; box-shadow: inset 0px 0px 0px 0px  #fff;}

.thumb:hover						{ 
	box-shadow: inset 0px 0px 0px 10px  #fff;
 }

@media screen and (min-width: 600px) {
.thumb { width:33.33333%; float:left; padding:0 0 33.3333% 0;}	
}
@media screen and (min-width: 960px) {
.thumb { width:25%; float:left; padding:0 0 25% 0;}		
}



/*************************************************************************************/
/*********************************** SPONSOR *****************************************/
/*************************************************************************************/

.g-grid {
    display: inline-block;
   width:100%;
}

a.g-grid-cell {
    background-color: #FFF;
    border: 4px solid #000;
    box-shadow: 0px 0px 0 0 #FFF;
    padding: 20px;
    width: 100%;
    box-sizing: border-box;
    display: inline-block;
    margin: 0 0 20px 0;
}

a.g-grid-cell:hover {
-webkit-animation: ANIMATION 1s forwards; /* Safari 4+ */
  -moz-animation:    ANIMATION 1s forwards; /* Fx 5+ */
  -o-animation:      ANIMATION 1s forwards; /* Opera 12+ */
  animation:         ANIMATION 1s forwards; /* IE 10+, Fx 29+ */
}


.img_sponsor { 
	width:100%; 
	float:left; 
	background-size: contain; 
	background-repeat: no-repeat; 
	background-position: center;
	padding:0 0 40% 0;
	
}

a.g-grid-cell > .title_sponsor { 
	padding:20px 0 10px 0;
	font-weight:900;
	font-family:Roboto;
	color:#000;
	text-transform: uppercase;
	width:100%;
	display:inline-block;
}

a.g-grid-cell:hover > .title_sponsor { 
	color:#000;
}

a.g-grid-cell > .txt_sponsor, a.g-grid-cell:hover > .txt_sponsor {color:#666; display: inline-block; width:100%;}

.txt_sponsor > p {
    font-size: 0.9em;
    line-height: 1.4em;
}


@media screen and (min-width: 600px) {
	.g-grid {
    display: grid;
    /*
	grid-template-columns: calc(33.333% - 1rem * 2/3) calc(33.333% - 1rem * 2/3) calc(33.333% - 1rem * 2/3);
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
	*/
	grid-template-columns:calc(49% - 2rem * 1/2) calc(49% - 2rem * 1/2) ;
    grid-column-gap: 3rem;
	grid-row-gap: 3rem;
}
}

@media screen and (min-width: 960px) {
.g-grid {
    display: grid;
    /*
	grid-template-columns: calc(33.333% - 1rem * 2/3) calc(33.333% - 1rem * 2/3) calc(33.333% - 1rem * 2/3);
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
	*/
	grid-template-columns:calc(31.3333% - 2rem * 1/3) calc(31.3333% - 2rem * 1/3) calc(31.3333% - 1rem * 1/3);
    grid-column-gap: 3rem;
	grid-row-gap: 3rem;
}	
}


a.allegato {    
	width: auto;
    float: left;
    font-size: 1em;
    margin: 10px 25px 10px 0;
    color: #000;
    line-height: 1.5em;
    padding: 10px 15px;
    border: 4px solid #000;
    background: #FFF;
	font-weight:bold;
	font-family:Roboto;
}

a.allegato:hover { color:#000;-webkit-animation: ANIMATION 1s forwards; /* Safari 4+ */
  -moz-animation:    ANIMATION 1s forwards; /* Fx 5+ */
  -o-animation:      ANIMATION 1s forwards; /* Opera 12+ */
  animation:         ANIMATION 1s forwards; /* IE 10+, Fx 29+ */}

a.allegato > i { 
	float: left;
    margin: 0 15px 0 0;
    font-size: 1.5em;
}
a.allegato > span { 
	float: left;
    font-size: 1em;
	font-family:Roboto;
	font-weight:900;
}

h2.info_agenzia { width:100%; display:inline-block; color:#005d34;}

/**************************************************************************************/
/***************************************** VIAGGI *************************************/
/**************************************************************************************/

.txt_grid_3.viaggi { background:#005d34 !important;}

/**************************************************************************************/
/**************************************** CIRCOLI *************************************/
/**************************************************************************************/

.txt_grid_3.circoli { background:#96be45 !important;}
.txt_grid_3.circoli > h2, .txt_grid_3.circoli > p {color:#FFF !important;}


/**************************************************************************************/
/*************************************** CONTATTI *************************************/
/**************************************************************************************/


.form 		{ width:100%; float:left; margin:0 0 20px 0;}
#map-canvas  { width:100%; height: 300px; float:left;}

.left_form, .right_form, .cont_area { width:100%;float:left; margin:0 0 10px 0; position:relative;}

.errfname, .erremail, .errmessage, .errCaptcha {
    position: absolute;
    font-size: 10px;
    line-height: 10px;
    bottom: -3px;
	color:red !important;
}
.riga_form {
    width: 100%;
    float: left;
    position: relative;
}
.campo_form { 
    box-sizing: border-box;
    line-height: 36px;
    border: 4px solid #222;
    padding: 0 10px;
    background: #FFF;
    box-shadow: none !important;
    color: #444;
    border-radius: 0;
    margin: 0 0 10px 0;
    float: left;
    width: 100%;
    font-size: 0.9em;
}

.textarea_form { 
    box-sizing: border-box;
    line-height: 1.2em;
    border: 4px solid #222;
    padding: 10px;
    background: #FFF;
    box-shadow: none !important;
    color: #444;
    border-radius: 0;
    margin: 0 0 10px 0;
    float: left;
    width: 100%;
	height: 180px;
    font-size: 0.9em;
}

.campo_form.error, .textarea_form.error {
    
	border:4px solid #d90000;
	
}

label.error {display:none !important;}

.info_form2 { 
	font-size: 0.8em;
    display: inline-block;
    width: 100%;
    line-height: 1.2em;
    margin: 10px 0 5px 0;
}

@media screen and (min-width: 600px) {
.form 		{ width:48%; padding:0 2% 0 0;}
#map-canvas  { width:48%; padding:0 0 0 2%; height:590px;}	
}

@media screen and (min-width: 960px) {
#map-canvas  { height:455px;}	
.left_form  { width:49%;margin:0 1% 10px 0;}	
.right_form { width:49%;margin:0 0 10px 1%;}	
}




.invia {    
	width: 100%;
    float: left;
    font-size: 1em;
    margin:0;
    color: #fff;
    line-height: 1.5em;
    padding: 10px 20px;
    border: 4px solid #000;
    background: #000;
	box-sizing:border-box;
}

.invia:hover { 
	color:#000;
	background: #fff;
	-webkit-animation: ANIMATION 1s forwards; /* Safari 4+ */
  	-moz-animation:    ANIMATION 1s forwards; /* Fx 5+ */
  	-o-animation:      ANIMATION 1s forwards; /* Opera 12+ */
  	animation:         ANIMATION 1s forwards; /* IE 10+, Fx 29+ */
}



/**************************************************************************************/
/************************************ ABBONAMENTI *************************************/
/**************************************************************************************/

.abbonamento {
	width:100%;
	display:inline-block;
	margin:30px 0 0 0;
	border-left:6px solid #9ecf3b;
	background:#FFF;
	box-sizing:border-box;
	padding:20px;
}

.abbonamento:hover {
	background:#222;
	color:#FFF;
}

.abbonamento:hover > .left_abbonamento > h2,
.abbonamento:hover > .left_abbonamento > .price
{ color:#FFF;}

.left_abbonamento {
	width:100%;
	float:left;
}

.right_abbonamento {
	width:100%;
	float:left;
}

@media screen and (min-width: 600px) {
	.left_abbonamento {
		width:calc(100% - 480px);
		float:left;
	}

	.right_abbonamento {
		width:480px;
		float:right;
	}
}

.right_abbonamento > a {
	border:4px solid #9ecf3b;
	color:#9ecf3b;
	padding:15px;
	text-transform: uppercase;
	float:left;
	line-height: 30px;
	margin:10px 0 10px 15px;
	font-family:Roboto;
	font-weight:900;
}

.right_abbonamento > a:hover { color:#222; background:#9ecf3b;}

.right_abbonamento > a > span { float:left;line-height: 30px;} 
.right_abbonamento > a > i { float:right; margin:0 0 0 10px; line-height: 30px;}
.right_abbonamento > a:hover > i { margin:0 0 0 20px;}
.price {    font-size: 1.5em; line-height: 1.2em; font-weight:900; font-family:Roboto; color:#000;}



/**************************************************************************************/
/*********************************** CIRCUITI & GARE **********************************/
/**************************************************************************************/

a.view {
	    width: auto;
    float: left;
    font-size: 1em;
    margin: 10px 20px 10px 0;
    color: #000;
    line-height: 1.5em;
    padding: 10px 15px;
    border: 4px solid #000;
    background: #FFF;
	font-family:Roboto;
	font-weight:900;
}

a.view:hover { color:#000;-webkit-animation: ANIMATION 1s forwards; /* Safari 4+ */
  -moz-animation:    ANIMATION 1s forwards; /* Fx 5+ */
  -o-animation:      ANIMATION 1s forwards; /* Opera 12+ */
  animation:         ANIMATION 1s forwards; /* IE 10+, Fx 29+ */
}

@media screen and (min-width: 600px) {
	a.view { float:right;  margin: 10px 0px 10px 0;}
}

a.view > i {
    float: right;
    margin: 0 10px 0 10px;
    font-size: 1.5em;
}

a.view:hover i {margin: 0 5px 0 15px;}


/****/

.blocco-gare { display: inline-block;
    width: 100%;
    margin: 15px 0;
    line-height: 22px;}

.gara-singola { width:100%; float:left; padding:0 0 20px 0;}

@media screen and (min-width: 600px) {
.gara-singola:nth-child(even) {padding:0 20px 20px 0; width:50%; box-sizing:border-box;}
.gara-singola:nth-child(odd) {padding:0 0px 20px 20px; width:50%; box-sizing:border-box;}
}

.int_gara  { width:100%; display:inline-block; position:relative;}

.data-gara { 
	color:#FFF;
	background:#009426;
	padding:10px;
	width:72px;
	height:72px;
	font-family: Roboto;
	font-weight:900;
	font-size:0.8em;
	 line-height: 1em;
	float:left;
}
.data-gara span { 
	font-size: 1.6em;
    line-height: 1em;
    margin: 0 0 10px 0;
    display: inline-block;
}

.citta-gara { 
	float: left;
    margin: 0 0 0 10px;
    font-weight: 900;
    font-family: Roboto;
    color: #009426;
    font-size: 1.1em;
    line-height: 1.2em;
	width:calc(100% - 110px);
}

.desc-gara  { 
	padding: 20px;
    background: #EFEFEF;
    position: relative;
    top: -24px;
    left: 50px;
    width: calc(100% - 90px);
    z-index: 2;
    float: left;
	line-height: 1.2em;
	font-size:0.9em;
}

@media screen and (min-width: 600px) {
	.citta-gara { 
	float: left;
    margin: 0 0 0 10px;
    font-weight: 900;
    font-family: Roboto;
    color: #009426;
    font-size: 1.1em;
    line-height: 2em;
}
	
.desc-gara  { 
	padding: 20px;
    background: #EFEFEF;
    position: relative;
    top: -50px;
    left: 50px;
    width: calc(100% - 90px);
    z-index: 2;
    float: left;
	line-height: 1.2em;
	font-size:0.9em;
}	
	
}


.block-ellipsis_gare {
      display: block;
    display: -webkit-box;
    max-width: 100%;
    height: 69px;
    margin: 0 auto;
    line-height: 1.2em;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

a.foto-gare { 
	float: left;
    position: absolute;
    top: 106px;
    left: 5px;
    z-index: 2;
    font-size: 1.8em;
	color:#000;
	padding:5px;
	background:#FFF;
}

a.foto-gare:hover { color:#009426;}

/*********************************************************************************/

.gara-home {width:100%; float:left;}
.citta-gara-home {
font-family: Roboto;
    color: #009426;
    font-size: 1em;
    line-height: 1.4em;
    width: 100%;
    float: left;
}

@media screen and (min-width: 980px) {
.gara-home {width:48%; margin:0 2% 0 0;}
}


/******************************* REGISTRAZIONE *****************************/

.blocco_3  { width:100%; float:left;}
.emsmall {    
	font-size: 0.7em;
    line-height: 12px;
    display: inline-block;
    width: 100%;
    margin: 0 0 3px 0;
	font-weight:normal;
}
.etichetta {
    line-height: 14px;
    display: inline-block;
	font-weight:bold;
	line-height: 20px;
}
@media screen and (min-width: 980px) {
.blocco_3  { width:32.3333%; float:left; margin:0 1% 0 0;}
.blocco_3:last-child { width:32.3333%; float:left; margin:0 0 0 0;}
}
/******************************* PLACEHOLDER NEWSLETTER ******************************/
 

::-webkit-input-placeholder {
   color: #666;
}

:-moz-placeholder { /* Firefox 18- */
   color: #666;  
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #666;  
}

:-ms-input-placeholder {  
   color: #666;  
}

::-moz-selection { background: #222; color:#ffdd00; }
::selection { background: #222; color:#ffdd00; }

:focus {outline:none;}
/*************** ANIMATION ************/
 .os-animation{
	opacity: 0;
}  
.os-animation.animated{
	opacity: 1;
} 

/***********************************/



div.divselect > select {
    width: 100%;
    padding: 5px 5px 5px 14px;
    font-size: 14px;
    line-height: 25px;
    box-sizing: border-box;
    overflow: hidden;
    border: 4px solid #222;
    height: 45px;
    -webkit-appearance: none;
    margin: 0 0 10px 0;
}



select {
   width: 100%;
   height: 34px;
   box-sizing: border-box;	
   overflow: hidden;
   	background-color:#FFF;
   background-image: url(/template/1011/img/arrow-down.png);
	background-repeat: no-repeat; 
	background-position: center right;
	background-size: 24px;
   border: 1px solid #DDD;
   }

/*******************************/

/*INPUT / CHECK*/
input[type='checkbox'], /* Nasconde checkbox e radio button */
input[type='radio'] 				{
									 position: absolute;
									 position: relative;
									 clip: rect(1px, 1px, 1px, 1px);
									}

input[type='checkbox'] + label, 
input[type='radio'] + label 		{
									cursor: pointer; /* Imposta il cursore per le label */
									padding: 0 0 0 5px; /* Padding a sinistra per rendere il controllo cliccabile */
									margin: 0 0 0 5px;
									position: relative;
									}

input[type='checkbox'] + label:before 
									{ /* Contenuto generato per le label associate ai checkbox */
									content: ""; 
									width: 15px; 
									height: 15px;
									border: solid 4px #222;
									background: #fff;
									cursor: pointer;
									position: absolute;
									top:0px;
									left: -22px;
									/*-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.20), inset 0px -15px 10px -12px rgba(0,0,0,0.20); 
									-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.20), inset 0px -15px 10px -12px rgba(0,0,0,0.20);   */								
									box-shadow: 0 ; /* CSS3 */
									}

input[type='checkbox']:checked + label:after 
									{ /* Segno di spunta dei checkbox e suo colore */
 									content: "\2714";
									display: block;
									position: absolute;
									top: -10px;
									left: -18px;
									font-weight: bold;
									margin: 0 auto;
									font-size: 25px;
									color: #005d34;
									}

input[type='radio'] + label:before { /* Contenuto generato per le label associate ai radio button */
									content: "";
									width: 14px; 
									height: 14px; 
									border: solid 1px #ccc;
									/*-webkit-border-radius: 7.5px; */
									border-radius: 7.5px;
									background: #FFFFFF;
									cursor: pointer;
									position: absolute;
									top: -1px;
									left: -22px;
									/* -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.20), inset 0px -15px 10px -12px rgba(0,0,0,0.20); 
									-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.20), inset 0px -15px 10px -12px rgba(0,0,0,0.20);  */								
									box-shadow: 0 1px 2px rgba(0,0,0,0.20), inset 0px -15px 10px -12px rgba(0,0,0,0.20); /* CSS3 */
									
									}

input[type='radio']:checked + label:after { /* Segno di spunta dei radio button e suo colore */
									content: "";
									display: block;
									width: 8px; 
									height: 8px;
									/*-webkit-border-radius: 4px;*/ 
									border-radius: 4px; 
									position: absolute;
									top: 3px;
									left: -18px;
									margin: 0 auto;
									background-color: #111111;
									}	

.riga {width:100%; display:inline-block;}

/**RECUPERA**/
.recupera_campo 
{    
box-sizing: border-box;
    line-height: 36px;
    border: 4px solid #222;
    padding: 0 10px;
    background: #FFF;
    box-shadow: none !important;
    color: #444;
    border-radius: 0;
    margin: 0 0 10px 0;
    float: left;
    width: 240px;
    font-size: 0.8em;
}

a.puls_inv {
	line-height: 36px;
    border-right: 4px solid #222;
	border-bottom: 4px solid #222;
	border-top: 4px solid #222;
	border-left: 0;
	padding: 0 10px;
	float: left;
	background: #222;
	color:#FFF;
	font-family:Roboto;
	font-weight:bold;
}

a.puls_inv:hover { background:#FFF; color:#222;}



/**********/

a.l_nl {color:#FFF;}
a.l_nl:hover { color:#ffdd00;}

label.label2:before {
    border: 4px solid #FFF !important;
	background:#222 !important;
}

/************************* POPUP ********************/

.pub_contenitore {
	position: fixed;
	top:0;
	left:0;
	background: rgba(0,0,0,0.75);
	width: 100%;
	height: 100%;
	z-index: 120;
}

.cont-popup {
		position: fixed;
		z-index: 125;
		background: #FFF;
		padding:15px;
		width:80%;
		margin:10%;
		box-sizing: border-box;
	}

#pub-chiudi { top: -8px;
    right: -35px;
	font-size:1.2em; position: absolute; color:#fff; height:30px; width: 30px; line-height: 30px; text-align: center;}

#pub-chiudi:hover {color:#ed1c24;}

.int-pop {background:#FFF; width:100%; display:inline-block;}


	label > span {
    font-size: 12px;
    line-height: 12px;
    position: relative;
    width: 100%;
    padding: 0 0 0 10px;
    position: relative;
}

@media screen and (min-width: 600px) {
	.cont-popup {
		position: fixed;
		z-index: 125;
		background: #FFF;
		padding:15px 15px 15px 15px;
		width:700px;
		margin:0 auto;
		left:50%;
		margin-left:-350px;
		top:150px;
	}
	
	label > span {
    font-size: 12px;
    line-height: 12px;
    position: relative;
    width: 430px;
    padding: 0 0 0 17px;
    position: absolute;
}
}

#pub_form > input#pub_email {
	  width: calc(100% - 100px);
		line-height: 40px; 
	background: #EFEFEF;
	box-sizing: border-box;
	padding:0 10px;
	float:left;
	border:0;
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
}

.send-popup {
	border:0;
	background: #000;
	color:#FFF;
	text-transform: uppercase;
	width:100px;
	float:left;
	text-align: center;
	line-height: 40px;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}

.send-popup:hover {background:#666;}

.cont-label {position:relative; width:100%; display:inline-block; margin-top:10px;}
