/* Base styles for the application */
/* hsl(138, 80%, 65%)). nice bright pastel green*/

div {border: 1px dotted none;}

* {box-sizing: border-box;}

html, body {
    height: 100%;
    margin: 0;

    font-family: Arial, sans-serif;
    font-family: 'IBM Plex Sans', sans-serif;
    

    font-size: 14px;
    display: flex;
    flex-direction: column;}


main { 
    display: flex; 
    flex-direction: column;
    flex: 1; /* Allow main section to expand and take available space */
    padding: 0px;
    align-items: center;
    background: linear-gradient(to bottom, whitesmoke, #add8e6); /* whitesmoke to pastel blue */}

footer {
    background-color: #f4f4f4; /* Example color for footer */
    padding: 1rem;
    text-align: center;}

nav ul {
    list-style: none;
    display: flex;
    gap: 1rem;}
nav a {
    text-decoration: none;
    color: black}
a {text-decoration: none;
    color: blue}


.it-goes-like {
    display:flex;
    flex-direction:column;
    height:10px;
    width:10px;
    margin:1rem;
    padding:1rem;
    align-items:center;
    text-align: justify-all;
    justify-content: center;
    font-size: 1rem;
    line-height:1rem;
    font-weight: normal;
    border: 1px solid darkred;
    border-radius: 1rem;}

/* SITE FRAME */
/* ==================== */

.title {
    line-height:1rem;
    margin-top:0.5rem;
    margin-bottom:0.1rem;
    margin-left:0.75rem;
    font-size: 2.4rem;
    font-weight: bold;
    color: #333;
    padding:0.8rem; 
    padding-bottom:0.8rem; 
    padding-top:1rem}
.title a {text-decoration: none;
        color: #333; /* Change color to match the header text color */}
.title a:hover {text-decoration: none; /* Remove underline on hover */
                color: hsl(0, 0%, 3%);}
.title_row2 {
    line-height:0.8rem;
    margin-top:0rem;
    margin-bottom:0rem;
    font-weight: bold;
    color: #333;
    padding-right:0rem}
.title_row2 a {text-decoration: none;
        color: #333; /* Change color to match the header text color */}
.title_row2 a:hover {text-decoration: none; /* Remove underline on hover */
                color: hsl(0, 0%, 3%);}

.centered-title {
    line-height:1.5rem;
    margin-top:0.5rem;
    margin-bottom:0.1rem;
    font-weight: bold;
    color: #333;
    padding:1rem; 
    padding-bottom:0rem; 
    padding-top:0.9rem;}
.centered-title a {text-decoration: none;
        color: #333; /* Change color to match the header text color */}
.centered-title a:hover {text-decoration: none; /* Remove underline on hover */
                color: hsl(0, 0%, 3%);}

.right-title {
    text-align: right; 
    padding:0; 
    margin-left:0.8rem;
    margin-right:0.5rem; 
    margin-top:0.4rem;
    margin-bottom:0.6rem;

    line-height:1rem;    
    font-size: 2.25rem;
    font-weight: bold;
    color: #333;}
.right-title a {text-decoration: none;
        color: #333; /* Change color to match the header text color */}
.right-title a:hover {text-decoration: none; /* Remove underline on hover */
                color: hsl(0, 0%, 3%);}

.header_link_first {
    font-size: 1.6rem;
    font-weight: normal;
    margin-left: 3rem;
    text-decoration: none;}
.header_links {
    font-size: 1.6rem;
    font-weight: normal;
    margin-left: 1rem;
    text-decoration: none;}
.header_links_4th {
    display:none}

.header_links_small {
    font-size: 1.1rem;
    font-weight: normal;
    text-decoration: none;}
.header_links_small_last {
    font-size: 1.1rem;
    font-weight: bold;
    text-decoration: none;}
.header_links_login {
    margin-top:0.9rem;
    font-size: 0.9rem;
    line-height:0.5;
    font-weight: normal;
    text-decoration: none;  }
.header_links_logout {
    font-size: 1rem;
    font-weight: normal;
    text-decoration: none;
    margin-left:-0.2rem; 
    margin-right:0.2rem; 
    text-decoration:underline; 
    color:#0000EE;}
.header_links_logout a {text-decoration: none;
        color: #333; /* Change color to match the header text color */}

/* ====================== */
@media (max-width: 600px) {

        .title {
            font-size: 1.5rem;
            line-height:1.4rem;
            margin-top:0.5rem;
            margin-left:0.25rem;
            margin-bottom:0.1rem;
            font-weight: bold;
            color: #333;  
            padding-top:0.5rem;
            padding-bottom:0.4rem; }

        .centered-title {
            line-height:1rem;
            margin-top:0.5rem;
            margin-bottom:0.2rem;
            font-size: 2.4rem;
            font-weight: bold;
            color: #333;
            padding-top:0.4rem;
            padding-bottom:0.4rem; }


        div.right-title {
            display:none;}

        .header_link_first {
            font-size: 1.05rem;
            font-weight: normal;
            margin-left: 1rem;
            margin-right: 0.1rem;
            margin-bottom: 0rem;
            text-decoration: none;}
        .header_links {
            font-size: 1.05rem;
            margin-left: 0rem;
            margin-right: 0.1rem;
            font-weight: normal;
            text-decoration: none;}
        .header_links_4th {
            display:inline;
            font-size: 1.05rem;
            margin-left: 0rem;
            margin-right: 0.1rem;
            font-weight: normal;
            text-decoration: none;}

        .header_links_login {
            display:none;
            margin-top:0rem;
            font-size: 0.9rem;
            line-height:0.1;
            font-weight: normal;
            text-decoration: none;  }

        .header_links_logout {
            display:none;
            margin-right:-1rem;
            margin-left:1rem;
            margin-top:0rem;}

        .header_links_small {
            display:none;
            font-weight: bold;
            text-decoration: none;}

    }
/* ================================================== */


/* Splash Pages  */
/* ====================== */

.container3 {
    max-width: 1050px;
    margin: 2rem auto;
    padding: 1rem 2rem;
    text-align: center;}

.container3 h2 {
    text-align:center;
    font-size:2.5rem;
    line-height:5rem;}

.container3 h3 {
    font-size:1.6rem;
    font-weight:normal;
    line-height:2.35rem;
    text-align: justify-all;}

.container3 h4 {
    font-size:1.5rem;
    line-height:1.75rem;}

.container3 h5 {
    font-size:1.6rem;
    font-weight:normal;
    line-height:2.2rem;}


.splash_container {
    display:flex;
    margin-top: 3rem;
    margin-left:2rem;
    margin-right:2rem;
    min-width:350px;
    max-width:1120px;
    flex-direction:column;
    align-items:center;
    padding: 1.2rem 1.2rem;
    padding-bottom: 0.5rem;
    text-align: center;
    border: 2px solid none; 
    border-radius:15px}

.splash_text {
    font-size:1.4rem;
    font-weight: normal;
    line-height: 2.25rem; /* Increased space between title and cards */}

.welcome {
        font-weight: bold;
        font-size:2rem;
        line-height:3rem;
        margin-top:0.5rem;}
.main_text {
    font-weight: normal;
    text-indent: 0rem;
    font-size:1.45rem;
    line-height:1.8rem;
    text-align: justify-all;
    margin-left: 1.75rem; 
    margin-right: 2.5rem;
    margin-bottom: 0.5rem}
.main_text_indent {
    font-weight: normal;
    text-indent: 0rem;
    font-size:1.6rem;
    line-height:2.25rem;
    text-align: justify-all;
    margin-left:0rem;
    margin-right:0rem;
    margin-bottom:1.5rem}

/* ====================== */
@media (max-width: 600px) {

        .container3 {
            margin: 2.5rem auto;
            margin-top: 3.5rem;
            padding: 1.5rem 1.75rem;
            text-align: justify-all;}

        .container3 h2 {
            font-size:2.1rem;
            line-height:3rem;}

        .container3 h3 {
            font-size:1.45rem;
            font-weight:normal;
            line-height:1.9rem;
            text-align: justify-all;}

        .container3 h4 {
            padding:0rem 2rem;
            font-size:1.3rem;
            line-height:1.75rem;}

        .container3 h5 {
            font-size:1.37rem;
            font-weight:normal;
            line-height:1.85rem;}
                
        .splash_container {
            width:85%;
            padding-top: 0.1rem; 
            padding-bottom: 0rem;
            padding-left: 0.7rem; 
            padding-right: 0.7rem;}

        .welcome {
            font-weight: bold;
            font-size:1.8rem;
            line-height:3.5rem;
            margin-top:0rem;}

        .welcome h2 {
            font-weight: bold;
            font-size:2.25rem;
            line-height:3.5rem;
            margin-top:0rem;}

        .main_text {
            font-weight: normal;
            text-indent: 0rem;
            font-size:1.2rem;
            line-height:1.6rem;
            text-align: justify-all;
            margin-left: 0.9rem; 
            margin-right: 1.1rem;
            margin-bottom: 0.75rem}

        .main_text_indent {
            font-weight: normal;
            text-indent: 0rem;
            font-size:1.33rem;
            line-height:1.64rem;
            text-align: justify-all;
            margin-left:0rem;
            margin-right:0rem;
            margin-bottom:0.5rem}
    }
/* ================================================== */


/* Questions */
/* ==================== */

.content-centered {
    display: flex;
    justify-content: center;
    align-items: center;
    height:100%;
    width:100%;}

.main-centered {
  display: flex;
  justify-content: center; /* Center the content vertically */
  align-items: center; /* Center the content horizontally (optional) */}

.container {
    min-width: 355px;
    max-width: 1100px;
    min-height: 50px;
    margin: 0.1rem 0.1rem;
    padding: 0.1rem;
    text-align: center;
    border-radius: 0.5rem;}

.container2 {
    width:99%;
    margin: auto;
    padding: 0.5rem 0.25rem;
    border: 1px solid none;
    margin-top:1.25rem; 
    text-align:justify;}

.container.qbox {
    min-width:900px;
    max-width:1000px;
    padding:0.2rem 0rem;
    margin: 3rem;
    border-radius: 10px;
    background-color: #f9f9f9;
    border: 2px solid black;}
.container.qbox h2 {
    font-size: 1.3rem;
    line-height: 1.2rem;
    font-weight:bold;
    margin: 1rem 0rem;}
.container.qbox h3 {
    font-size: 1rem;
    font-weight:normal;
    margin-right: 1rem; /* Reset default margin if needed */
    text-align:right}
.container.qbox h4 {
    font-size: 1.4rem;
    line-height:1.5rem;
    font-weight:normal;
    margin: 0.5rem 1.5rem; /* Reset default margin if needed */
    padding: 1rem; /* Reset default padding if needed */}
.container.qbox h5 {
    font-size: 1.1rem ;
    margin: 0.5rem; /* Reset default margin if needed */
    padding: 1rem; /* Reset default padding if needed */}

.container.qbox2 {
    min-width:1050px;
    max-width:1200px;
    padding:0.2rem 2rem;
    margin: 3rem;
    border-radius: 10px;
    background-color: whitesmoke;
    border: 2px solid black;}
.container.qbox2 h2 {
    font-weight:450; 
    font-size:1.1rem; 
    max-width:700px;
    font-style:italic;
    margin:0rem auto; 
    margin-bottom:2.5rem; 
    padding:0rem 4rem;
    line-height: 1.7rem;}
.container.qbox2 h3 {
    font-weight:normal; 
    font-size:1rem;
    margin-right: 1rem; /* Reset default margin if needed */
    text-align:right}
.container.qbox2 h4 {
    font-weight:450; 
    font-size:1.8rem; 
    margin:0rem auto; 
    margin-bottom:1rem;
    padding:1rem 2rem;
    line-height: 1.6rem;}

.question-container {
    margin: 24px auto;
    padding:0.5rem 0.5rem;
    border:2px solid none}
.question-container h3 {
    font-weight:normal; 
    font-size:1.3rem; 
    line-height:1.4em; 
    max-width:750px; 
    padding:0rem 3rem;
    margin:0.5rem auto}
.question-container h4 {
    font-weight:normal; 
    font-size:1rem; 
    line-height:1.5rem; 
    max-width:650px; 
    padding:0rem 3rem;
    margin:0.5rem auto}
.question-container h5 {
    font-weight:normal; 
    font-size:1.4rem; 
    line-height:2.0rem; 
    max-width:650px; 
    padding:0rem 3rem;
    margin:0.5rem auto}
.question-container h6 {
    font-weight:normal; 
    font-size:1.2rem; 
    line-height:1.6rem; 
    max-width:650px; 
    padding:0rem 3rem;
    margin:0.5rem auto}

.button-container {
    margin: 10px auto;
    min-width:300px;
    max-width:600px;}
.button-container2 {
    align-items:right;
    margin: 10px auto;
    min-width:330px;
    max-width:500px;}

.answer-btn {
    display: inline-block;
    background-color: white;
    color: black;
    border: 2px solid gray;
    border-radius: 6px;
    padding: 9px 13px;
    font-size: 1.1rem;
    cursor: pointer;
    margin: 5px;
    transition: background-color 0.3s ease;}
.answer-btn:hover {
    border: 2px solid black;
    border-radius: 6px;
    transition: background-color 0.3s ease;}
.answer-btn.selected {
    background-color: #C1EFEF;
    border: 2px solid black;
    border-radius: 6px;
    color: black;}

.answer-btn-small {
    display: inline-block;
    font-size:1rem; 
    padding: 6px 9px;
    background-color: white;
    color: black;
    border: 2px solid gray;
    border-radius: 6px;
    cursor: pointer;
    margin: 5px;
    transition: background-color 0.3s ease;}
.answer-btn-small:hover {
    border: 2px solid black;
    transition: background-color 0.3s ease;}
.answer-btn-small.selected {
    background-color: #C1EFEF;
    border: 2px solid black;
    color: black;}

.answer-btn2 {
    display: inline-block;
    background-color: white;
    color: black;
    border: 2px solid gray;
    border-radius: 6px;
    padding: 9px 13px;
    font-size: 1.1rem;
    cursor: pointer;
    margin: 5px;
    transition: background-color 0.3s ease;}


.answer-bt2:hover {
    border: 2px solid black;
    border-radius: 6px;
    transition: background-color 0.3s ease;}

.answer-btn2.light-blue {
    background-color: #C1EFEF;
    border: 2px solid black;}

.answer-btn2.dark-blue {
    background-color: hsl(220, 65%, 55%);
    color: whitesmoke;
    border: 2px solid black;}


.checkbox-container {
    display:flex;
    margin: 0.25rem; /* Adjusts spacing around the container */
    margin-left:0.1rem;
    text-align:center;
    align-items: center;
    flex-direction: column; /* Stacks checkboxes vertically */
    gap: 0.1rem; /* Adds spacing between each checkbox */}
.checkbox-container label {
    display: flex;
    font-size: 1.2rem; /* Ensures text is consistent in size */
    line-height:1.9rem;
    margin-bottom: 0.4rem;
    align-items: center; /* Aligns the checkbox and text in the same vertical line */
    cursor: pointer; /* Changes cursor to a pointer when hovering over the label */}
.checkbox-container input[type="checkbox"] {
    margin-right: 8px; /* Adds spacing between the checkbox and the label text */
    margin-bottom: 3px;
    width: 20px; /* Standard checkbox size */
    height: 18px;
    cursor: pointer; /* Ensures the checkbox itself is clickable */}


form label {
    font-size: 1.2rem; /* Adjust the size as needed */
    line-height: 1.9rem;
    display: block;
    margin-bottom: 0rem; /* Space between each radio button option */}

.form-group {
    text-align: center;
    line-height:1.5rem;
    margin-top: 30px;
    margin-bottom: 20px;
    margin-right: 0.5rem;
    margin-left:0.5rem}
.form-group h3 {
    font-size:1.3rem; 
    font-weight:normal;
    text-align: left; 
    margin-left: 1rem; 
    margin-bottom: 2rem; 
    line-height:1.8rem;}
.form-group h6 {
    font-size:1.3rem; 
    text-align: center; 
    margin-left: 2.5rem; 
    margin-bottom: 10px; 
    line-height:1.6rem}

.form-groupA {
    text-align: center;
    line-height:1.5rem;
    width:95%;
    margin:1.5rem auto;
    padding:0rem 2rem;}

.form-groupA h2 {
    font-size:1.3rem; 
    text-align: center; 
    margin-bottom: 10px; 
    line-height:1.1rem;
    margin-left:2rem}
.form-groupA h3 {
    font-size:1.3rem; 
    font-weight:normal;
    text-align: left; 
    margin-left: 1rem; 
    margin-bottom: 2rem; 
    line-height:1.8rem;}
.form-groupA h6 {
    font-size:1.4rem; 
    font-weight:normal;
    text-align: center; 
    margin-left: 1rem; 
    margin-bottom: 1rem; 
    margin-top: 0.5rem; 
    line-height:2rem;}

.form-control {
    width: 90%;              /* Full width of parent container */
    padding: 8px;            /* Padding inside the input field */
    font-size: 15px;          /* Text size */
    margin-left: 20px;            /* Padding inside the input field */
    border: 2px solid gray;   /* Light gray border */
    border-radius: 4px;       /* Slightly rounded corners */
    background-color: #fff;   /* White background */
    color: #333;              /* Dark gray text color */}

.form-control:focus {
    /* Focus state (on click or tab navigation) */
    border-color: #007bff;       /* Blue border on focus */
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Subtle blue shadow on focus */
    outline: none;               /* Removes the default browser outline */}

.horizontal-radio {
            padding:0rem 1rem; 
            margin:1.5rem auto;
            margin-bottom:2rem;}
.horizontal-radio label.radio-inline {
        display: inline-block;
        margin-right: 18px;
        font-size:1.2rem; 
        line-height:3rem;
        margin-top: 0.15rem; 
        margin-bottom: 0.3rem;}

.horizontal-radio label.radio-stacked {
        margin-right: 18px;
        font-size:1.2rem; 
        line-height:2.5rem;
        margin-top: 0.15rem; 
        margin-bottom: 0.3rem;}

.horizontal-radio input[type="radio"] {
    width: 20px; /* Adjust the size */
    height: 18px; /* Adjust the size */
    margin-top: -1px; /* Fine-tune position */
    vertical-align: middle; /* Align with the text */}

.horizontal-radio-constrained {
        display:flex;
        justify-content:space-between;
        width:80%;
        padding:0rem 1rem; 
        margin:1.5rem auto;
        margin-bottom: 3rem;}
.horizontal-radio-constrained label.radio-inline-constrained {

        display: inline-block;
        min-width:60px;
        max-width:90px;
        text-align:center;
        vertical-align:top;
        font-size:1.1rem; 
        line-height:1.6rem;
        margin-top: 0.5rem; 
        margin-bottom: 1rem;}

.cat_w_freetext {
    display: flex;
    border:2px solid none;
    padding: 0rem;
    justify-content: center;
    align-items: center;
    margin:1.5rem auto;
    height:100%;
    width:50%;}

.slider-container {
    width: 65%;
    display:grid; 
    grid-template-columns: 1fr 5fr 1fr; /* Three equal columns */ 
    align-items: center;
    justify-content: center;
    margin: auto;
    padding: 0.25rem 0rem;}
.slider-value {
    margin-top: 0.1rem;
    margin-bottom: 2rem;
    font-size: 1.25rem;}
.slider-label {font-size: 1.1rem;}
.slider {
    width: 90%; /* Fixed width for the slider */
    margin: 2rem auto; /* Optional: Space between slider and labels */}

input[type="range"] {
        -webkit-appearance: none; /* Override default */
        --thumb-color: whitesmoke; /* Default thumb color */
        /*width: 85%;  /* You can set a specific value like 300px if needed */}
/* Optional: Style the slider track (the bar) */
input[type="range"]::-webkit-slider-runnable-track {
    background: linear-gradient(to right, black 0%, gray 50%, blue 100%);
    height: 6px;
    border-radius: 8px;}
/* Customize the slider thumb (the handle) */
input[type='range']::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 38px;
  margin-top:-16px;
  background-color: var(--thumb-color);
  cursor: pointer;
  border-radius:5px;
  border:2px solid hsl(0,0%,27%);}


/* ============================== */
@media (max-width: 600px) {

        .container.qbox {
            min-width:320px;
            padding:0.75rem;
            margin: 2rem 1.5rem;
            width:97%}
        .container.qbox2 {
            width:95%;
            margin-top:1rem;
            min-width:330px;
            padding:0.2rem 0rem;}

        .form-group {
            width:95%;
            margin:15px auto;
        }
        .form-group h6 {
            font-size:1.4rem; 
            text-align: center; 
            margin-left: 1.5rem; 
            margin-bottom: 0.5rem; 
            line-height:1.9rem}

        .form-groupA {
            line-height:1.5rem;
            width:95%;
            margin:0.5rem auto;
            margin-top:2.5rem;
            padding:0rem 0rem;}
        .form-groupA h2 {
            font-size:1.4rem; 
            text-align: center; 
            margin-bottom: 10px; 
            line-height:1.7rem;
            margin-left:1.7rem}
        .form-groupA h6 {
            font-size:1.4rem; 
            font-weight:normal;
            text-align: center; 
            margin-left: 1rem; 
            margin-bottom: 0.5rem; 
            margin-top: 0.5rem; 
            line-height:2rem;}

        .form-control {
            padding: 5px;            /* Padding inside the input field */
            font-size: 13px;          /* Text size */
            margin-left: 15px;              /* Dark gray text color */}

        .horizontal-radio {
            padding:0rem 2rem; 
            max-width:400px;
            margin:0rem auto;
            margin-bottom: 2rem;}
        .horizontal-radio label.radio-inline {
            display: inline-block;
            padding:5x 5px;
            margin-right: 5px;
            font-size:1.3rem; 
            line-height:1.9rem;
            margin-top: 4px; 
            margin-bottom: 3px}
        .horizontal-radio label.radio-stacked {
            padding:5x 5px;
            margin-right: 5px;
            font-size:1.3rem; 
            line-height:1.5rem;
            margin-top: 1rem; 
            margin-bottom: 0rem}

        .horizontal-radio input[type="radio"] {
            width: 18px; /* Adjust the size */
            height: 16px; /* Adjust the size */
            margin-top: -1px; /* Fine-tune position */
            vertical-align: middle; /* Align with the text */}


        .horizontal-radio-constrained {
            width:95%;
            display:flex;
            justify-content:space-between;
            padding:0rem 0.5rem; 
            margin:0rem auto;
            margin-bottom: 3rem;}
        .horizontal-radio-constrained label.radio-inline-constrained {
            display: inline-block;
            border:1px solid none;
            min-width:40px;
            max-width:50px;
            text-align:center;
            vertical-align:top;
            font-size:1.1rem; 
            line-height:1.5rem;
            margin-top: 0.5rem; 
            margin-bottom: 0rem;}

        .container.qbox h2 {
            font-size: 1.5rem;
            line-height: 1.8rem;
            font-weight:bold;
            margin: 1rem 0rem;
            margin-top:3rem}

        .container.qbox2 h2 {
            font-weight:450; 
            font-size:1.1rem; 
            max-width:700px;
            font-style:italic;
            margin:0rem auto; 
            margin-bottom:2.5rem; 
            padding:0rem 2rem;
            line-height: 1.4rem;}
        .container.qbox2 h4 {
            font-weight:450; 
            font-size:1.35rem; 
            margin:0rem auto; 
            margin-bottom:1.5rem;
            margin-top:1.5rem;
            padding:0rem 2rem;
            line-height: 1.5rem;}

        .question-container h5 {
            font-weight:normal; 
            font-size:1.4rem; 
            line-height:1.9rem; 
            width:90%;
            padding:0rem 0.5rem;
            margin:0.5rem auto}

        .question-container h6 {
            font-weight:normal; 
            font-size:1.2rem; 
            line-height:1.4rem; 
            max-width:650px; 
            padding:0rem 1rem;
            margin:0.5rem auto}

        .button-container {
            margin: 10px auto;
            width:80%;}

        .answer-btn {
            display: inline-block;
            background-color: white;
            color: black;
            border: 1px solid gray;
            border-radius: 5px;
            padding: 6px 8px;
            font-size: 1.2rem;
            cursor: pointer;
            margin: 3px;
            transition: background-color 0.3s ease;}
        .answer-btn:hover {
            border: 1px solid black;
            transition: background-color 0.3s ease;}
        .answer-btn.selected {
            background-color: #C1EFEF;
            border: 2px solid black;
            border-radius: 6px;
            color: black;}

        .answer-btn-small {
            display: inline-block;
            font-size:1rem; 
            padding: 5px 6px;
            background-color: white;
            color: black;
            border: 1px solid gray;
            border-radius: 5px;
            cursor: pointer;
            margin: 3px;
            transition: background-color 0.3s ease;}
        .answer-btn-small:hover {
            border: 1px solid black;
            border-radius: 5px;
            transition: background-color 0.3s ease;}
        .answer-btn-small.selected {
            background-color: #C1EFEF;
            border: 1px solid black;
            border-radius: 5px;
            color: black;} 

        .answer-btn2 {
            padding: 5px 8px;
            font-size: 1.25rem;
            border: 2px solid gray;
            cursor: pointer}

        .cat_w_freetext {width:75%;} 

        .slider-container {width: 90%;}

        input[type='range']::-webkit-slider-thumb {
          -webkit-appearance: none;
          width: 18px;
          height: 35px;
          margin-top:-14px;}
            
    }
/* ================================================== */


/* Homepage and other*/
/* ==================== */

.container_first {
    display:flex;
    flex-direction:column;
    margin-top: 2.5rem;
    margin-left: 1.5rem;
    margin-right: 1rem;
    margin-bottom: -1rem;
    padding: 4rem;
    Border: 4px solid indigo;
    border-radius: 0.5rem;*/
    text-align: left;
    justify-content: center;}
.container_about  {
    display:flex;
    flex-direction:column;
    margin-top: 2.5rem;
    margin-left: 6.5rem;
    margin-right: 5rem;
    margin-bottom: -1rem;
    padding: 4rem;
    padding-bottom:0.5rem;
    text-align: left;
    justify-content: center;}

.card {
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.3); /* Enhanced shadow effect */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer; /* Indicate that the card is clickable */
    transition: transform 0.2s;
    position: relative;
    text-decoration: none; /* Remove underline for link styling */
    color: black; /* Ensure text color is black */
    overflow: hidden; /* Ensure text stays within card boundaries */}
.card h3 {
    margin: 0; /* Remove any margin around the card titles */
    font-size: 1.3rem; /* Reduced font size for card titles */
    line-height: 1.2; /* Adjust line height for better text wrapping */
    max-width: 80%; /* Limit the width for text wrapping */
    text-align: center; /* Center-align text */
    font-weight: 300; /* Lighter text weight */}
.card:hover {transform: scale(1.02);}    
.card p {font-size: 0.9rem;}

.card.baseline {
    font-size: 1.3rem;
    padding:0rem 3rem;
    background-color: #F5DEB3; /* Pastel beige */}
.card.button {
    display: inline-block;
    margin-top: 1rem;
    padding: 0.5rem 1rem;
    background-color: #007bff;
    color: #ffffff;
    text-decoration: none;
    border-radius: 0.25rem;}
.card.button:hover {
    background-color: #0056b3;}

.click_button {
    display:inline-block;
    margin:1.5rem auto;
    padding:0.8rem 1.3rem;

    text-align: center;
    font-size: 1.3rem;

    cursor: pointer; 
    transition: transform 0.2s;
    position: relative;
    text-decoration: none; 
    color: black; 
    overflow: hidden; 
    
    background-color: #C1EFEF;
    border: 1.5px solid black;
    border-radius: 0.75rem;
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.5);}
.click_button a {
    text-decoration: none; /* Remove underline */
    display: block; /* Ensure proper sizing */
    width: 100%; /* Let the link fill the button */
    text-align: center; /* Center text inside the link */}
.click_button:hover {transform: scale(1.07); /* Slightly enlarges when hovered */}

.user-info {
    font-size: 1em;
    margin: 0.5rem;
    color: #333;
    text-decoration: none;}
.user-info a {
    color: #007bff;
    text-decoration: none;}
.user-info a:hover {
    text-decoration: underline;}

.grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px; /* Increased space between cards */}
.login_existing {
    display: flex;
    justify-content: center; 
    font-size: 1rem;
    padding-bottom: 1rem;
    padding-top: 0.1rem;
    color: #333;
    align-items: center;}
.copyright { 
    font-size: 1rem;
    text-align: center;
    margin-top: 0.2rem;
    margin-bottom: 0rem}
.question {
    font-size: 1.5rem;
    margin-bottom: 1rem;}

.responses {
    display: flex;
    flex-direction: column;}
.response-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;}
.response-item input {
    margin-right: 0.5rem;}
.response-item .number {
    margin-right: 0.5rem;
    font-weight: bold;}

.radio-option {
    margin-bottom: 3px;}
.radio-option label {
    font-size: 2rem;}

.btn {
    padding: 10px 20px;
    font-size: 16px;
    background-color:white;
    border:2px solid gray}
.submit-button {
    margin-top: 1rem;
    padding: 0.5rem 1rem;
    border: none;
    background-color: red;
    color: green;
    cursor: pointer;
    display: block;
    width: 100%;
    text-align: center;}
.submit-container {
    display: flex;
    justify-content: center;
    margin-top: 40px; /* Adds space above the button */}
.submit-btn {
    padding: 10px 20px;
    font-size: 16px;
    background-color: #F5DEB3;
    color: black;
    border: 2px solid gray;
    border-radius: 5px;
    cursor: pointer;}
.submit-btn:hover {
    background-color: #F5DEB3;
    border: 2px solid black;}

.image-container {
    display: flex;
    justify-content: center;
    align-items: center;}
.image-container img {
    max-width: 100%;
    height: auto;}

/* Registration */
/* ==================== */

.registration-form {
    width: 575px;
    margin: 3rem;
    padding: 2rem 3rem;
    border: none;
    border-radius: 0.5rem;
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.4);
    text-align: center;}
.registration-form h2 {
    font-size:2rem; 
    margin-top:1rem; 
    margin-botton:5rem}
.registration-form h3 {font-size:1.7rem; line-height: 1.5rem; margin-top:1.5rem}
.registration-form h4 {font-size:1.1rem; line-height: 1.7rem}

.container-login {
    width: 500px;
    margin: 2rem auto;
    padding: 1rem 5rem;
    border: 1px solid gray;
    border-radius: 0.5rem;
    text-align: center;}
.container-login h2 {font-size:2rem; margin-top:1rem;}

.input-field {
    width: 100%;
    padding: 0.5rem;
    margin-bottom: 1rem;
    font-size: 1.5rem; /* Increase input text size */
    border: 1px solid #ccc;
    border-radius: 0.25rem;
    box-sizing: border-box;}

.register-button {
    width: 50%;
    padding: 0.75rem;
    font-size: 1rem; /* Increase button text size */
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: background-color 0.3s;}
.register-button:hover {
    background-color: #0056b3;}

/* ============================================ */
@media (max-width: 600px) {

        .container_about {
            display:flex;
            flex-direction:column;
            margin-top: 2.5rem;
            margin-left: 1.1rem;
            margin-right: 1.1rem;
            margin-bottom: -1rem;
            padding: 1.5rem 2rem;
            text-align: left;
            justify-content: center;}

        .submit-container {
            display: flex;
            justify-content: center;
            margin-top: 20px; /* Adds space above the button */}

        .registration-form {
            width: 80%;
            margin: 3rem;
            padding: 1rem 3rem;
            border: 1px solid black;
            border-radius: 0.5rem;
            box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.4);
            text-align: center;}
        .registration-form h2 {font-size:2rem; margin-top:1rem}
        .registration-form h3 {font-size:1.6rem; line-height: 1.8rem}

        .container-login {width: 85%;}

        .font12 {font-size: 1.1rem; 
            line-height:1.1;
            font-weight: normal}} 
/* ================================================== */


/* fonts/flash messages */
/* ==================== */ 

label {
    display: block;
    margin-bottom: 0.5rem;}


.font11 {font-size: 1.1rem; font-weight: normal}
.font12 {font-size: 1.2rem; font-weight: normal}
.font125 {font-size: 1.25rem; font-weight: normal}
.font13 {font-size: 1.3rem; font-weight: normal}
.font135 {font-size: 1.35rem; font-weight: normal}
.font14 {font-size: 1.4rem; font-weight: normal}
.font15 {font-size: 1.5rem; font-weight: normal}
.font16 {font-size: 1.6rem; font-weight: normal}
.font17 {font-size: 1.7rem; font-weight: normal}
.font2 {font-size: 2rem;}
.font22 {font-size: 2.2rem;}
.font3 {font-size: 3.5rem;line-height: 3rem; margin: auto}


/* Container for flash messages */
.flash-messages {
    margin: 1rem auto;
    max-width: 500px;
    padding: 1rem;}
/* Basic styling for flash messages */
.flash {
    padding: 1rem;
    border-radius: 0.3rem;
    margin-bottom: 1rem;}
/* Success message */
.flash-success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;}
/* Error message */
.flash-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;}
/* Info message */
.flash-info {
    background-color: #d1ecf1;
    color: #0c5460;
    border: 1px solid #bee5eb;}
/* Warning message */
.flash-warning {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;}


@media (max-width: 600px) {

    html, body {
        font-family: Arial, sans-serif;
        font-family: 'IBM Plex Sans', sans-serif;
        font-size: 11px;}


    header {/* Stack the divs vertically */
        padding-top:0rem;
        flex-direction: column;
        align-items: flex-start; /* Align content to the left  */
        display: block;}  

    .title {
        width: 100%;
        text-align:left;
        display: block;
        flex-wrap: wrap; /* Wrap the links to multiple lines if needed */
        justify-content: space-between;}

    .center-title {
        position: static; /* Reset positioning */
        transform: none; /* No transform needed */
        margin-top: -2.5rem; /* Add margin for separation */
        margin-bottom:0.5rem;
        text-align: right; }
    
    .right-title {
        display:flex;
        flex-direction:row; 
        margin-top:0.5rem;
        margin-left:0.5rem}

    .header_links_login {
        margin-top:0;
        margin:auto;}

}





