@charset "UTF-8";
/* CSS Document */

@font-face {
  font-family: 'corpo';
  src: url(fonts/HelveticaNeueLTStd-Lt.otf) format('opentype'),
	   url(fonts/HelveticaNeueLTStd-Lt.woff) format('woff'),
       url(fonts/HelveticaNeueLTStd-Lt.eot) format('embedded-opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'corpo';
  src: url(fonts/HelveticaNeueLTStd-Md.otf) format('opentype'),
	   url(fonts/HelveticaNeueLTStd-Md.woff) format('woff'),
       url(fonts/HelveticaNeueLTStd-Md.eot) format('embedded-opentype');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'headline';
  src: url("fonts/Edwardian-Script-ITC.otf") format('opentype'),
	   url("fonts/Edwardian-Script-ITC.woff") format('woff'),
       url("fonts/Edwardian-Script-ITC.eot") format('embedded-opentype');
  font-weight: normal;
  font-style: normal;
}



*, *:before, *:after {
  box-sizing: border-box;
}
html {
	height: 100%;
}
body {
  margin:0;
  padding:0;
  background-color: #ffffff;
  font-family: "corpo",Helvetica, Arial, sans-serif;
	font-size: 0.95rem;
	height: 100%;
    color: black;
}
/*h3 {
	font-size:2rem;
	font-family: Helvetica, Arial, sans-serif;
	font-weight: normal;
	margin-bottom: 40px;
	color: #000;
}*/
a {
	color: inherit;
	text-decoration: underline;
}
header {
  background-color: transparent;
	position: absolute;
	width: 100%;
		min-height: 550px;
}
#nav {
 width: 90%;
 max-width: 1200px; /* TODO vedere se ok, prima 125px */
 margin: auto;
 text-align: center;
}
#LogoTop {
	height: auto;
	width: 100%;
	max-width: 200px;
	margin: 30px 0 0 0;
}
.head {
	font-family: "headline",Helvetica, Arial, sans-serif;
	font-size: 4rem;
	line-height: 60px;
	color:#ffffff;
	margin:260px 0 0;
}
.subhead {
	font-family: "corpo",Helvetica, Arial, sans-serif;
	font-size: 1.5rem;
	letter-spacing:3px;
	color:#ffffff;
	margin: 10px 0;
}
content {
	display: inline-block;
 	width: 100%;
	color: #666666;
	text-align: center;
	background-color: #ffffff;
	min-height: calc(100% - 55px);
   /* height: calc(100% - 55px);
	padding-bottom: 50px;*/
	/*border: 1px solid #ff0000;*/
}
#contentimage {
	display: flex;
	width: 100%;
	min-height: 550px;
	margin-bottom: 40px;
	background-image: url(imgs/KP_IDBS_main_notxt.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-color: #000;
}
#titolo {
	display: block;
	margin: 50px auto;
	max-width: 1200px;
	padding: 0 70px;
	text-align: center;
}

label {
	display: inline-block;
	text-align: left;
	padding: 0 20px;
	margin-bottom: 10px;
}
label.consent {
	padding: 0;
}
content .codice {
	width: 250px;
	height: 50px;
	padding: 0 10px;
	border: 1px solid #999999;
	margin: 10px 0;
    font-size: 0.84rem;
}
content .tel {
	width: 162px;
	height: 50px;
	padding: 0 10px;
	border: 1px solid #999999;
	margin: 10px 0;
}
content .nascita {
	width: 100%;
	max-width: 540px;
	padding-left:0;
}
content .data {
	width: 73px;
	margin-right: 10px;
}
content .last {
	margin-right: 0;
}
content input::placeholder {
	color: #000;
	opacity: 1;
	font-family: "corpo", Helvetica, Arial, sans-serif;
	font-size:12px;
}
content button[type=submit], content button[type=button] {
	background-color: #000;
	color: #fff;
	font-size: 1.6em;
	font-family: "corpo", Helvetica, Arial, sans-serif;
	padding: 10px 40px;
	border: none;
	cursor: pointer;
	margin-left: auto;
}
content button[type=button] {
	background-color: #fff;
	color: #000;
	outline: 1px solid #000;
}
div.privacy {
	display: flex;
	justify-content:center;
}
div.privacy p {
	width: 100%;
	max-width:540px;
	text-align: left;
}
div.privacy p.disclaimer {
	font-size: 0.7rem;
	line-height: 14px;
	border: 1px solid #999999;
	padding: 10px;
	/*max-height: 200px;
    overflow-y: scroll;*/
}
div.privacy .disclaimer.big-disclaimer {
	font-size: 1rem;
    line-height: 20px;
    text-align: center;
    border: 1px solid #999999;
	padding: 10px;
}
div.invio {
	display: flex;
	justify-content:center;
    align-content: center;
    position: relative;
    flex-wrap: wrap; /* TODO questo lo lascio? */
}
div.invio p {
	width: 100%;
	max-width:540px;
	text-align: right;
	display: flex;
}
div.invio .confirmation-message {
	font-size: 1.6em;
	font-family: "corpo", Helvetica, Arial, sans-serif;
    position: absolute;
    top: 0px;
    bottom: 0px;
    text-align: center;
}
footer {
	width: 100%;
    height: 55px;
	padding: 0;
	font-size: 0.8rem;
	font-family: "corpo", Helvetica, Arial, sans-serif;
	letter-spacing: 0.4px;
	/*position: absolute;*/
	background-color: #000000;
	color: #ffffff;
}
#footerbar {
	width: 100%;
}
#footerbar p {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1000px;
	margin: auto;
	padding: 20px 30px;
	text-align: center;
}
.warning-text
{
    font-size: 0.8rem;
    color: darkred;
	margin-bottom: 10px;
}
div.invio .alert-text
{
    font-size: 0.8rem;
    color: darkred;
    text-align: center;
    /*display: inline-block;*/
    margin: 10px;
    vertical-align: bottom;
    
}
.iti 
{
    font-size: 0.84rem;
    color: initial;
}
@media screen and (max-width: 1024px) {
	
	h3 {
	font-size:1.6rem;
}
	#titolo {
	padding: 0 30px;
}
	footer p {
		text-align: center;
	}
	#footerbar a {
	display: block;
}
	#contentimage {
	min-height: 450px;
}
	.head {
	font-size: 2.9rem;
	margin:200px 0 0;
		line-height: 40px;
}
.subhead {
	font-size: 1.2rem;
	margin: 15px 0;
}
}
@media screen and (max-width: 660px) {	
	content .nascita {
	max-width: 250px;
		padding: 0;
}
	div.privacy p {
	width: 250px;
}
content button[type=submit] {
	margin: 0 auto;
}
	div.invio p {
	text-align: center;
}
	/*content .data {
	width: 70px;
	margin-right: 10px;
}*/
}
@media screen and (max-width: 500px) {
	
	label {
	padding: 0;
}
	/*content .data {
	width: 70px;
	margin-right: 12px;
}*/
footer {
    height: 85px;
}
	#footerbar p {
	flex-direction: column;
		justify-content: center;
}
	#footerbar a {
	margin-top: 10px;
}
	#titolo {
	margin: 20px auto;
}
	#contentimage {
	background-image: url(imgs/KP_IDBS_main_vert.jpg);
		min-height: 550px;
		margin-bottom: 20px;
}
	#LogoTop {
		max-width: 150px;
	margin: 20px 0 0 0;
}
	.head {
	font-size: 2.2rem;
	margin:280px 0 0;
		line-height: 35px;
}
.subhead {
	font-size: 0.8rem;
	margin: 15px 0;
}
}

.position-relative
{
    position: relative;
}

/*
    *********************
    LOADING
    *********************
    */
.loading {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    /*padding-top: 4rem;*/
    z-index: 999;
}

.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 1px;
    height: 1px;
    top: -6.5px;
    left: -40px
}

.lds-ellipsis div {
    position: absolute;
    top: 0;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #000;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(0);
    }
}

@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(24px, 0);
    }
}