@charset "iso-8859-1";
/* CSS Document */

/* BASE */
*{
	margin:0;
	padding:0;
	-webkit-tap-highlight-color: rgba(0,0,0,0.6);
	outline: 0;
	
	/* cursor: url("pointer.svg"), auto; */
}
*,
*:after,
*::before {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
a {
	/* cursor: url("pointer.svg"), auto !important; */
}

html{
	width:100%;
	min-height:100%;
	height:100%;
}
body {
	margin: 0;
	padding: 0;
	width: 100%;
    min-height:100%;
	height:100%;

	background-color:#ffffff;
	position:relative;

	font-family: 'Gotham', sans-serif;
    font-weight: normal;
    font-style: normal;
	
	color:#000000;
	font-size: 16px;
	line-height: 16px;
}
html, body {
 	-webkit-font-smoothing: antialiased !important;
	-moz-font-smoothing: unset;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
    -webkit-text-size-adjust: 100%;
}

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, footer, 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;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

h1,h2,h3,h4,h5,h6,h7{
	font-weight:normal;
}
img{
	border:0;
	font-size:0;
	color:#ffffff;
}
ul{
	margin: 0;
	padding: 0;
}
ul li {
	list-style-position: inside;
	margin: 0;
	padding: 0;
	list-style-type: none;
}
input {
	margin: 0;
	padding: 0;
	border: 0;
	-webkit-appearance: textfield;
	-moz-appearance:    textfield;
	appearance:         textfield;
}
input[type=number] {
	-webkit-appearance: textfield;
	-moz-appearance:    textfield;
	appearance:         textfield;
}
input[type=checkbox] {
   -webkit-appearance: checkbox;
   -moz-appearance:    checkbox;
   appearance:         checkbox;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
	appearance: normal;
	-moz-appearance: normal; /* Firefox */
	-webkit-appearance: normal; /* Safari and Chrome */
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
button{
	border:0;
	margin:0;
	padding: 0;

	appearance: normal;
	-moz-appearance: normal; /* Firefox */
	-webkit-appearance: normal; /* Safari and Chrome */

	background-color: transparent;
}
input, textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  border-radius: 0;
}
textarea {
	-webkit-appearance: textfield;
	resize: none;
	overflow: hidden;
}
input:required:invalid {
    outline :#ffffff solid 0px;
}
input:invalid {
    outline :#ffffff solid 0px;
}
form{
	margin: 0px;
	padding: 0px;
}

.clickable{
	cursor:pointer !important;
}
.hidden{
	display:none !important;
}
.disabled{
	pointer-events: none !important;
}
.block{
	overflow: hidden !important;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

/* BASE */
.txtC{
	text-align:center !important;
}
.txtL{
	text-align:left !important;
}
.txtR{
	text-align:right !important;
}
.floatL{
	float:left;
}
.floatR{
	float:right;
}
/* BASE */

/* -- FONT FACE -- */

/* TIEMPOS HEADLINE LIGHT */
.ffTextTH{
	font-family: 'Tiempos Headline', sans-serif;
    font-weight: 300;
    font-style: normal;
}
/* AVENIR BLACK */
.ffTextABK{
	font-family: 'Avenir LT Std', sans-serif;
    font-weight: 900;
    font-style: normal;
}
/* AVENIR MEDIUM */
.ffTextAM{
	font-family: 'Avenir LT Std', sans-serif;
    font-weight: 500;
    font-style: normal;
}

/* FONT-SIZE */
.fsText12{
	--minFontSize: 12px;
	--maxFontSize: 15.47px;
	--scaler: 0.83vw;
	font-size: clamp( var(--minFontSize), var(--scaler), var(--maxFontSize) );
	line-height:100%;
}
.fsText18{
	--minFontSize: 16px;
	--maxFontSize: 18px;
	--scaler: 1.2vw;
	font-size: clamp( var(--minFontSize), var(--scaler), var(--maxFontSize) );
	line-height:100%;
}
.fsText23{
	--minFontSize: 16px;
	--maxFontSize: 23px;
	--scaler: 1.2vw;
	font-size: clamp( var(--minFontSize), var(--scaler), var(--maxFontSize) );
	line-height: 120%;
}
.fsText26{
	--minFontSize: 20px;
	--maxFontSize: 28px;
	--scaler: 1.46vw;
	font-size: clamp( var(--minFontSize), var(--scaler), var(--maxFontSize) );
	line-height: 120%;
}
.fsText42{
	--minFontSize: 32px;
	--maxFontSize: 42px;
	--scaler: 2.19vw;
	font-size: clamp( var(--minFontSize), var(--scaler), var(--maxFontSize) );
	line-height: 120%;
}

/* -- > VIEWPORT */
@media screen and (max-width: 1349px) {
.fsText12{
	font-size: 12px;
	line-height:100%;
}
.fsText23{
	font-size: 16px;
	line-height: 120%;
}
.fsText26{
	font-size: 20px;
	line-height: 120%;
}
.fsText42{
	font-size: 32px;
	line-height: 120%;
}
}
/* < -- VIEWPORT */

/* -- FONT FACE -- */

/* -------------- LINK ------------------------ */
a, a:link, a:active, a:visited, a:hover {
	text-decoration: none;
	color: inherit;
}
a:hover {
	color: inherit;
}

/* COLORI */
.bgWhite {
	background-color:#ffffff !important;
}
.bgBlack {
	background-color:#000000 !important;
}
.bgGrey {
	background-color: #eceded !important;
}

.colorWhite {
	color:#ffffff !important;
}
.colorBlack {
	color:#000000 !important;
}
.colorGreen{
	color:#7aab65 !important;
}
.colorGreen2{
	color:#014520 !important;
}
.colorYellow{
	color:#f9b200 !important;
}
.colorCyan{
	color:#7ec6e0;
}
.colorBlue{
	color:#0075bf;
}
.colorOrange{
	color:#d77f49;
}
.colorOrange2{
	color:#cf7715;
}
.colorBrown{
	color:#3a3124;
}
.colorGrey {
	color:#404040;
}

/* FORM */
.shaker {
  animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  perspective: 1000px;
}

@keyframes shake {
  10%, 90% {
    transform: translate3d(-8px, 0, 0);
  }
  
  20%, 80% {
    transform: translate3d(9px, 0, 0);
  }

  30%, 50%, 70% {
    transform: translate3d(-11px, 0, 0);
  }

  40%, 60% {
    transform: translate3d(11px, 0, 0);
  }
}

/* HTML */
.logos{
	position:fixed;
	z-index:150;
	margin:0;
	text-align:left;
	vertical-align:middle;
	top:7.80vh;
	left:5vw;
}
.logos img{
	display: inline-block;
	text-align: center;
	position: relative;
	padding: 0;
	margin:0 3.07vw 0 0;
}
#ggi{
	width:5.83vw;
	height:auto;
}
/* -- > VIEWPORT */
@media screen and (max-width: 1349px) {
	.logos{
		top:60px;
		left:50px;
	}
	.logos img{
		margin:0 40px 0 0;
	}
	#ggi{
		width:80px;
		height:auto;
	}
}
/* < -- VIEWPORT */

.catcontainer {
	width:100%;
	min-height: 100vh;
	position:relative;
	z-index:1;
	text-align:center;
	overflow:hidden;
}

.catcontent{
	width:100%;
	min-height: 100vh;
	position:relative;
	z-index:1;
	margin:0 auto;
	text-align:left;
	vertical-align:middle;
	overflow:hidden;
}
#cover {
	z-index: 10;
	background-color: #ffffff;
}
.imgcover01{
	position:absolute;
	z-index:0;
	padding:0;
	margin:0;
	text-align:left;
	vertical-align:middle;
	top: 0;
	left: 0;
	width:50%;
	height:100%;
	pointer-events:none;
}
.imgcover01 img{
	display:block;
	position:absolute;
	top:20.4vh;
	right:2.4vw;
	margin-top:-20px;
	width:40.52vw;
	height:auto;
}
.imgcover02{
	position:absolute;
	z-index:0;
	padding:0;
	margin:0;
	text-align:left;
	vertical-align:middle;
	top: 0;
	right:0;
	width:50%;
	height:100%;
	pointer-events:none;
}
.imgcover02 img{
	display:block;
	position:absolute;
	top: -70px;
	right:0;
	width:45.89vw;
	height:auto;
}
@media screen and (max-height: 635px) {
	.imgcover02 img{
		width: 626px;
		height: auto;
		top:auto;
		bottom:0;
	}
}
@media screen and (min-height: 635px) and (max-width: 1349px) {
	.imgcover02 img{
		width: 626px;
		height: auto;
		right: auto;
		left: 0;
	}
}
@media screen and (max-width: 1349px) {
	.imgcover01 img{
		width:554px;
		height:auto;
	}
}
.imgcover03{
	position:absolute;
	z-index:0;
	padding:0;
	margin:0;
	text-align:left;
	vertical-align:middle;
	bottom: 0;
	right:0;
	height:83.29vh;
	pointer-events:none;
}
.imgcover03 img{
	display:block;
	position:relative;
	bottom:0;
	left:0;
	width:auto;
	height:100%;
}

.main{
	width:100%;
	min-height:100vh;
	display: none;
	text-align: center;
	position: relative;
	padding: 0;
	margin: 0 auto;
	overflow:hidden;
}
.main.go{
	display: block;
}

.asktitle{
	position: absolute;
	top:7.80vh;
	left:0;
	right:0;
	display: block;
	text-align: center;
	padding: 0;
	margin:0 auto;
	width:31.25vw;
	height:auto;
	z-index:10;
}
.askgroup{
	display: table;
	width:100%;
	max-width:48.33vw;
	height: 100vh;
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 10;
}
.quotes .askgroup{
    max-width: 48.7vw;
}
@media screen and (max-width: 1349px) {
	.quotes .askgroup{
		max-width: 664px;
		width: 664px;
	}
}
.askcell{
	display: table-cell;
	width:100%;
	height:100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	vertical-align: middle;
}
#cover .askcell{
	vertical-align: top;
	text-align:left;
	padding:30.9vh 3% 3%;
}
#cover .askcell img{
	width:49.22vw;
	height:auto;
	display:block;
}
#cover .askcell p{
	width:71%;
	vertical-align: top;
	text-align:left;
	padding:3.4vh 1.5% 0%;
}
#cover .askcell p.quotebtn{
	width:100%;
	padding: 5.4vh 0 0 0;
	margin:0 auto;
	text-align:center;
}
@media screen and (max-width: 1349px) {
#cover .askcell{
	vertical-align: top;
	text-align:left;
	padding:177px 3% 3%;
}
#cover .askcell img{
	width:672px;
	height:auto;
	display:block;
}
#cover .askcell p{
	width:71%;
	vertical-align: top;
	text-align:left;
	padding:26px 1.5% 0%;
}
}
#cover .skip{
    margin: 40px auto;
	color: #ffffff;
	background-color: #0160eb;
	border: 2px solid #0160eb;
}
#cover .skip:hover{
	color: #0160eb;
	background-color: #ffffff;
	border: 2px solid #0160eb;
}
.disclaimer{
	position: absolute;
	top: 848px;
	right:5vw;
	display: block;
	text-align: center;
	padding: 0;
	margin:0;
	z-index:10;
}
.disclaimer p{
	color: #4a4a4a;
	line-height:165%;
	text-align:right;
}
/* -- > VIEWPORT */
@media screen and (max-height: 958px) {
	.disclaimer{
		top:auto;
		bottom:3vh;
	}
}
/* < -- VIEWPORT */

.askrequest{
	display: block;
	margin: 0 auto;
	padding: 0 0 2.34vw 0;
}
/* -- > VIEWPORT */
@media screen and (max-width: 1349px) {
	.asktitle{
		top:60px;
		width:426px;
	}
	.askgroup{
		width:662px;
		max-width:none;
	}
	.askrequest{
		padding: 0 0 26px 0;
	}
}
/* < -- VIEWPORT */
.askrequest.last{
	padding: 0 0 0 0;
}
.askrequest h2{
	display: inline-block;
	text-align: left;
	position: relative;
	padding: 0 6% 0.6% 6%;
	margin: 0;
	width: 71%;
	vertical-align: middle;
}
.askrequest .btn{
	display: inline-block;
	margin: 0;
	width: 29%;
	text-align: right;
	vertical-align: middle;
}
.askrequest ul {
    display: inline-block;
    margin: 0;
    padding: 0.36vw 0.46vw;
    text-align: center;
    background-color: rgb(255 255 255 / 80%);
    position: relative;
    border-radius: 50em;
    border: 0.42vw solid rgb(255 255 255 / 0%);
    box-sizing: content-box;
}
.btnborder {
    position: absolute;
    z-index: -1;
    padding: 0;
    margin: auto;
    text-align: center;
    vertical-align: middle;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(255 255 255 / 80%);
    pointer-events: none;
    border-radius: 50em;
    box-sizing: unset;
}
.askrequest ul li{
	display: inline-block;
	position: relative;
	padding: 0.36vw;
	float: left;
}

.askrequest ul li input[type=radio]{
	position: absolute;
	visibility: hidden;
}

.askrequest ul li label{
	display: inline-block;
	position: relative;
	padding: 0 19%;
	margin: 0;
	min-width:4.79vw;
	z-index: 1;
	cursor: pointer;
	line-height: 255%;
	border-radius: 50em;
	-moz-border-radius: 50em;
	-webkit-border-radius: 50em;
	background-clip: border-box;
	-webkit-background-clip: border-box;
	-moz-background-clip: border-box;
	letter-spacing:0.025em;
	background-color: transparent;
	color: #9da5aa;
	border: 2px solid #b6c0c6;
	pointer-events:all;
	text-align:center;
}
/* -- > VIEWPORT */
@media screen and (max-width: 1349px) {
	.askrequest ul li label{
		min-width:66px;
	}
}
/* < -- VIEWPORT */
.askrequest input[type=radio]:checked ~ label{
	color: #ffffff;
	background-color: #0160eb;
	border: 2px solid #0160eb;
	pointer-events:none;
}
.askrequest ul li input[type=radio]:checked ~ label{
	box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.18);
}

.img01{
	position:absolute;
	z-index:0;
	padding:0;
	margin:0;
	text-align:left;
	vertical-align:middle;
	bottom:0;
	left:0;
	height:83.29vh;
	pointer-events:none;
}
.img01 img{
	display:block;
	position:relative;
	bottom:0;
	left:0;
	width:auto;
	height:100%;
}
.img02{
	position:absolute;
	z-index:0;
	padding:0;
	margin:0;
	text-align:left;
	vertical-align:middle;
	top:0;
	right:0;
	height:100%;
	pointer-events:none;
}
.img02 img{
	display:block;
	position:relative;
	bottom:0;
	right:0;
	width:auto;
	height:100%;
}
/* -- > VIEWPORT */
@media screen and (max-width: 1349px) {
	.img01{
		right: 74%;
		left: auto;
	}
	.img02{
		left: 60%;
		right: auto;
	}
}
/* < -- VIEWPORT */

.lines{
	width:100%;
	height:100%;
	position:fixed;
	z-index:2;
	margin:auto;
	top:0;
	bottom:0;
	left:0;
	right:0;
	background: transparent url("CAT_lines.png") no-repeat center;
	background-size:cover;
	pointer-events:none;
	
	opacity:0;
	
    -webkit-transition: all 4000ms cubic-bezier(0.22, 0.61, 0.36, 1) 4000ms;
    -moz-transition: all 4000ms cubic-bezier(0.22, 0.61, 0.36, 1) 4000ms;
    -o-transition: all 4000ms cubic-bezier(0.22, 0.61, 0.36, 1) 4000ms;
    transition: all 4000ms cubic-bezier(0.22, 0.61, 0.36, 1) 4000ms;
}
.go .lines{
	opacity:1;
}
.linescover{
	width:50%;
	height:100%;
	position: absolute;
	z-index:2;
	margin:auto;
	top:0;
	bottom:0;
	left:50%;
	right:0;
	background: transparent url("CAT_lines_cover.png") no-repeat left top;
	background-size:auto 100%;
	pointer-events:none;
}
.sad .linescover{
    left: 71%;
}
.happy .linescover{
	opacity:0;
    left: 71%;	
    -webkit-transition: all 4000ms cubic-bezier(0.22, 0.61, 0.36, 1) 1500ms;
    -moz-transition: all 4000ms cubic-bezier(0.22, 0.61, 0.36, 1) 1500ms;
    -o-transition: all 4000ms cubic-bezier(0.22, 0.61, 0.36, 1) 1500ms;
    transition: all 4000ms cubic-bezier(0.22, 0.61, 0.36, 1) 1500ms;
}
.happy .msgcontainer.show .linescover{
	opacity:1;	
    left: 71%;
}
.skip{
	display: inline-block;
	position: relative;
	padding: 0 1.9em;
	margin: 0;
	min-width:4.79vw;
	z-index: 1;
	cursor: pointer;
	line-height: 255%;
	border-radius: 50em;
	-moz-border-radius: 50em;
	-webkit-border-radius: 50em;
	background-clip: border-box;
	-webkit-background-clip: border-box;
	-moz-background-clip: border-box;
	letter-spacing:0.025em;
	background-color: #ffffff;
	color: #9da5aa;
	border: 2px solid #b6c0c6;
	pointer-events:all;
	text-align:center;
	text-transform:uppercase;
}
.skip:hover{
	color: #ffffff;
	background-color: #0160eb;
	border: 2px solid #0160eb;
}

.back{
	display: inline-block;
	position: relative;
	padding: 0 1.9em;
    margin: 40px auto;
	min-width:4.79vw;
	z-index: 1;
	cursor: pointer;
	line-height: 255%;
	border-radius: 50em;
	-moz-border-radius: 50em;
	-webkit-border-radius: 50em;
	background-clip: border-box;
	-webkit-background-clip: border-box;
	-moz-background-clip: border-box;
	letter-spacing:0.025em;
	color: #ffffff;
	background-color: #0160eb;
	border: 2px solid #0160eb;
	pointer-events:all;
	text-align:center;
	text-transform:uppercase;
}
.back:hover{
	color: #0160eb;
	background-color: #ffffff;
	border: 2px solid #0160eb;
}

.quotebtn{
	padding:5vw 0 0 0;
}
.sad .quotebtn{
	padding:2vw 0 0 0;
}
/* -- > VIEWPORT */
@media screen and (max-width: 1349px) {
	.skip{
		min-width:66px;
	}
	.quotebtn{
		padding:50px 0 0 0;
	}
	.sad .quotebtn{
		padding:20px 0 0 0;
	}
}
/* < -- VIEWPORT */

.pagination{
	position:fixed;
	z-index:1;
	padding:0;
	margin:0 auto;
	text-align:center;
	vertical-align:middle;
	bottom: 2.79vh;
	left:0;
	right:0;
	pointer-events:none;
	color:#b6c0c6;
	--minFontSize: 20px;
	--maxFontSize: 28px;
	--scaler: 1.46vw;
	font-size: clamp( var(--minFontSize), var(--scaler), var(--maxFontSize) );
	line-height: 120%;
}
/* -- > VIEWPORT */
@media screen and (max-width: 1349px) {
	.pagination{
		bottom: 30px;
		font-size: 20px;
	}

}
/* < -- VIEWPORT */
.pagination .current{

}
.pagination .separator{opacity: .5;}
.pagination .total{opacity: .5;}

canvas{
	z-index:112 !important;
	position:fixed !important;
	cursor:pointer !important;
}
.conclusion{
	position:fixed;
	z-index:-1;
	background-color: transparent;
	top:0;
	left:0;
	right:0;
	bottom:0;
	opacity:0;
	
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	pointer-events: none;
	
    -webkit-transition: all 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 0ms;
    -moz-transition: all 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 0ms;
    -o-transition: all 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 0ms;
    transition: all 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 0ms;
}
.conclusion.show{
    z-index: 113;
    opacity: 1;
	cursor:pointer;
}
.conclusionmain{
	width: 50%;
	max-width: 928px;
	min-width: 400px;
	padding: 4em;
	text-align: center;
	position: relative;
	z-index: 5;
	opacity: 0;
}
.conclusion.show .conclusionmain{
	-webkit-animation-duration: 0.4s;
	animation-duration: 0.4s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	
	-webkit-animation-delay: 1000ms;
	animation-delay: 1000ms;

	-webkit-animation-name: anim-open;
	animation-name: anim-open;
	-webkit-animation-timing-function: cubic-bezier(0.7,0,0.3,1);
	animation-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.conclusionmain h2{
	margin-top:0;
}
.happy .conclusionmain h2{
	margin-top:20vh;
}


.conclusionbg{
	position:fixed;
	z-index:-1;
	background-color: #ffffff;
	top:0;
	left:0;
	right:0;
	bottom:0;
	opacity:0;
}
.conclusionbg.show{
    z-index: 100;
    opacity: 1;
}

/* MESSAGGIO DIALOGO */
.dialog,
.dialog__overlay {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.dialog {
	position: fixed;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	pointer-events: none;
	z-index:150;
}

.dialog__overlay {
	position: absolute;
	z-index: 1;
	background: rgba(55, 58, 71, 0.9);
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
	-webkit-backface-visibility: hidden;
}

.dialog--open .dialog__overlay {
	opacity: 1;
	pointer-events: auto;
}

.dialog__content {
	width: 50%;
	max-width: 560px;
	min-width: 290px;
	background: #fff;
	padding: 4em;
	text-align: center;
	position: relative;
	z-index: 5;
	opacity: 0;
}

.dialog--open .dialog__content {
	pointer-events: auto;
}

.dialog h2 {
	margin: 0;
	padding: 0 0 2em;
	margin: 0;
}
.dialog__overlay {
	-webkit-transition-duration: 0.4s;
	transition-duration: 0.4s;
}

.dialog__content {
	overflow: hidden;
}

.dialog--open .dialog__content button {
	display: inline-block;
	position: relative;
	padding: 0 1.9em;
	margin: 0;
	min-width:4.79vw;
	z-index: 1;
	cursor: pointer;
	line-height: 255%;
	border-radius: 50em;
	-moz-border-radius: 50em;
	-webkit-border-radius: 50em;
	background-clip: border-box;
	-webkit-background-clip: border-box;
	-moz-background-clip: border-box;
	letter-spacing:0.025em;
	background-color: #ffffff;
	color: #9da5aa;
	border: 2px solid #b6c0c6;
	pointer-events:all;
	text-align:center;
	text-transform:uppercase;
}
.dialog--open .dialog__content button:hover {
	color: #ffffff;
	background-color: #0160eb;
	border: 2px solid #0160eb;
}

.dialog.dialog--open .dialog__content,
.dialog.dialog--close .dialog__content {
	-webkit-animation-duration: 0.4s;
	animation-duration: 0.4s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

.dialog.dialog--open .dialog__content {
	-webkit-animation-name: anim-open;
	animation-name: anim-open;
	-webkit-animation-timing-function: cubic-bezier(0.7,0,0.3,1);
	animation-timing-function: cubic-bezier(0.7,0,0.3,1);
}

.dialog.dialog--close .dialog__content {
	-webkit-animation-name: anim-close;
	animation-name: anim-close;
}

.dialog.dialog--open h2,
.dialog.dialog--open button {
	-webkit-animation: anim-elem 0.4s both;
	animation: anim-elem 0.4s both;
}

.dialog.dialog--open h2 {
	-webkit-animation-delay: 0.25s;
	animation-delay: 0.25s;
}

.dialog.dialog--open button {
	-webkit-animation-delay: 0.15s;
	animation-delay: 0.15s;
}

@-webkit-keyframes anim-open {
	0% { opacity: 0; -webkit-transform: translate3d(0, -400px, 0); }
	100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); }
}

@keyframes anim-open {
	0% { opacity: 0; -webkit-transform: translate3d(0, -400px, 0); transform: translate3d(0, -400px, 0); }
	100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

@-webkit-keyframes anim-close {
	0% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); }
	100% { opacity: 0; -webkit-transform: translate3d(0, 100px, 0); }
}

@keyframes anim-close {
	0% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	100% { opacity: 0; -webkit-transform: translate3d(0, 100px, 0); transform: translate3d(0, 100px, 0); }
}

/* Inner elements animations */

@-webkit-keyframes anim-elem {
	0% { opacity: 0; -webkit-transform: translate3d(0, -100px, 0); }
	100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); }
}

@keyframes anim-elem {
	0% { opacity: 0; -webkit-transform: translate3d(0, -100px, 0); transform: translate3d(0, -100px, 0); }
	100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

/* < -- MESSAGGIO DIALOGO */

.msgcontainer {
    width: 100%;
    min-height: 100vh;
    position: fixed;
    z-index: 119;
    display: table;
    text-align: center;
    vertical-align: middle;
    background: #fff;
	
	opacity:0;
    -webkit-transition: opacity 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 0ms;
    -moz-transition: opacity 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 0ms;
    -o-transition: opacity 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 0ms;
    transition: opacity 800ms cubic-bezier(0.22, 0.61, 0.36, 1) 0ms;
}
.msgcontainer.show {
	opacity:1;
}
.msgcontainer .imgcover01 {
    position: absolute;
    z-index: 0;
    padding: 0;
    margin: 0;
    text-align: left;
    vertical-align: middle;
    top: 0;
    left: 0;
    width: 42%;
    height: 100%;
    pointer-events: none;
}
.msgcontent{
	width:100%;
	max-width:48.33vw;
	position:relative;
	z-index:1;
	padding:5.6vw;
	margin:0 auto;
	text-align:center;
	vertical-align:middle;
	display:table-cell;
}
.msgback{
    margin: 2vw auto 1vw;
    padding: 0px;
    width: 40%;
    max-width: 600px;
	text-align:center;
}
.msgback a, .msgback a:link, .msgback a:active, .msgback a:visited, .msgback a:hover {
	text-decoration: none;
	color: #CCCCCC;
}
.msgback a:hover {
	text-decoration: underline;
	color: #000000;
}
.msgcontent form {
    margin: 3vw auto 1vw;
    padding: 0px;
    width: 40%;
    max-width: 600px;
}
.msgcontent form p {
    padding-bottom: 25px;
}
.msgcontent form .skip{
    margin: 3vw auto;
    color: #ffffff;
    background-color: #0160eb;
    border: 2px solid #0160eb;
}
.msgcontent form .skip:hover{
	color: #0160eb;
	background-color: #ffffff;
	border: 2px solid #0160eb;
}
.input-data {
	width: 100%;
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0px 10px 0 10px;
	border: 0 !important;
	vertical-align: middle;
	text-align: center;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	background-clip: border-box;
	-webkit-background-clip: border-box;
	-moz-background-clip: border-box;
	background-color: rgb(0 0 0 / 5%);
	-webkit-appearance: none;
	line-height: 225%;
	color:#666666;
}
.input-data::-webkit-input-placeholder {
  color: #cac9c9;
  font-style: italic;
  font-weight:500;
}
.input-data::-moz-placeholder {
  color: #cac9c9;
  font-style: italic;
  font-weight:500;
}
.input-data:-ms-input-placeholder {
  color: #cac9c9;
  font-style: italic;
  font-weight:500;
}
.input-data:-moz-placeholder {
  color: #cac9c9;
  font-style: italic;
  font-weight:500;
}