 body {
     font-family: Arial, sans-serif;
     background-color: #f4f4f4;
     margin: 20px;
     padding-bottom: 100px
 }

 header {
     background-color: #1a73e8;
     /* Vibrant blue */
     color: white;
     padding: 10px 0;
     /* Reduced space in the header */
     text-align: center;
 }

 footer {
     background-color: #17a2b8;
     /* Slate grey */
     color: white;
     padding: 10px 0;
     text-align: center;
     position: fixed;
     bottom: 0;
     width: 100%;
 }

 .form-container {
     background-color: white;
     padding: 30px;
     border-radius: 8px;
     box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
 }

 h1 {
     margin-bottom: 20px;
     /* Reduced margin for a more compact look */
 }

 .form-group label {
     font-weight: bold;
 }

 .form-group {
     margin-bottom: 15px;
 }

 input[type="submit"] {
     background-color: #4CAF50;
     color: white;
     border: none;
     cursor: pointer;
 }

 input[type="submit"]:hover {
     background-color: #45a049;
 }

 fieldset {
     border: 1px solid #ccc;
     padding: 20px;
     margin-bottom: 20px;
 }

 legend {
     font-size: 1.2em;
     font-weight: bold;
 }

 .error {
     color: red;
     font-size: 0.875em;
     margin-top: 5px;
     display: inline-block;
 }

 /* Styling the validation messages with a tooltip-like appearance */
 .error {
     position: absolute;
     background-color: #f8d7da;
     color: #721c24;
     padding: 5px 10px;
     border-radius: 5px;
     box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
     margin-top: 5px;
     font-size: 0.875em;
 }