
@font-face {
  font-family: 'Helvetica Neue LT Std Medium';
  src: url("../font/Helvetica-Neue-LT-Std-65-Medium-KBbpgyD.woff2") format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Helvetica Neue LT Std Bold';
  src: url("../font/Helvetica-Neue-LT-Std-75-Bold-NmBKP21.woff2") format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

html, body {
  height: 100%;
  margin: 0;
}
    
body {
	margin: 0;
  padding: 0;
  font-family: "Helvetica Neue LT Std Medium", sans-serif;
  text-transform: uppercase;
  font-optical-sizing: auto;
  color: #fff;
  background-color: #000;
  font-size: 20px;
  line-height: 140%; /* 28px */
  display: flex;
  flex-direction: column; 
  letter-spacing: -0.6px;
}

@media (min-width: 1920px) {
  body{
  background-image: url("../img/bkg-dsktp-kW5kAlj.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  }
}

@media (min-width:768px) and (max-width: 1919px) {
  body{
  background-image: url("../img/bkg-dsktp-kW5kAlj.jpg");
  background-size:auto;
  background-position: center;
  background-repeat: no-repeat;
  }
}

@media (min-width: 1200px) {
    .container{
        max-width: 1512px;
    }
}

a {
    color: #0295FF;}

.pt-12{
  padding-top: 12px;
}
@media (max-width: 767px) {
  .pt-12 {
      padding-top: 8px;
  }
}

.header{
  padding: 32px 16px 24px 16px;
  text-align: center;
}

@media (max-width: 767px) {

  .header img{
    max-width: 150px;
  }
}


.content{
  display: flex;
  padding: 24px 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  align-self: stretch;
}


@media (max-width: 768px) {

  body{
      font-size: 16px;
  }

.header{
  padding: 8px 0;
  text-align: center;
}

.content{
  padding: 16px 0;
}

}

.tit{
  font-family: 'Helvetica Neue LT Std Bold';
}

.btn-primary, .btn-primary:hover, .btn-primary:focus{
  font-family: 'Helvetica Neue LT Std Bold';
  background-color: #fff;
  padding: 12px 24px;
  color: #000;
  border: 0;
  border-radius: 0;
  font-size: 14px;
  letter-spacing: 0;
}

.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
     color: #000;
    background-color: #fff;
    border: 0;
}


.form-control, .form-floating {
  color: #fff;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  font-size: 16px;
}

.form-floating>.form-control, .form-floating>.form-control-plaintext {
    border-radius: 0;
    border-bottom: 1px solid #fff;
}

.form-control:focus {
  background-color: transparent;
  border: 0;
  box-shadow: none;
   border-bottom: 1px solid #fff;
   color: #fff;
}

.form-floating>.form-control-plaintext~label::after, .form-floating>.form-control:focus~label::after, .form-floating>.form-control:not(:placeholder-shown)~label::after, .form-floating>.form-select~label::after {
  background-color: transparent;
}
.form-floating>.form-control-plaintext~label, .form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label, .form-floating>.form-select~label{
  color: #fff;
  transform: scale(.85) translateY(-1rem) translateX(.15rem);
}

.form-floating>.form-control, .form-floating>.form-control-plaintext {
    padding: 1rem 0;
}

.form-floating>.form-control-plaintext:focus, .form-floating>.form-control-plaintext:not(:placeholder-shown), .form-floating>.form-control:focus, .form-floating>.form-control:not(:placeholder-shown) {
    padding-bottom: 0;
}

.small, small {
    font-size: 12px;
    line-height: 150%;
    letter-spacing: 0;
}

.info{
  position: absolute;
  font-size: 12px;
  line-height: normal;
  letter-spacing: -0.36px;
  right: 12px;
  bottom: 20px;
}

.info .btn, .info .btn:hover, .info .btn:focus{
  padding: 0;
  margin: 0;
  text-transform: uppercase;
  font-family: "Helvetica Neue LT Std Medium", sans-serif;
  font-size: 12px;
  line-height: normal;
  letter-spacing: -0.36px;
  right: 12px;
  bottom: 20px;
  color: #fff;
  background: transparent;
  border:0;
}

.info img{
  vertical-align: middle;
  margin-top: -3px;
  margin-right: 4px;
}

.form-group label {
    max-width: calc(100% - 20px);
}


.invalid-feedback{
  text-transform: none;
  position: absolute;
    display: block;
    bottom: -28px;
}


/* chrome autofill */

.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus,
.form-control:-webkit-autofill:active {
  -webkit-text-fill-color: #fff; /* testo bianco */
  box-shadow: 0 0 0px 1000px #000 inset; /* fondo nero */
  -webkit-box-shadow: 0 0 0px 1000px #000 inset;
  border: 0; 
  border-bottom: 1px solid #fff;
  transition: background-color 9999s ease-in-out 0s;
}

.form-floating .form-control:-webkit-autofill ~ label {
  transform: scale(.85) translateY(-0.5rem) translateX(0.15rem);
  color: #fff; /* label più soft */
}


footer { 
  font-size: 12px;
  line-height: 140%;
  letter-spacing: 0;
  padding-bottom: 48px;
}


@media (max-width:767px) {
  footer {
    padding-bottom: 48px;
  }
  footer hr{
    margin-bottom: 24px;
  }
  
}

.modal-dialog {
  max-width: fit-content; 
  width: auto;    
  margin-left: auto;
  margin-right: auto;
}

.modal-content {
  width: auto;
  background-color: #000;
  border: 1px solid #fff;
  border-radius: 0;
}

.modal-header{
  text-align: center;
  border: 0;
}

.modal-title.fs-5 {
  font-size: 16px;
}

.btn-close{
  position: absolute;
  right: 15px;
  top:15px
}

.btn-close:focus {
    box-shadow: none;
}

.modal-body{
  padding-top: 0;
}

.modal-footer{
    border-top: 0;
    justify-content: center;
    padding-top: 0;
}

.middle{
  height: calc(100vh - 100px);
  flex-wrap: wrap;
}

@media (max-width:767px) {
  .middle{
  height: calc(100vh - 200px);
  flex-wrap: wrap;
}
.mobile-size{
  max-width: 150px;
}

}