body {
    font-family: Arial, sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("img/bg.png");
    background-repeat: repeat;
    background-color: #f7f7f7;
}

.calculator {
   /* padding: 30px; */
}

.navbar { display: none }

.header { text-align: center; padding: 20px 20px 10px 20px; }

.headericons { font-size: 1.2em; display: none; }

.calculate input, .calculate button {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;  /* Ensures spacing between elements */
    border: 1px solid #ccc;
    border-radius: 5px;
}

.section button {
}

h1 { margin-bottom: 1rem; font-weight:bold; font-size: 2em; }

.header h1 { margin-bottom: 3rem }

h2 { margin-bottom: 1.5rem; font-size: 1.1em; line-height:1.3em }

h3, h4 {
    font-weight: bold;
    /*color: #ffffff;
    background-color: cadetblue;
    border-radius: 3px;
    padding: 5px 7px;
    display: inline-flex;*/
    text-transform: uppercase;
    font-size: 1.2rem;
}

h4 { text-align: center; }

.fa_icon {
    position: absolute;
    top: 30px;
    right: 30px;
    font-size: 1.5rem;
}

.fa_icon_results {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 1.5rem;
}

p.header-text { margin-bottom: 0; }

span.version {
    font-size: 0.8rem;  /* Adjusted for better visual compatibility */
    display: inline-block;  /* Ensures alignment with surrounding text */
    vertical-align: middle;
}


.card {
    position: relative;
    padding: 10px;
    background-color: #ffffff;  /* Sets a consistent background for readability */
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);  /* Subtle shadow for depth */
    width: 100%;  /* Full width within its container */
    max-width: 400px;  /* Maximum width to ensure content is legible */
}

.card-title { margin-bottom: 15px; }

p.card-text { font-style: italic; margin-top: 0.3rem; margin-bottom: 1.3rem; color: #000000; }

div.input-group.mb-4:last-child { margin-bottom: 0!important; }

div.result-main .alert:last-child { margin-bottom: 0!important; }

label {
    margin: 10px 0 5px 0;
    font-weight: bold;
}

.alert-welcome {
    margin-left: 5%;
    margin-right: 5%;
}


/* RESULTS */

.result-main p {
    line-height: 1.75em;
    margin-top: 0.5rem;
    margin-bottom: 0;
}

span.resultdata {
    font-size: 0.9em;
}


.alert-heading { margin-bottom: 15px; }

.alert-success, .alert-warning { color: #000000; }

.bg-warning { color: #000000; }

/* BAR */

.syringe-bar {
    position: relative;
    height: 40px; /* Adjust height as necessary */
    background-color: #eee; /* Light grey background for visibility */
    margin: 30px 5px 55px 5px;
    border: 2px solid #e5e5e5;
}

.syringe-mark {
    position: absolute;
    height: 100%;
    width: 2px;
    background-color: black; /* Black marks */
}

.syringe-label {
    position: absolute;
    color: black; /* Black text for labels */
    top: 30px; /* Position below the marks */
    font-size: 12px;
}


.syringe-fill {
        height: 100%;
        background-color: #4CAF50;
        border-radius: 0px;
        transition: width 0.3s ease-in-out;
    }


/* Utilizing Bootstrap 5's grid for responsive layout */
.section {
    background-color: #ffffff;
    border-radius: 6px;
}

footer {
    padding: 40px 5px 0;
    margin: 0 -0.75rem;
}

footer, footer a, footer a:visited, footer .nav-link {
    color: #000000;
    text-decoration: none;
}

p.disclaimer { font-size: 0.8em; color: #495057 }


@media (min-width: 992px) {  /* Bootstrap's 'lg' breakpoint */
    .calculator {
        display: grid;
        grid-template-columns: repeat(1, 1fr);  /* Three columns */
        gap: 25px;  /* Space between columns */
    }
}

/* MOBILE STYLING */

@media (max-width: 768px) {

.alert-welcome {
    margin-left: 0;
    margin-right: 0;

.header h1 { margin-bottom: 1.3rem }

} /* END MOBILE STYLING */

input.readonly {
    background-color: #e9ecef; /* Bootstrap's disabled background color */
    color: #495057; /* Bootstrap's disabled text color */
    cursor: not-allowed;
}

/* Additional styling for elements */
.input-group-text {
    background-color: #e6e6e6;
    color: #000;
}

/* Syringe and other visualization specific styles */
#syringeVisualization, #syringeFill, #syringePlunger {
    border-radius: 10px;
}
