body {
  position:absolute;
  width:100vw;
  min-height:129vw;
  font-family: Ciutadella,Verdana, Tahoma, sans-serif;
}

.background-container {
  position:absolute;
  width:100vw;
  min-height:129vw;
  left:0;
  top:0;
  z-index:-1;
}

.background-image 
{
  width: 100%;
  height: auto;
}

.banner-container {
  position: absolute;
  width: 60vw;
  left: 7vw;
  top: 47.45vw;
  z-index: 1;
  color: white;
  text-align: left;
  font-size: 3vw;
  font-weight:bold;
}

.content-container {
  position: absolute;
  width: 100vw;
  left: 0;
  top: 75vw;
  z-index: 1;
  height: 54.45vw;
}

.content-form-container {
  position: absolute;
  top: 0;
  width: 70vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  font-size: 1.4vw;
  line-height: 1.45vw;
}

.form-line-container {
  position:relative;
  width:100%;
  display:flex;
  justify-content:left;
  column-gap: 1vw;
  margin-bottom:1vw;
}

.error-line-container {
  position:relative;
  width:100%;
  display:block;
  justify-content:left;
  margin-bottom:1vw;
  color:red;
  font-size: 1.2vw;
  font-weight: bold;
}

.form-label {
  width: 100%;
  text-align: left;
  font-size: 1.4vw;
  font-weight: bold;
}

.form-disclaimer {
  width: 100%;
  text-align: left;
  font-size: 1.2vw;
  font-weight: normal;
}

.form-input {
  width: 100%;
  height: 1.9vw;
  border: 1px solid black;
  background-color: white;
  font-size: 1.4vw;
}

.select-input {
  width: 100%;
  height: 1.9vw;
  border: 1px solid black;
  background-color: white;
  font-size: 1.3vw;
}

.half-line {
  width:48vw;
  display:inline-block;
}

.full-line {
  width:100%;
}

.float-line {
  width:auto;
  display:inline-block;
}

.content-thankyou-container {
  position:absolute;
  top:0;
  width:70vw;
  left:50%;
  transform: translateX(-50%);
  z-index:1;
  text-align:left;
  font-size: 3vw;
}

.content-error-container {
  position:absolute;
  top:0;
  width:70vw;
  left:50%;
  transform: translateX(-50%);
  z-index:1;
  text-align:left;
  font-size: 3vw;
}

.button-container {
  position:relative;
  width:100%;
  display:flex;
  justify-content:center;
}

.button {
  cursor: pointer;
  padding: 1.5vw 2.5vw;
  border: 1px solid #135ba5;
  background-color: #135ba5;
  color: white;
  font-size: 3vw;
  user-select: none;
  margin-top: 3vw;
  border-radius: 0.75vw;
}

.city {
  width: 47.2vw;
}

.state {
  width: 10vw;
}

.zipcode {
  width: 10vw;
}

.error {
  border: 2px solid red;
}

@media only screen and (max-width: 450px) {

  .banner-container {
    position: absolute;
    width: 60vw;
    left: 7vw;
    top: 42vw;
    z-index: 1;
    color: white;
    text-align: left;
    font-size: 6vw;
    font-weight: bold;
  }
  
  .content-form-container {
    position: absolute;
    top: 0;
    width: 90vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    font-size: 4.5vw;
    line-height: 4.6vw;
  }
  
  .form-line-container {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: left;
    column-gap: unset;
    margin-bottom: unset;
    flex-wrap: wrap;
  }
  
  .half-line {
    width: 95vw;
    display: inline-block;
    margin-bottom: 2vw;
  }

  .full-line {
    width: 95vw;
    display: inline-block;
    margin-bottom: 2vw;
  }
  
  .float-line {
    width: 100%;
    display: inline-block;
  }

  .floatspace {
    gap: 2vw;
    margin-bottom: 2vw;
  }

  .form-label {
    width: 100%;
    text-align: left;
    font-size: 4.5vw;
    font-weight: bold;
    line-height: 4.6vw;
  }
  
  .form-disclaimer {
    width: 100%;
    text-align: left;
    font-size: 3.5vw;
    font-weight: normal;
  }
  
  .form-input {
    width: 95%;
    height: 4.6vw;
    border: 1px solid black;
    background-color: white;
    font-size: 4.5vw;
  }

  .select-input {
    width: 98%;
    height: 6.5vw;
    border: 1px solid black;
    background-color: white;
    font-size: 4.5vw;
  }

  .button-container {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 5vw;
  }

  .button {
    display: flex;
    width: 40vw;
    height: 12vw;
    cursor: pointer;
    border: 1px solid #135ba5;
    background-color: #135ba5;
    color: white;
    font-size: 9vw;
    user-select: none;
    border-radius: 2.5vw;
    justify-content: center;
    align-items: center;
    font-weight: bold;
  }
  
  .error-line-container {
    color: red;
    font-size: 4.5vw;
    font-weight: bold;
  }

  .error {
    border: 2px solid red;
  }

  .content-thankyou-container {
    position: absolute;
    top: 0;
    width: 90vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    text-align: left;
    font-size: 7vw;
  }

  .content-error-container {
    position: absolute;
    top: 0;
    width: 90vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    text-align: left;
    font-size: 7vw;
  }

}