.intro-message{
  margin-bottom: 2vw;
  max-width: 100%;
}
.form-container{
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  background-color: #d9e8e9;
  padding: 3vw 22vw 3vw 22vw;
  box-sizing: border-box;
  margin-bottom: 3vw;
}
.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 15px;
}
.form-group {
  flex: 1 1 100%; /* Default 100% width */
  padding: 10px 10px 0px 0px;
  position: relative;
}
.form-group input {
  width: 100%;
  padding: 18px 22px;
  font-size: inherit;
  border: 1px solid #ccc;
  height: 50px;
}
.form-group textarea {
  width: 100%;
  height: 250px !important;
  font-family: inherit !important;
  font-size: inherit !important;
  resize: none;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.form-submit {
  width: 100%;
  padding: 15px;
  font-size: 16px;
  background-color: #232323;
  color: #fff;
  border: none;
  cursor: pointer;
  text-transform: uppercase;
}
.success-message{
  color: #04aa6d;
}
/* Tooltip */
.tooltip {
  display: none;
  background-color: #fce4e4;
  border: 1px solid #fcc2c3;
  padding: 5px 10px;
  position: absolute;
  top: -20px;
  font-size: inherit;
  font-family: inherit;
  color: #cc0033;
  white-space: nowrap;
  z-index: 10;
}

/*.tooltip::before {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  border-width: 5px;
  border-style: solid;
  border-color: #fcc2c3 transparent transparent transparent;
}*/

/* Tooltip per la checkbox */
.campaign-signup.with-tooltip {
  position: relative;
  display: inline-block;
}

.campaign-signup.with-tooltip .tooltip {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  margin: 2px 0px 0px 3px;
  padding: 0px 10px 0px 10px;
  width: fit-content;
}

.campaign-signup.with-tooltip.error .tooltip {
  display: block;
}

/* Responsive layout */
@media (min-width: 768px) {
  .form-group {
    flex: 1 1 48%;
    margin-bottom: 10px;
  }
  .form-group:nth-child(2n+1) {
    margin-right: 0%;
  }
  .form-row:last-child .form-group {
    flex: 1 1 100%;
  }
}

@media (max-width: 767px) {
  .form-group input{
    margin-bottom: 5vw;
  }
  .form-container{
    padding: 10vw 8vw 10vw 8vw;
    margin-bottom: 10vw;
  }
}