input[type="range"]{
    -webkit-appearance: none;  /* Override default CSS styles */
    appearance: none;
    width: 100%; /* Full-width */
    height: 10px; /* Specified height */
    background: var(--button-color); /* Grey background */
    outline: none; /* Remove outline */
    border-radius: 5px;
    opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */
    -webkit-transition: .2s; /* 0.2 seconds transition on hover */
    transition: opacity .2s;
}
input[type="range"]:hover {
    opacity: 1; /* Fully shown on mouse-over */
}
.input-radio-container {
    display: flex;
    flex-flow: nowrap row;
}
input[type="radio"] {
    display:none;
    width: 0;
}
input[type="radio"] + label {
    display: inline-block;
    text-align: center;
    float: left;
    border-radius: 0;
    flex: 1 1 0;
    cursor: pointer;
}
input[type="radio"] + label:first-of-type {
    border-radius: 3px 0 0 3px;
}
input[type="radio"] + label:last-of-type {
    border-radius: 0px 3px 3px 0px;
}
input[type="radio"] + label {
    padding: 1em;
    line-height: 1.4;
    border: 1px solid #e5e5e5;
    -webkit-transition: 0.35s ease-in-out;
    -moz-transition: 0.35s ease-in-out;
    -o-transition: 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}
input[type="radio"]:checked + label {
    background-color: var(--button-color);
    color: #fff;
    border-color: var(--button-color);
}
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none; /* Override default look */
    appearance: none;
    width: 20px; /* Set a specific slider handle width */
    height: 20px; /* Slider handle height */
    border-radius: 10px;
    background: var(--color-spanish-orange); /* Green background */
    cursor: pointer; /* Cursor on hover */
}
input[type="range"]::-moz-range-thumb {
    width: 20px; /* Set a specific slider handle width */
    height: 20px; /* Slider handle height */
    background: var(--color-spanish-orange); /* Green background */
    border-radius: 10px;
    cursor: pointer; /* Cursor on hover */
}
input[type="number"] {
    width: 3.5rem;
    text-align: right;
    border: none;
    padding: 5px 0;
    background-color: transparent;
}
input[type="number"]:active, input[type="number"]:focus {
    outline: none;
}

.suitability-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(6, auto);
    column-gap: 10px;
    row-gap: 10px;
}

.suitability-grid h4 {
    text-align: center;
    color: black;
    margin: 20px auto 30px auto;
}
.suitability-grid .right-eye h4, .suitability-grid .left-eye h4, h4.circle {
    width: 3rem;
    height: 3rem;
    line-height: calc(3rem - 4px);
    border-radius: 3rem;
    border: 2px solid black;
}

.cyl-description, .sph-description {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-end;
}


.right-eye, .left-eye, .age, .diseases, .results {
    background-color: var(--light-grey);
    border-radius: var(--border-radius-16px);
    padding: 20px;
    box-sizing: border-box!important;
}

.right-eye {
    grid-column: 1/5;
    grid-row: 1/2;
}

.left-eye {
    grid-column: 1/5;
    grid-row: 2/3;
}
.age {
    grid-column: 1/5;
    grid-row: 3/4;
}
.diseases {
    grid-column: 1/5;
    grid-row: 4/5;
}
.send {
    grid-column: 1/5;
    grid-row: 5/6;
    background-color: var(--button-color);
    color: white;
    width: 100%;
    text-align: center;
    border: none;
    font-size: 1rem;
    font-weight: 400;
    border-radius: var(--border-radius-16px);
    padding: 20px;
    cursor: pointer;
}
.results-container {
    grid-column: 1/5;
    grid-row: 6/7;
    height: 0;
    overflow: hidden;
    transition: height 0.2s ease-in-out;
}
.results-container[aria-expanded="true"] {
    height: auto;
}
.test-possible-operations {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
}
.test-possible-operations>* {
    flex: 0 0 50%;
}

@media (min-width: 700px) {
    .right-eye {
        grid-column: 1/3;
        grid-row: 1/2;
    }

    .left-eye {
        grid-column: 3/5;
        grid-row: 1/2;
    }
    .age {
        grid-column: 1/3;
        grid-row: 2/3;
    }
    .diseases {
        grid-column: 3/5;
        grid-row: 2/3;
    }
    .send {
        grid-column: 1/5;
        grid-row: 3/4;
    }
    .results-container {
        grid-column: 1/5;
        grid-row: 4/5;
    }
    .suitability-grid {
        grid-template-rows: repeat(4, auto);
    }
}

.questionmark {
    border: 1px solid black;
    aspect-ratio: 1/1;
    width: 15px;
    height: 15px;
    font-weight: 400;
    font-size: 10px;
    display: inline-block;
    text-align: center;
    border-radius: var(--border-radius-16px);
    cursor: pointer;
}


#contact-form {
    width: 100%;
    position: relative;
}

#contact-form .grid-flexbox {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6, auto);
    width: 100%;
    position: relative;
    gap: 20px;
    margin-bottom: 30px;
}
@media (min-width: 668px) {
    #contact-form .grid-flexbox {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto);
    }
}
@media (min-width: 968px) {
    #contact-form .grid-flexbox {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, auto);
    }
}

#contact-form label {
    font-size: 1.2rem;
    line-height: 3rem;
    vertical-align: top;
}

.grid-flexbox input, #contact-form textarea {
    width: 100%;
    border: none;
    border-radius: 0;
    background-color: rgba(150,150,150,0.05);
    border-bottom: 1px solid grey;
    outline: none;
    padding: 20px 10px 10px 0;
    font-size: 1.1rem;
    font-family: Roboto;
    font-weight: 200;
    max-width: 100%;
    transition: background-color .3s, border-bottom-color .3s;
}
.grid-flexbox input:hover, #contact-form textarea:hover,
.grid-flexbox input:focus, #contact-form textarea:focus {
    background-color: rgba(100,100,100,0);
}

.grid-flexbox input.success, #contact-form textarea.success {
    border-bottom-color: green;
    background-color: rgba(0, 255, 0, 0.05);
}
.grid-flexbox input.fail, #contact-form textarea.fail {
    border-bottom-color: red;
    background-color: rgba(255, 0, 0, 0.05);
}
.grid-flexbox input.success:hover, #contact-form textarea.success:hover,
.grid-flexbox input.success:focus, #contact-form textarea.success:focus{
    border-bottom-color: green;
    background-color: rgba(0, 255, 0, 0.03);
}
.grid-flexbox input.fail:hover, #contact-form textarea.fail:hover,
.grid-flexbox input.fail:focus, #contact-form textarea.fail:focus{
    border-bottom-color: red;
    background-color: rgba(255, 0, 0, 0.03);
}

#contact-form textarea {
    min-height: 200px;
    height: auto;
}

#contact-form .buttons-container-center {
    text-align: right!important;
}