Определение знака зодиака через массив объектов

Программа должна выводить знак зодиака в зависимости от выбранного дня.

<html> <head> 
<meta charset = UTF-8>
<title> Знаки зодиака </title> </head> <body>
<style>
#Select1 { margin-top: 100px; margin-left: 400px; height: 30px; } 
#Select2 { margin-top: 100px; margin-left: 20px; height: 30px; } 
#Button { margin-top: 100px; margin-left: 20px; height: 30px; }
#Input { position: fixed; margin-left: -500px; margin-top: 30px; }
 </style>
 
<body bgcolor="steelblue">
<b><center><font size=5 color=black>Знаки зодиака</font>
<br><p>
<select id = "mes" onclick = "opr1()">
<option value = "0"> Выберите месяц </option>
 <option value = "1"> Январь </option>
 <option value = "2"> Февраль </option> 
 <option value = "3"> Март </option>
 <option value = "4"> Апрель </option> 
 <option value = "5"> Май </option>
 <option value = "6"> Июнь </option> 
 <option value = "7"> Июль </option> 
 <option value = "8"> Август </option>
 <option value = "9"> Сентябрь </option> 
 <option value = "10"> Октябрь </option> 
 <option value = "11"> Ноябрь </option> 
 <option value = "12"> Декабрь </option> 
 </select>
<select id="den">
    </select>
<button id = "but" onclick = "ster()" > Определить знак зодиака </button>
<input type="text" id="text"  >
<p><img src="ZnakZ.jpg" hspace="10" width="450" height="450">

<script>
var tZnak = "000";
let opt = '<option value = "0"> Выберите день </option>\n';
        for (i = 1; i < 32; i++) {
            opt += `<option value = "${i}"> ${i} </option>\n`;
        }
        document.getElementById("den").innerHTML = opt;
function opr1() { den.value = '0'; const Select = +mes.value;
if (Select == 4 || Select == 6 || Select == 9 || Select == 11)
 { Option = turn_on(1, 31, Option); Option = turn_off(31, 32, Option); }
 else if (Select == 2) { Option = turn_on(1, 29, Option); Option = turn_off(29, 32, Option); } 
 else Option = turn_on(1, 32, Option); }

function turn_on(i1, i2, array) { for (let i = i1; i < i2; i++) array[i].hidden = false; return array; }
function turn_off(i1, i2, array) { for (let i = i1; i < i2; i++) array[i].hidden = true; return array; }

function ster()
{
var text=document.getElementById('text');
var d = document.getElementById('den');

**var m=d.value-1;**
**var znak =[{name: "Козерог", start: 23},{name: "Водолей", start: 21},**
**{name: "Рыбы", start: 20},{name: "Овен", start: 21},**
**{name: "Телец", start: 21},{name: "Близнецы", start: 22},**
**{name: "Рак", start: 22},{name: "Лев", start: 23},**
**{name: "Дева", start: 23},{name: "Весы", start: 23},**
**{name: "Скорпион", start: 24},{name: "Стрелец", start: 23}];**
**if (d<znak[m].start)**
**{if (m==0){m=12;}**
**tZnak = znak [m-1];**
**else**
**{tZnak = znak[m];}**
**text.value = tZnak.name;}**
**var Option = den.getElementsByTagName('option'); mes.value = '0'; opr1();**
**</script>**
**</body>**
**</html>**

Здесь при смене дня меняется и знак зодика, что нужно сделать что бы программа работала правильно?

Это как? И как должно быть?

Там два списка, 1- с месяцами, другой с днями, при выборе месяца и выбора дня меньше значения параметра start у объекта, должен быть знак меньше предыдущего (элемент массива). В моём же случае, знак зависит только от выбора дня.