﻿/* Add custom styles to the container */
.container {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 10px !important;
}

/* Add custom styles to form elements */
.form-floating {
    margin-bottom: 20px !important;
}

.form-group {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 1rem;
}

    .form-group label {
        font-weight: bold !important;
    }

    .form-group input[type="text"],
    .form-group input[type="date"],
    .form-group select {
        width: 100%;
        padding: 0.5rem;
        margin-top: 0.5rem;
        border: 1px solid #ced4da;
        border-radius: 5px;
        transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    }

        .form-group input[type="text"]:focus,
        .form-group input[type="date"]:focus,
        .form-group select:focus {
            border-color: #80bdff;
            outline: 0;
            box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25);
        }

/* Add custom styles to alerts */
.alert {
    margin-top: 20px;
    padding: 15px;
    border-radius: 5px;
    color: #004085;
    background-color: #cce5ff;
    border-color: #b8daff;
}

input:hover {
    border-color: #007bff; /* Change border color on hover */
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Add shadow on hover */
}

select:hover {
    border-color: #007bff; /* Change border color on hover */
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Add shadow on hover */
}

.form-switch .form-check-input {
    width: 3em !important;
    margin-left: -2.5em !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
    background-position: left center;
    border-radius: 2em;
    transition: background-position .15s ease-in-out /*height: 24px !important; margin-right: 15px;*/;
    height: 1.5em !important;
    margin-right: 10px !important;
}

.col-4 {
    flex: 0 0 auto;
    width: 39.333333% !important;
}
/*.spinner-border {
    display: none !important;
}*/
.labelBold {
    font-weight: 400 !important;
    padding-bottom: 7px !important;
}

.form-select-lg {
    font-size: 17px !important;
}

label {
    margin-bottom: 4px !important;
}




/* Multi-select dropdown */
.form-select[multiple] {
    height: 150px; /* Set the height */
    width: 100%; /* Full width */
    border: 1px solid #ced4da; /* Light border */
    border-radius: 0.25rem;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057; /* Text color */
    background-color: #fff; /* White background */
    overflow-y: auto; /* Enable scrolling */
    appearance: none; /* Remove default styling */
    outline: none; /* Remove focus outline */
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

    /* Style for selected options */
    .form-select[multiple] option:checked {
        background-color: #007bff; /* Blue background for selected */
        color: white; /* White text for selected */
    }

    /* On focus */
    .form-select[multiple]:focus {
        border-color: #80bdff; /* Blue border on focus */
        box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    }

    /* Optional: Adjust the font size and spacing for options */
    .form-select[multiple] option {
        padding: 10px;
        font-size: 16px;
    }

        /* Optional: Adjust placeholder and disabled option appearance */
        .form-select[multiple] option[disabled] {
            color: #6c757d; /* Gray color for disabled options */
        }
input[type=number] {
    -moz-appearance: textfield; /* Firefox */
}

    /* Hide arrows in Firefox */
    input[type=number]::-webkit-inner-spin-button,
    input[type=number]::-webkit-outer-spin-button {
        -webkit-appearance: none; /* Chrome, Safari, Edge */
        margin: 0; /* Remove margin */
    }



label > span {
    color: #800000; /* Darker foreground color */
    font-size: 14pt; /* Set font size */
    font-weight: bold; /* Set font weight */
    padding: 2px; /* Optional: Add padding for better visibility */
}


legend > span {
    color: #800000; /* Darker foreground color */
    font-size: 14pt; /* Set font size */
    font-weight: bold; /* Set font weight */
    padding: 2px; /* Optional: Add padding for better visibility */
}


.custom-radio-container {
    display: inline-block;
    margin-right: 20px; /* Adds spacing between buttons */
}

.radio-container {
    display: inline-flex;
    align-items: center;
    position: relative;
    padding-left: 35px;
    cursor: pointer;
    font-size: 18px;
    user-select: none;
}

    .radio-container input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0;
    }

    .radio-container .checkmark {
        position: absolute;
        top: 0;
        left: 0;
        height: 20px;
        width: 20px;
        background-color: #eee;
        border-radius: 50%;
    }

    .radio-container:hover input ~ .checkmark {
        background-color: #ccc;
    }

    .radio-container input:checked ~ .checkmark {
        background-color: #2196F3;
    }

    .radio-container .checkmark:after {
        content: "";
        position: absolute;
        display: none;
    }

    .radio-container input:checked ~ .checkmark:after {
        display: block;
    }

    .radio-container .checkmark:after {
        top: 6px;
        left: 6px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: white;
    }

.custom-radio-container label {
    font-weight: normal !important;
}

.radio-container legend {
    float: none !important;
    width: 0;
}


.custom-fieldset {
    border: 2px solid black; /* Black border for the fieldset */
    border-radius: 5px;
    padding: 20px;
    margin: 20px 0;
    position: relative;
}

.custom-legend {
    font-size: 1rem;
    font-weight: bold;
    color: black; /* Legend text color */
    padding: 0 10px;
    position: absolute; /* Positioning legend within the fieldset border */
    top: -16px; /* Adjust legend's vertical position */
    left: 10px; /* Adjust legend's horizontal position */
    background: #fff; /* Match background with fieldset to create a seamless effect */
    border: 1px solid black; /* Optional border around the legend */
    border-radius: 5px;
    padding: 2px 8px; /* Padding for better spacing */
    width: 50% !important;
}


@media (max-width: 768px) {
    .custom-legend {
        width: 72% !important; /* Increase the width for mobile devices */
    }

}
.radio-container input[type="radio"]:focus + .checkmark {
    outline: 2px solid #007bff; /* Highlight outline for focus */
    outline-offset: 2px; /* Optional spacing for outline */
}
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
