@import url('https://fonts.googleapis.com/css?family=Rubik:300,400,400i,700');
@import url(template.css);
@import url(costumize.css);
@import url(slick.css);
@import url(touchTouch.css);

/* TABLE */
.mask_table{width: 100%; overflow: hidden;}
table  {margin:0; padding: 0;}
table td {padding: 10px 20px; margin:0;}
table tr:nth-child(even) td {background: #f2f2f2;}
table thead td{background: #0160a1 !important; color: #fff; font-weight: bold;}

/* SLIDER */
.slider{position:absolute; top:0; left:0; width:100%; height:calc(100% - 200px);}
.slider .slick-list{height:100%;}
.slider .slick-list .slick-track{position:relative; height:100%;}
.slider .slick-list .slick-track .slick-slide{position:relative; height:100%;}
.slider .slide{position:relative; width:100%; height:100%; background-position:center center; background-repeat:no-repeat; background-size:cover;}
.slider .slide .inner{position:absolute; bottom:100px; left:0; width:100%; font-weight:500; text-shadow:2px 2px #000; text-align:center;}
.slider .slide .inner .btn{text-shadow:0 0 transparent; margin-top:20px;}

.slick-dots{position:absolute; bottom:20px; width:100%; margin:0; padding:0; text-align:center; list-style:none;}
.slick-dots li{display:inline-block; width:16px; height:16px; margin:0 2px; border-radius:4px; background:#fff; cursor:pointer;}
.slick-dots li.slick-active{background:#0160a1;}

/* HEADER */
.logo{position:absolute; top:0px; left:30px; z-index:99; width:210px; height:104px; background:#fff;}
.logo img{display:block; width:180px; height:auto; margin:8px 0 0 15px;}

.bg_menu{display:none;}
header{position:relative; /*top:500px; left:0;*/ z-index:999; width:100%; height:59px;}
.home header{position:absolute; top:calc(100% - 200px);}
header.header_fix{position:fixed; top:0;}

header .open_menu{display:none;}
header nav {padding-left: 30px;}
header nav .button{display:inline-block; height:59px; margin-left:-4px; cursor:pointer; text-decoration:none; text-transform:uppercase; transition:all .3s;}
header nav .button > span, header nav .button > a{position:relative; display:block; height:59px; line-height:59px; padding:0 25px; text-decoration:none;}
header nav .button > span:before, header nav .button > a:before{content:" "; position:absolute; top:0; left:50%; width:0; height:3px; background:#0160a1; transition:all .5s;}
header nav .button > span:hover:before, header nav .button.active > span:before, header nav .button > a:hover:before, header nav .button.active > a:before{width:100%; left:0;}
header nav .button.active{color:#0160a1;}

header nav .button .submenu{position:absolute; top:calc(100% + 1px); left:0; width:100%; height:0; background:#fff; opacity:0; overflow:hidden; transition:all .3s;}
header nav .button.active .submenu{height:59px; opacity:1;}
header nav .button .submenu .sub_button{display:inline-block; height:59px; margin-left:-4px; cursor:pointer; text-decoration:none; text-transform:uppercase; transition:all .3s;}
header nav .button .submenu .sub_button > span{position:relative; display:block; height:59px; line-height:59px; padding:0 20px;}
header nav .button .submenu .sub_button > span:before{content:" "; position:absolute; top:0; left:50%; width:0; height:3px; background:#0160a1; transition:all .5s;}
header nav .button .submenu .sub_button > span:hover:before, header nav .button.active > span:before{width:100%; left:0;}
header nav .button .submenu .sub_button.active{background:#fff; color:#0160a1;}

header .social{position:absolute; top:0; right:200px;}
header .social > a{display:inline-block; width:59px; height:59px; text-decoration:none; background-position:center center; background-repeat:no-repeat; background-size:40px 40px;}
header .social > a.fb{background-image:url(../images/social_fb.png);}
header .social > a.ig{background-image:url(../images/social_ig.png);}

header .login{position:absolute; top:0; right:0px; height:59px;}
header .login > a{display:block; width:calc(100% - 40px); padding:0 20px; text-transform:uppercase; text-decoration:none;}
header .login > a span{display:block; height:59px; line-height:59px; padding-left:15px; background-position:left center; background-repeat:no-repeat; background-size:auto 20px;}

/* HOME */
.box_ant{position:relative; display:block; /*height:428px;*/ height:auto; overflow:hidden; text-decoration:none; text-align:center;}
.box_ant .mask{position:relative; top:0; left:0; transition:top .4s;}
/*.box_ant:hover .mask{top:-72px;}*/
.box_ant .mask .inner{padding:25px;}
.box_ant .mask .inner .icon{width:100px; height:100px; background-size:100% 100%;}
.box_ant .mask .inner .txt22{padding:20px 0; margin:20px 0; border-top:1px solid #ccc; border-bottom:1px solid #ccc;}
.box_ant .mask .inner .cont_txt{height:144px;}
.box_ant .mask .btn{padding:25px 0;}

/* COVER */
.cover{width:100%; height:500px; background-position:center center; background-size:cover;}

.cover_int{background-position:center center; background-size:cover;}
.cover_int .shadow{width:100%; height:100%; padding:150px 0; background:rgba(0,0,0,.5);}
.cover_int .shadow .griglia{position:relative;}
.cover_int .shadow .griglia .txt_cover{width:50%;}
.cover_int .shadow .griglia .txt_cover .txt48{margin-bottom:30px;}
.cover_int .shadow .griglia .btn{position:absolute; right:0; bottom:0;}

.cover.small{position:relative; height:250px;}
.cover.small h1, .cover.small h2, .cover.small p{position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; text-align:center;}

/* FOOTER */
footer{margin-top:50px;}

footer  .partner{text-align:center; margin-bottom:50px;}
footer  .partner img{margin: 0 50px; vertical-align: middle;}
footer  .partner img.logo_areu{width:150px;}
footer  .partner img.logo_fvs{width:150px;}
footer  .partner img.logo_emergenza{width:250px;}

.cover_int + footer{margin-top:0;}

/* GALLERY */
.gallery {display:flex; flex-wrap: wrap; justify-content: center;}
.gallery a {position:relative; display:block; width:calc((100% - 90px) / 5); overflow: hidden; margin:20px 0 0 20px; border:1px solid #0160a1; border-radius:6px;}
.gallery a:nth-child(5n+1){margin-left: 0;}
.gallery a img {position:relative; top:50%; left:50%; transform: translate(-50%, -50%) scale(1); display: block; width:100%; height: auto; transition: transform .8s;}
.gallery a:hover img {transform: translate(-50%, -50%) scale(1.1);}

/* LOGIN */
.box-login {width: calc(100% - 60px); max-width: 400px; margin: 40px auto 0 auto; padding:30px; background: #efefef;}
.box-login input, .box-login button {padding: 15px;}

@media only screen and (max-width: 1440px) {
	header nav .button > span, header nav .button > a{padding:0 15px;}
}
@media only screen and (max-width: 1279px) {
	/* SLIDER */
	.slider{height:500px;}

	/* HEADER */
	.logo{position:fixed; left:0; z-index: 9999; width:200px; height:100px;}
	.logo img{width:170px;}

	header{position:fixed; top:0; left:0;}
	.home header{position:fixed; top:0;}

	.bg_menu{position:fixed; top:0; left:0; z-index:998; display:block; width:100%; height:0; opacity:0; background:rgba(0,0,0,.8); transition:opacity .5s;}
	.bg_menu.active{height:100%; opacity:1;}

	header{position:fixed; top:0;}
	.home header{top:0;}

	header nav {padding-left: 0;}

	header .open_menu{position:absolute; top:0; right:0; display:block; width:59px; height:59px; background:#fff url(../images/icon_menu_blue.svg) center center no-repeat; background-size:20px 20px; cursor:pointer;}
	header .open_menu.active{background:#0160a1 url(../images/icon_menu_white.svg) center center no-repeat; background-size:20px 20px;}
	header nav{position:fixed; top:60px; right:-260px; z-index:99; width:260px; height:calc(100% - 60px); overflow:hidden; text-align-last:left; background:#f0f0f0; transition:right .5s;}
	header nav.active{right:0;}
	header nav .button{display:block; height:43px; margin-left:0;}
	header nav .button > span, header nav .button > a{height:auto; font-size:14px; line-height:14px; padding:15px; border-bottom:1px solid #0160a1;}
	header nav .button > span:before, header nav .button > a:before{display:none;}
	header nav .button.active{height:auto; background:#0160a1; color:#fff;}

	header nav .button .submenu{position:static; transition:opacity .3s;}
	header nav .button.active .submenu{height:auto; opacity:1;}
	header nav .button .submenu .sub_button{display:block; height:auto; margin-left:0; border-top:1px solid #ccc; transition:opacity .3s;}
	header nav .button .submenu .sub_button:first-child{border-top:0;}
	header nav .button .submenu .sub_button > span{height:auto; font-size:14px; line-height:14px; padding:12px 15px;}
	header nav .button .submenu .sub_button > span:before{display:none;}

	header .social{position:static; width:100%; height:auto; margin-top:20px; display:flex; justify-content:center;}
	header .social > a{width:45px; height:45px; margin:0 10px;}

	header .login{right:60px;}
	header .login > a{width:59px; padding:0;}
	header .login > a span{display:none; padding-left:0; background-position:center center;}
	header .login > a span.icon_user{display:block; width:59px; height:59px;}

	/* COVER */
	.cover{height:400px;}
}
@media only screen and (max-width: 996px) {


	/* SLIDER */
	.slider{position:relative; height:400px; margin-top:60px;}
	.slider .slide .inner{bottom:70px;}

	/* FOOTER */
	footer  .partner{margin-bottom:40px;}
	footer  .partner img{margin: 0 25px;}

	/* HOME */
	.box_ant{height:auto;}
	.box_ant:hover .mask{top:0;}
	.box_ant .mask .inner{padding:15px;}
	.box_ant .mask .inner .icon{width:80px; height:80px;}
	.box_ant .mask .inner .txt22{font-size:16px; line-height:20px; padding:15px 0; margin:15px 0;}
	.box_ant .mask .inner .cont_txt{height:auto;}
	.box_ant .mask .btn{padding:20px 0; font-size:16px;}

	/* COVER */
	.cover{height:300px; margin-top:60px;}

	.cover_int .shadow{padding:100px 0;}
	.cover_int .shadow .griglia .txt_cover{width:100%;}
	.cover_int .shadow .griglia .txt_cover .txt48{margin-bottom:30px;}
	.cover_int .shadow .griglia .btn{position:static; margin-top:20px;}
}
@media only screen and (max-width: 767px) {
	/* TABLE */
	.mask_table{ overflow: auto;}
	.mask_table table {width: 600px;}

	/* SLIDER */
	.slider .slide .inner .txt48{font-size:32px; line-height:36px;}

	/* HEADER */
	header .open_menu{width:60px; height:60px;}
	header nav{top:76px;}

	header .login{right:60px; height:60px;}
	header .login > a{width:60px; padding:0;}
	header .login > a span{height:75px;}
	header .login > a span.icon_user{width:60px; height:60px;}

	footer  .partner{margin-bottom:40px;}
	footer  .partner img{margin: 0 auto; display:block;}
	footer  .partner img.logo_fvs{margin-top:20px;}
	footer  .partner img.logo_emergenza{margin-top:20px;}

	/* COVER */
	.cover_int .shadow .griglia .txt_cover .txt48{font-size:36px; line-height:40px; margin-bottom:20px;}

	/* GALLERY */
	.gallery a {width:calc((100% - 66px) / 3);}
	.gallery a:nth-child(5n+1){margin-left: 20px;}
	.gallery a:nth-child(3n+1){margin-left: 0;}
}
@media only screen and (max-width: 480px) {
	/* SLIDER */
	.slider .slide .inner .txt48{font-size:28px; line-height:32px;}

	/* COVER */
	.cover_int .shadow .griglia .txt_cover .txt48{font-size:28px; line-height:32px;}

	/* GALLERY */
	.gallery a {width:calc((100% - 24px) / 2);}
	.gallery a:nth-child(3n+1){margin-left: 20px;}
	.gallery a:nth-child(2n+1){margin-left: 0;}
}
