/* applyformStyles.css */
body {
    background-image: url('coolBG.jpg'); /* Path to your background image */
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
}

/* Style for the red asterisk */
.required {
    color: red;
    margin-left: 4px; /* Adjust left margin if needed */
    vertical-align: middle; /* Align to the middle of the text */
    line-height: 1; /* Adjust this value for fine-tuning */
    
}

.form-wrapper {
    background: rgba(255, 255, 255, 0.473); /* White background with opacity for glass effect */
    border-radius: 10px; /* Rounded corners */
    padding: 20px;
    max-width: 800px; /* Adjust as needed */
    margin: 50px auto; /* Center the form horizontally */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow */
    backdrop-filter: blur(10px); /* Glass effect */
}

h1 {
    text-align: center;
}

form {
    display: flex;
    flex-direction: column; /* Stack form elements vertically */
}

label {
    margin-bottom: 0px; /* Space between label and input */
    color: rgb(0, 0, 0);
    font-weight: 600;
}

/* Input styles */
input[type="text"],
input[type="email"],
input[type="date"],
input[type="tel"],
select {
    width: 100%;
    box-sizing: border-box;
    padding: 8px;
    border: 1px solid #ccc; /* Normal border for input fields */
    border-radius: 4px;
}

/* Error state for inputs */
.error {
    border: 2px solid red; /* Change the border colour to red */
}

/* Focus state */
input:focus {
    border: 2px solid red; /* Red border on focus */
}

/* Ensuring that error class retains its style */
input.error {
    border: 2px solid red; /* Keep red border for invalid input */
}

/* Optional: To ensure a smooth visual experience */
input.error,
select.error {
    border: 2px solid red; /* Remove default outline for better appearance */
}



/* General button styling */
button {
    width: 200px; /* Adjust width as needed */
    padding: 10px 20px;
    border: none;
    color: white;
    font-size: 16px;
    cursor: pointer;
    text-align: center; /* Center text inside button */
    border-radius: 10px; /* Rounded corners */
    margin: 10px auto; /* Center horizontally and space around buttons */
    display: block; /* Ensure block level so margin auto works */
    transition: background-color 0.3s ease, transform 0.3s ease; /* Smooth transition for hover effects */
}

/* Add Reference button styling */
#actionbuttons {
    background-color: #B08F70; /* Green background */
}
#uploadCVButton {
    background-color: #B08F70; /* Change to your desired color */
    color: white; /* Text color */
  }
  
  /* Hover effect */
  #uploadCVButton:hover {
    background-color: #ffffff; /* Darker green */
    color: black;
    transform: scale(1.05); /* Slightly increase size on hover */
  }

#actionbuttons:hover {
    background-color: #ffffff; /* Darker green on hover */
    color: black;
    transform: scale(1.05); /* Slightly increase size on hover */
}

/* Submit button styling */
.custom-submit {
    background-color: #308a0c; /* Change to your desired color */
    color: white; /* Text color */
}
.custom-submit:hover {
    background-color: #ffffff; /* Change to your desired color */
    color: rgb(0, 0, 0); /* Text color */
    transform: scale(1.05); /* Slightly increase size on hover */
}

/* Consent button styling */
#consentButton {
    background-color: #28a745; /* Green color for consent */
    color: white; /* Text color */
    border: none; /* Remove border */
    border-radius: 5px; /* Rounded corners */
    padding: 10px 20px; /* Padding for size */
    cursor: pointer; /* Pointer cursor on hover */
    font-size: 16px; /* Font size */
    transition: background-color 0.3s; /* Smooth transition */
    
}

#consentButton:hover {
    background-color: #218838; /* Darker green on hover */
    transform: scale(1.05); /* Slightly increase size on hover */
}

/* Cancel button styling */
#cancelButton {
    background-color: #dc3545; /* Red color for cancel */
    color: white; /* Text color */
    border: none; /* Remove border */
    border-radius: 5px; /* Rounded corners */
    padding: 10px 20px; /* Padding for size */
    cursor: pointer; /* Pointer cursor on hover */
    font-size: 16px; /* Font size */
    transition: background-color 0.3s; /* Smooth transition */
  
}

#cancelButton:hover {
    background-color: #c82333; /* Darker red on hover */
    transform: scale(1.05); /* Slightly increase size on hover */
}


/* Add button styles */
.addbutton {
    width: 200px;
    padding: 10px 20px;
    background-color: #66ff00;
    border: none;
    color: white;
    font-size: 16px;
    cursor: pointer;
    text-align: center; /* Center text inside button */
    border-radius: 10px; /* Rounded corners for buttons */
    margin: 10px auto; /* Space around buttons and centre horizontally */
    display: block; /* Ensure block level so margin auto works */
}

.addbutton:hover {
    background-color: #fdfdfd;
}

/* Checkbox group styles */
.checkbox-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Create 3 equal columns */
    gap: 10px; /* Space between checkboxes */
    margin-bottom: 15px; /* Space below checkbox groups */
    margin-top: 10px;
}


.checkbox-group label {
    display: flex;
    align-items: center; /* Align checkbox and label vertically */
    margin-bottom: 5px; /* Space between checkboxes */
}

.checkbox-group input[type="checkbox"] {
    margin-right: 10px; /* Space between checkbox and label */
    
}

/* Container for the reference entry */
.reference-entry {
    display: flex;
    flex-direction: column;
    border: 1px solid #ddd;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 5px;
}

/* Ensure the container for the label and button aligns them properly */
.reference-header {
    display: flex; /* Align items in a row */
    align-items: center; /* Center items vertically */
    justify-content: space-between; /* Space between label and button */
    margin-bottom: 10px; /* Space below the header */
}

/* Remove button styles */
.remove-button {
    width: auto; /* Fit content */
    height: auto; /* Fit content */
    padding: 0; /* Remove padding */
    background: none; /* Transparent background */
    border: none; /* No border */
    cursor: pointer; /* Pointer cursor */
    position: relative; /* For positioning the circle */
    display: inline-flex; /* Fit the content */
    align-items: center; /* Center vertically */
    justify-content: center; /* Center horizontally */
    margin-left: 10px; /* Space between label and button */
}

/* Trash icon styling */
.trash-icon {
    width: 16px; /* Size of the icon */
    height: 16px; /* Size of the icon */
    color: rgb(148, 23, 23); /* Icon color */
    transition: transform 0.3s ease, background-color 0.3s ease;
    position: relative; /* Ensure it's above the circle */
    z-index: 1; /* Make sure the icon stays above the circle */
}

/* Circle around the icon */
.remove-button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px; /* Size of the circle */
    height: 30px; /* Size of the circle */
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.1); /* Light color for the circle */
    opacity: 0; /* Invisible by default */
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 0; /* Ensure circle stays behind icon */
}

.remove-button:hover::before {
    opacity: 1; /* Visible on hover */
    transform: translate(-50%, -50%) scale(1.5); /* Enlarge the circle on hover */
    background-color: rgba(0, 0, 0, 0.2); /* Slightly darker color for hover */
}

/* Hover state for trash icon */
.remove-button:hover .trash-icon {
    transform: scale(1.5); /* Enlarge icon on hover */
}


/* Popup styles */
.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.popup-content {
    background: #fff;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
}

.popup-content button {
    padding: 10px 20px;
    background-color: #d40e0e;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.popup-content button:hover {
    background-color: #ffffff;
    font-size: larger;
    border: 2px solid #d80e0e;
    color: #d40e0e;
}
