body {
  background-color: lightblue;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  margin: 0 auto;
  padding: 0;
}

#header {
  width: 100%;
  padding: 12px 20px;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  font-size: 3em;
}

.form_title {
  font-size: 2em;
}

#wrapper {
  width: 95%;
  height: 100%;
  text-align: left;
  margin: 0 auto;
}

.main {
  width: 100%; /* Ensures the field takes the full width */
  margin: 10px auto;
  font-size: 1.5em;
  text-align: left; /* Align input and label properly */
}

label {
  display: block;
  width: 100%; /* Ensure labels take full width */
  margin-bottom: 5px;
}

input[type="text"], input[type="email"], input[type="date"], input[type="tel"] {
  width: 100%; /* Take full width */
  padding: 12px;
  margin: 10px 0;
  font-size: 1rem;
  box-sizing: border-box;
  text-align: left; /* Align text to left */
}

#submit {
  margin: 10px auto;
  padding: 0 15px;
}

/* Media Query for smaller devices (Mobile-first approach) */
@media only screen and (max-width: 600px) {
  #wrapper {
    display: block;
  }
  
  .main {
    display: block;
    width: 100%; /* Ensure inputs are full width */
  }
  
  input[type="text"], input[type="email"], input[type="date"] {
    width: 100%;
  }
}

/* Media Query for medium devices (Tablet and smaller laptops) */
@media only screen and (min-width: 601px) and (max-width: 1024px) {
  #wrapper {
    display: block;
  }
  
  .main {
    display: block;
    width: 100%;
  }
  
  input[type="text"], input[type="email"], input[type="date"] {
    width: 95%;
  }
}

/* Styling checkboxes */
.checkbox-group {
  font-size: 1.2em; /* Increase font size for checkboxes */
  margin-top: 20px;
}

.checkbox-group label {
  display: block;
  margin: 12px 0;
}

.checkbox-group input[type="checkbox"] {
  margin-right: 10px; /* Add space between the checkbox and the label */
  transform: scale(1.2); /* Make the checkbox itself larger */
}

/* Media Query for large devices (Desktops) */
@media only screen and (min-width: 1025px) {
  fieldset {
    margin-bottom: 50px; /* Adjust this value to increase or decrease the spacing */
  }
  
  #wrapper {
    display: flex;
    justify-content: space-between;
  }

  .main {
    display: block;
    width: 45%; /* Adjust this for two-column layouts */
    text-align: left; /* Ensure the text and inputs are aligned */
  }

  input[type="text"], input[type="email"], input[type="date"] {
    width: 100%;
  }
}

/* Media Query for extra large devices (Very large desktops) */
@media only screen and (min-width: 1281px) {
  .main {
    font-size: 1.8em; /* Optionally scale the font size for larger screens */
  }
}
