.response-title{
    /* height: 25px; */
    background-color: #146690;
    color: #fff;
    text-align: center;
    height: 80px;
    display: flex;
    align-items: center;
}
.response-title h1{
    margin-left: auto;
    margin-right: auto;
}

.field-title{
    color: #146690;
    padding-bottom: 10px;
}
.contain-field-q{
    margin-top: 5vh;
    width: 100%;
}
.fieldset-q{
    margin-left: auto;
    margin-right: auto;
    max-width: 495px;
}

.field {
    display: flex;
    flex-wrap: wrap;
    /* margin-left: auto; */
    /* margin-right: auto; */
    gap: 0px 40px; /* row-gap = 20px, column-gap = 40px */
}
.field > .option {
    
}

.field .option label {
    display: block;
    position: relative;
    padding-left: 19px; 
    line-height: 1.4em;
}

.field .option label input[type="checkbox"],
.field .option label input[type="radio"] {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
    transform: translateY(40%);
}

.field > .option {
    /* flex: 50%; or - flex: 0 50% - or - flex-basis: 50% - */
    flex: 1 1 calc(50% - 20px); /* subtract half the column gap */
    margin-bottom: 10px;
}

.field > .option:last-child:nth-child(odd) {
    flex: 0 0 50%; /* Make last single item half width */
}

.option{
    /* width:100%; */
}
.field-title{
    margin-left: auto;
    margin-right: auto;

}

.contain-button-q{
    display: flex;
    margin-top: 50px;
    margin-left: auto;
    margin-right: auto; 
    float: left;
}
.contain-button-q > .control-btn-q{
    padding-right: 10px;
    margin-left: auto;
    margin-right: auto;
}
.prev-contain button{
    background-color: #DDD;
}
.next-contain button{
    background-color: #146690;
}
.control-btn-q button{
    height: 100%;
    min-width: 100px;
}

.response-content{
    margin-bottom: 10vh;
}

textarea {
    min-height: 150px; 
    width: 100%;
    max-width: 100%;
    box-sizing: border-box; 
}
.contain-field-q[data-q-type="paragraph"] .field {
  display: block !important;
}
table.star-rating-table {
}

.required{
    color:#ff0000
}


/**/
        /* Container Styles */
        .contain {
            margin: auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 20px;
            max-width: 400px;
            background-color: #f8f9fa;
            border-radius: 10px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }

        /* General Button Styles */
        .redo-record, .start-camera-contain button {
            padding: 12px 24px;
            font-size: 16px;
            color: white;
            background-color: #007BFF;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            margin: 10px 0;
        }

        .redo-record:hover, .start-camera-contain button:hover {
            background-color: #0056b3;
            transform: translateY(-2px);
            box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
        }

        .redo-record:active, .start-camera-contain button:active {
            transform: translateY(2px);
        }

        /* Video Styles */
        .video, .playback-video {
            display: none;
            margin: 20px auto;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            max-width: 100%;
        }

        /* Recording Button Styles */
        .notRec, .Rec {
            width: 60px;
            height: 60px;
            background-color: darkred;
            border: none;
            border-radius: 50%;
            outline: none;
            cursor: pointer;
            transition: background-color 0.3s, box-shadow 0.3s;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

        .Rec {
            background-color: red;
            animation: pulse 1.5s infinite linear;
        }

        @keyframes pulse {
            0% {
                box-shadow: 0px 0px 5px 0px rgba(173, 0, 0, .3);
            }
            65% {
                box-shadow: 0px 0px 15px 13px rgba(173, 0, 0, .3);
            }
            90% {
                box-shadow: 0px 0px 15px 13px rgba(173, 0, 0, 0);
            }
        }

        /* Specific Button Containers */
        .start-camera-contain, .start-record-contain, .stop-record-contain, .redo-record {
            margin-top: 20px;
            text-align: center;
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .start-record-contain, .stop-record-contain {
            display: none;
        }
        .start-record-contain div, .stop-record-contain div {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-content: center;
            flex-wrap: wrap;
            align-items: center;
        }

        /* Label Styling */
        .label {
            font-size: 14px;
            color: #555;
            margin-bottom: 8px;
            text-transform: uppercase;
            font-weight: 600;
            letter-spacing: 1px;
            text-align: center;
        }

        /* Redo Button Styles */
        .redo-record {
            display: none;
            background-color: #dc3545;
        }

        .redo-record:hover {
            background-color: #c82333;
        }

/*Video record*/

        /* Container Styles */
        .contain {
            margin: auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 20px;
            max-width: 400px;
            background-color: #f8f9fa;
            border-radius: 10px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }

        /* General Button Styles */
        button {
            padding: 12px 24px;
            font-size: 16px;
            color: white;
            background-color: #007BFF;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            margin: 10px 0;
        }

        button:hover {
            background-color: #0056b3;
            transform: translateY(-2px);
            box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
        }

        button:active {
            transform: translateY(2px);
        }

        /* Video Styles */
        .video, .playback-video {
            display: none;
            margin: 20px auto;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            max-width: 100%;
        }

        /* Recording Button Styles */
        .notRec, .Rec {
            width: 60px;
            height: 60px;
            background-color: darkred;
            border: none;
            border-radius: 50%;
            outline: none;
            cursor: pointer;
            transition: background-color 0.3s, box-shadow 0.3s;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

        .Rec {
            background-color: red;
            animation: pulse 1.5s infinite linear;
        }

        @keyframes pulse {
            0% {
                box-shadow: 0px 0px 5px 0px rgba(173, 0, 0, .3);
            }
            65% {
                box-shadow: 0px 0px 15px 13px rgba(173, 0, 0, .3);
            }
            90% {
                box-shadow: 0px 0px 15px 13px rgba(173, 0, 0, 0);
            }
        }

        /* Specific Button Containers */
        .start-camera-contain, .start-record-contain, .stop-record-contain, .redo-record {
            margin-top: 20px;
            text-align: center;
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .start-record-contain, .stop-record-contain {
            display: none;
        }
        .start-record-contain div, .stop-record-contain div {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-content: center;
            flex-wrap: wrap;
            align-items: center;
        }

        /* Label Styling */
        .label {
            font-size: 14px;
            color: #555;
            margin-bottom: 8px;
            text-transform: uppercase;
            font-weight: 600;
            letter-spacing: 1px;
            text-align: center;
        }

        /* Redo Button Styles */
        .redo-record {
            display: none;
            background-color: #dc3545;
        }

        .redo-record:hover {
            background-color: #c82333;
        }