Compare commits
No commits in common. "38eba055ec95566b1cf01ad95a39cdd369f58e6c" and "58b4eab0be523983e7a4ba7b5118d0dd7ae2560d" have entirely different histories.
38eba055ec
...
58b4eab0be
@ -402,6 +402,8 @@ function calculator() {
|
|||||||
const shortRateFactor = shortRate[searchDate];
|
const shortRateFactor = shortRate[searchDate];
|
||||||
var earnedFactor = shortRateFactor;
|
var earnedFactor = shortRateFactor;
|
||||||
var unearnedFactor = Math.round(((1 - shortRateFactor) + Number.EPSILON)*1000)/1000;
|
var unearnedFactor = Math.round(((1 - shortRateFactor) + Number.EPSILON)*1000)/1000;
|
||||||
|
document.getElementById("earnedFactor").className = 'blue';
|
||||||
|
document.getElementById("unearnedFactor").className = 'blue';
|
||||||
}else {
|
}else {
|
||||||
var earnedFactor = 'ERROR'
|
var earnedFactor = 'ERROR'
|
||||||
var unearnedFactor = 'ERROR'
|
var unearnedFactor = 'ERROR'
|
||||||
@ -412,7 +414,7 @@ function calculator() {
|
|||||||
var earnedPremium = Math.round(((totalPremium * earnedFactor) + Number.EPSILON)*100)/100;
|
var earnedPremium = Math.round(((totalPremium * earnedFactor) + Number.EPSILON)*100)/100;
|
||||||
var unearnedPremium = Math.round(((totalPremium * unearnedFactor) + Number.EPSILON)*100)/100;
|
var unearnedPremium = Math.round(((totalPremium * unearnedFactor) + Number.EPSILON)*100)/100;
|
||||||
document.getElementById("earnedPremium").className = 'green';
|
document.getElementById("earnedPremium").className = 'green';
|
||||||
document.getElementById("unearnedPremium").className = 'red';
|
document.getElementById("unearnedPremium").className = 'orange';
|
||||||
|
|
||||||
// calculate breakdown
|
// calculate breakdown
|
||||||
var calcBreak = +breakDO + +breakEO + +breakCyber + +breakLEI + +breakCGL + +breakProperty + +breakEB;
|
var calcBreak = +breakDO + +breakEO + +breakCyber + +breakLEI + +breakCGL + +breakProperty + +breakEB;
|
||||||
@ -459,27 +461,27 @@ function calculator() {
|
|||||||
var percentEB = Math.round((((breakEB / totalPremium) * 100) + Number.EPSILON)*100)/100;
|
var percentEB = Math.round((((breakEB / totalPremium) * 100) + Number.EPSILON)*100)/100;
|
||||||
var earnedEB = Math.round(((breakEB * earnedFactor) + Number.EPSILON)*100)/100;
|
var earnedEB = Math.round(((breakEB * earnedFactor) + Number.EPSILON)*100)/100;
|
||||||
var unearnedEB = Math.round(((breakEB * unearnedFactor) + Number.EPSILON)*100)/100;
|
var unearnedEB = Math.round(((breakEB * unearnedFactor) + Number.EPSILON)*100)/100;
|
||||||
document.getElementById("percentDO").className = 'normal';
|
document.getElementById("percentDO").className = 'blue';
|
||||||
document.getElementById("earnedDO").className = 'green';
|
document.getElementById("earnedDO").className = 'green';
|
||||||
document.getElementById("unearnedDO").className = 'red';
|
document.getElementById("unearnedDO").className = 'orange';
|
||||||
document.getElementById("percentEO").className = 'normal';
|
document.getElementById("percentEO").className = 'blue';
|
||||||
document.getElementById("earnedEO").className = 'green';
|
document.getElementById("earnedEO").className = 'green';
|
||||||
document.getElementById("unearnedEO").className = 'red';
|
document.getElementById("unearnedEO").className = 'orange';
|
||||||
document.getElementById("percentCyber").className = 'normal';
|
document.getElementById("percentCyber").className = 'blue';
|
||||||
document.getElementById("earnedCyber").className = 'green';
|
document.getElementById("earnedCyber").className = 'green';
|
||||||
document.getElementById("unearnedCyber").className = 'red';
|
document.getElementById("unearnedCyber").className = 'orange';
|
||||||
document.getElementById("percentLEI").className = 'normal';
|
document.getElementById("percentLEI").className = 'blue';
|
||||||
document.getElementById("earnedLEI").className = 'green';
|
document.getElementById("earnedLEI").className = 'green';
|
||||||
document.getElementById("unearnedLEI").className = 'red';
|
document.getElementById("unearnedLEI").className = 'orange';
|
||||||
document.getElementById("percentCGL").className = 'normal';
|
document.getElementById("percentCGL").className = 'blue';
|
||||||
document.getElementById("earnedCGL").className = 'green';
|
document.getElementById("earnedCGL").className = 'green';
|
||||||
document.getElementById("unearnedCGL").className = 'red';
|
document.getElementById("unearnedCGL").className = 'orange';
|
||||||
document.getElementById("percentProperty").className = 'normal';
|
document.getElementById("percentProperty").className = 'blue';
|
||||||
document.getElementById("earnedProperty").className = 'green';
|
document.getElementById("earnedProperty").className = 'green';
|
||||||
document.getElementById("unearnedProperty").className = 'red';
|
document.getElementById("unearnedProperty").className = 'orange';
|
||||||
document.getElementById("percentEB").className = 'normal';
|
document.getElementById("percentEB").className = 'blue';
|
||||||
document.getElementById("earnedEB").className = 'green';
|
document.getElementById("earnedEB").className = 'green';
|
||||||
document.getElementById("unearnedEB").className = 'red';
|
document.getElementById("unearnedEB").className = 'orange';
|
||||||
}else {
|
}else {
|
||||||
var percentDO = 'ERROR'
|
var percentDO = 'ERROR'
|
||||||
var earnedDO = 'ERROR'
|
var earnedDO = 'ERROR'
|
||||||
|
171
assets/style.css
171
assets/style.css
@ -37,68 +37,27 @@ form {
|
|||||||
|
|
||||||
:root {
|
:root {
|
||||||
--width: 900px;
|
--width: 900px;
|
||||||
--font-family: Verdana, Arial, sans-serif;
|
--font-family: Verdana, sans-serif;
|
||||||
--font-scale: 1em;
|
--font-scale: 1em;
|
||||||
}
|
--bg-100: rgb(16, 15, 15);
|
||||||
|
|
||||||
:root.light {
|
|
||||||
--bg-100:rgb(255, 252, 240);
|
|
||||||
--bg-200: rgb(242, 240, 229);
|
|
||||||
--text-100: rgb(16, 15, 15);
|
|
||||||
--text-200: rgb(111, 110, 105);
|
|
||||||
--ui-100: rgb(183, 181, 172);
|
|
||||||
--ui-200: rgb(111, 110, 105);
|
|
||||||
--highlight-accent: rgb(32, 94, 170);
|
|
||||||
--highlight-earned: rgb(41, 119, 11);
|
|
||||||
--highlight-unearned: rgb(200, 52, 41);
|
|
||||||
}
|
|
||||||
|
|
||||||
:root.dark {
|
|
||||||
--bg-100:rgb(16, 15, 15);
|
|
||||||
--bg-200: rgb(28, 27, 26);
|
--bg-200: rgb(28, 27, 26);
|
||||||
--text-100: rgb(206, 205, 195);
|
|
||||||
--text-200: rgb(135, 133, 128);
|
|
||||||
--ui-100: rgb(40, 39, 38);
|
--ui-100: rgb(40, 39, 38);
|
||||||
--ui-200: rgb(52, 51, 49);
|
--ui-200: rgb(52, 51, 49);
|
||||||
--highlight-accent: rgb(63, 150, 231);
|
--ui-300: rgb(64, 62, 60);
|
||||||
--highlight-earned: rgb(75, 182, 65);
|
--text-100: rgb(206, 205, 195);
|
||||||
--highlight-unearned: rgb(221, 82, 70);
|
--text-200: rgb(135, 133, 128);
|
||||||
|
--text-300: rgb(87, 86, 83);
|
||||||
|
--blue-400: rgb(67, 133, 190);
|
||||||
|
--cyan-400: rgb(58, 169, 159);
|
||||||
|
--green-400: rgb(135, 154, 57);
|
||||||
|
--orange-400: rgb(218, 112, 44);
|
||||||
|
--purple-400: rgb(139, 126, 200);
|
||||||
|
--red-400: rgb(209, 77, 65);
|
||||||
|
--yellow-400: rgb(208, 162, 21);
|
||||||
}
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
:root.slate {
|
:root {
|
||||||
--bg-100:rgb(20, 26, 38);
|
}
|
||||||
--bg-200: rgb(25, 31, 44);
|
|
||||||
--text-100: rgb(242, 242, 242);
|
|
||||||
--text-200: rgb(138, 138, 138);
|
|
||||||
--ui-100: rgb(35, 48, 75);
|
|
||||||
--ui-200: rgb(26, 36, 58);
|
|
||||||
--highlight-accent: rgb(27, 183, 255);
|
|
||||||
--highlight-earned: rgb(0, 255, 170);
|
|
||||||
--highlight-unearned: rgb(243, 76, 64);
|
|
||||||
}
|
|
||||||
|
|
||||||
:root.forest {
|
|
||||||
--bg-100:rgb(20, 26, 38);
|
|
||||||
--bg-200: rgb(25, 31, 44);
|
|
||||||
--text-100: rgb(242, 242, 242);
|
|
||||||
--text-200: rgb(138, 138, 138);
|
|
||||||
--ui-100: rgb(35, 48, 75);
|
|
||||||
--ui-200: rgb(26, 36, 58);
|
|
||||||
--highlight-accent: rgb(27, 183, 255);
|
|
||||||
--highlight-earned: rgb(54, 211, 35);
|
|
||||||
--highlight-unearned: rgb(217, 96, 26);
|
|
||||||
}
|
|
||||||
|
|
||||||
:root.summer {
|
|
||||||
--bg-100:rgb(255, 245, 228);
|
|
||||||
--bg-200: rgb(252, 235, 205);
|
|
||||||
--text-100: rgb(197, 111, 72);
|
|
||||||
--text-200: rgb(151, 114, 87);
|
|
||||||
--ui-100: rgb(255, 227, 225);
|
|
||||||
--ui-200: rgb(255, 209, 209);
|
|
||||||
--highlight-accent: rgb(27, 183, 255);
|
|
||||||
--highlight-earned: rgb(149, 225, 211);
|
|
||||||
--highlight-unearned: rgb(243, 129, 129);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
@ -117,10 +76,12 @@ body {
|
|||||||
-- // BASIC ELEMENTS
|
-- // BASIC ELEMENTS
|
||||||
----------------------------------------------------------------------------- */
|
----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
.normal { color: var(--text-100); }
|
.blue { color: var(--blue-400); }
|
||||||
.blue { color: var(--highlight-accent); }
|
.cyan { color: var(--cyan-400); }
|
||||||
.green { color: var(--highlight-earned); }
|
.green { color: var(--green-400); }
|
||||||
.red { color: var(--highlight-unearned); }
|
.orange { color: var(--orange-400); }
|
||||||
|
.purple { color: var(--purple-400); }
|
||||||
|
.red { color: var(--red-400); }
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
@ -144,16 +105,21 @@ a,
|
|||||||
a:visited {
|
a:visited {
|
||||||
color: var(--text-100);
|
color: var(--text-100);
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
text-underline-offset: 2px;
|
text-underline-offset: 3px;
|
||||||
text-decoration-thickness: 1px;
|
text-decoration-thickness: 1px;
|
||||||
text-decoration-style: solid;
|
text-decoration-style: solid;
|
||||||
text-decoration-color: var(--highlight-accent);
|
text-decoration-color: var(--cyan-400);
|
||||||
|
-webkit-transition: all .25s ease-in-out;
|
||||||
|
-moz-transition: all .25s ease-in-out;
|
||||||
|
-ms-transition: all .25s ease-in-out;
|
||||||
|
-o-transition: all .25s ease-in-out;
|
||||||
|
transition: all .25s ease-in-out;
|
||||||
}
|
}
|
||||||
a:hover {
|
a:hover {
|
||||||
color: var(--highlight-accent);
|
color: var(--cyan-400);
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
text-decoration-style: solid;
|
text-decoration-style: solid;
|
||||||
text-decoration-color: var(--highlight-accent);
|
text-decoration-color: var(--cyan-400);
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
@ -167,9 +133,9 @@ li {
|
|||||||
blockquote {
|
blockquote {
|
||||||
margin: 1em 0;
|
margin: 1em 0;
|
||||||
padding: 12px 16px;
|
padding: 12px 16px;
|
||||||
border: 1px solid var(--ui-100);
|
border: 1px dashed var(--yellow-400);
|
||||||
background-color: var(--bg-200);
|
background-color: var(--bg-200);
|
||||||
font-size: .875em;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
@ -182,14 +148,21 @@ label {
|
|||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
padding-left: 4px;
|
|
||||||
border: 1px solid var(--ui-100);
|
border: 1px solid var(--ui-100);
|
||||||
background-color: var(--bg-200);
|
background-color: var(--bg-200);
|
||||||
color: var(--highlight-accent);
|
color: var(--purple-400);
|
||||||
|
-webkit-transition: all .25s ease-in-out;
|
||||||
|
-moz-transition: all .25s ease-in-out;
|
||||||
|
-ms-transition: all .25s ease-in-out;
|
||||||
|
-o-transition: all .25s ease-in-out;
|
||||||
|
transition: all .25s ease-in-out;
|
||||||
|
}
|
||||||
|
input:hover {
|
||||||
|
border-color: var(--ui-300);
|
||||||
}
|
}
|
||||||
input:focus {
|
input:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
border-color: var(--ui-200);
|
border-color: var(--cyan-400);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove up and down arrows */
|
/* Remove up and down arrows */
|
||||||
@ -206,23 +179,27 @@ input[type="number"] {
|
|||||||
margin: 1em 0;
|
margin: 1em 0;
|
||||||
}
|
}
|
||||||
.calcMethod span {
|
.calcMethod span {
|
||||||
margin-right: 1em;
|
margin-right: 16px;
|
||||||
}
|
}
|
||||||
input[type="radio"] {
|
input[type="radio"] {
|
||||||
height: 1em;
|
height: 1em;
|
||||||
width: 1em;
|
width: 1em;
|
||||||
margin: 0 4px 0 8px;
|
margin: 0 4px 0 8px;
|
||||||
}
|
}
|
||||||
|
#calcProRata,
|
||||||
|
#calcShortRate {
|
||||||
|
accent-color: var(--yellow-400);
|
||||||
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
margin-top: 4rem;
|
margin-top: 1em;
|
||||||
padding: .75em 4em;
|
padding: 8px 16px;
|
||||||
border: 1px solid var(--ui-100);
|
border: 1px solid var(--ui-100);
|
||||||
background-color: var(--bg-200);
|
background-color: var(--bg-200);
|
||||||
color: var(--text-100);
|
color: var(--text-100);
|
||||||
}
|
}
|
||||||
button:hover{
|
button:hover{
|
||||||
border: 1px solid var(--ui-200);
|
border: 1px solid var(--ui-300);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,24 +211,25 @@ table {
|
|||||||
margin: 1em 0;
|
margin: 1em 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
border: 0;
|
border: 1px solid var(--ui-100);
|
||||||
|
background-color: var(--bg-200);
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
border: 1px solid var(--ui-100);
|
||||||
}
|
}
|
||||||
th {
|
th {
|
||||||
padding: 2px 0 2px 8px;
|
padding: 2px 16px;
|
||||||
|
border-right: 1px solid var(--ui-100);
|
||||||
|
background-color: var(--ui-200);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: left;
|
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
td {
|
td {
|
||||||
padding: 2px 0 2px 8px;
|
padding: 2px 16px;
|
||||||
|
border-right: 1px solid var(--ui-100);
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.with-border {
|
|
||||||
padding: 2px 4px;
|
|
||||||
border: 1px solid var(--ui-100);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
-- // LAYOUT
|
-- // LAYOUT
|
||||||
----------------------------------------------------------------------------- */
|
----------------------------------------------------------------------------- */
|
||||||
@ -269,7 +247,7 @@ main {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
gap: 4rem 2rem;
|
gap: 64px 32px;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -289,35 +267,12 @@ main {
|
|||||||
.flex-4 {
|
.flex-4 {
|
||||||
order: 4;
|
order: 4;
|
||||||
flex-grow: 2;
|
flex-grow: 2;
|
||||||
text-align: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
margin-bottom: 4rem;
|
margin-bottom: 4rem;
|
||||||
padding-top: 12px;
|
padding-top: 12px;
|
||||||
border-top: 1px solid var(--ui-100);
|
border-top: 1px dashed var(--ui-100);
|
||||||
font-size: .875em;
|
font-size: .875em;
|
||||||
color: var(--text-200);
|
color: var(--text-200);
|
||||||
}
|
}
|
||||||
|
|
||||||
select {
|
|
||||||
padding: 0 1em 0 0;
|
|
||||||
margin: 0;
|
|
||||||
border: none;
|
|
||||||
background-color: transparent;
|
|
||||||
font-family: inherit;
|
|
||||||
font-size: inherit;
|
|
||||||
line-height: inherit;
|
|
||||||
cursor: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
#theme-select {
|
|
||||||
float: right;
|
|
||||||
margin-right: 1em;
|
|
||||||
padding: 4px 8px;
|
|
||||||
border: 1px solid var(--ui-100);
|
|
||||||
border-radius: .25em;
|
|
||||||
background-color: var(--bg-200);
|
|
||||||
color: var(--text-200);
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
const setTheme = (theme) => {
|
|
||||||
document.documentElement.className = theme;
|
|
||||||
localStorage.setItem('theme', theme);
|
|
||||||
}
|
|
||||||
|
|
||||||
document.getElementById('theme-select').addEventListener('change', function() {
|
|
||||||
setTheme(this.value);
|
|
||||||
});
|
|
||||||
|
|
||||||
const getTheme = () => {
|
|
||||||
const theme = localStorage.getItem('theme');
|
|
||||||
theme && setTheme(theme);
|
|
||||||
}
|
|
||||||
|
|
||||||
getTheme();
|
|
94
index.html
94
index.html
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<title>Premium Calculator</title>
|
<title>Premium Calculator</title>
|
||||||
|
|
||||||
<meta name="description" content="Insurance premium calculator for pro-rata and short-rate calculations.">
|
<meta name="description" content="Insurance premium calculator for pro-rata and short-rate calculations.?">
|
||||||
|
|
||||||
<link rel="stylesheet" href="assets/style.css">
|
<link rel="stylesheet" href="assets/style.css">
|
||||||
<link rel="icon" type="image/x-icon" href="assets/favicon.ico">
|
<link rel="icon" type="image/x-icon" href="assets/favicon.ico">
|
||||||
@ -18,39 +18,28 @@
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
|
<form action="/action_page.php">
|
||||||
<div class="flex-container">
|
<div class="flex-container">
|
||||||
<div class="flex-1">
|
<div class="flex-1">
|
||||||
<h2>Policy Details</h2>
|
<h2>Policy Details</h2>
|
||||||
<table>
|
<label for="effectiveDate">Effective date:</label>
|
||||||
<tr>
|
<input type="date" id="effectiveDate" name="effectiveDate" onblur="calculator()" min="0" oninput="validity.valid||(value='')">
|
||||||
<th><label for="effectiveDate">Effective date</label></th>
|
<br>
|
||||||
<td><input type="date" id="effectiveDate" name="effectiveDate" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
|
<label for="expiryDate">Expiry date:</label>
|
||||||
</tr>
|
<input type="date" id="expiryDate" name="expiryDate" onblur="calculator()" min="0" oninput="validity.valid||(value='')">
|
||||||
<tr>
|
<br>
|
||||||
<th><label for="expiryDate">Expiry date:</label></th>
|
Days in policy term: <span id="termDays">-</span>
|
||||||
<td><input type="date" id="expiryDate" name="expiryDate" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
|
<br><br>
|
||||||
</tr>
|
<label for="cancelDate">Cancellation date:</label>
|
||||||
<tr>
|
<input type="date" id="cancelDate" name="cancelDate" onblur="calculator()" min="0" oninput="validity.valid||(value='')">
|
||||||
<th><label for="cancelDate">Cancellation date:</label></th>
|
<br>
|
||||||
<td><input type="date" id="cancelDate" name="cancelDate" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
|
Days in force: <span id="forceDays">-</span>
|
||||||
</tr>
|
<br>
|
||||||
<tr>
|
Days remaining: <span id="remainingDays">-</span>
|
||||||
<th><label for="totalPremium">Total premium:</label></th>
|
<br><br>
|
||||||
<td><input type="number" id="totalPremium" name="totalPremium" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
|
<label for="totalPremium">Total premium:</label>
|
||||||
</tr>
|
<input type="number" id="totalPremium" name="totalPremium" onblur="calculator()" min="0" oninput="validity.valid||(value='')">
|
||||||
<tr>
|
|
||||||
<th>Days in policy term:</th>
|
|
||||||
<td><span id="termDays">-</span></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Days in force:</th>
|
|
||||||
<td><span id="forceDays">-</span></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Days remaining:</th>
|
|
||||||
<td><span id="remainingDays">-</span></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex-2">
|
<div class="flex-2">
|
||||||
@ -69,34 +58,34 @@
|
|||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="with-border"></td>
|
<th></th>
|
||||||
<th class="with-border">Earned</th>
|
<th>Earned</th>
|
||||||
<th class="with-border">Unearned</th>
|
<th>Unearned</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="with-border">Factor</th>
|
<td>Factor</td>
|
||||||
<td class="with-border"><span id="earnedFactor">-</span></td>
|
<td><span id="earnedFactor">-</span></td>
|
||||||
<td class="with-border"><span id="unearnedFactor">-</span></td>
|
<td><span id="unearnedFactor">-</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="with-border">Premium</th>
|
<td>Premium</td>
|
||||||
<td class="with-border"><span id="earnedPremium">-</span></td>
|
<td><span id="earnedPremium">-</span></td>
|
||||||
<td class="with-border"><span id="unearnedPremium">-</span></td>
|
<td><span id="unearnedPremium">-</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex-3">
|
<div class="flex-3">
|
||||||
<h2>Premium Breakdown (Optional)</h2>
|
<h2>Premium Breakdown</h2>
|
||||||
<blockquote><span id="checkMatch">Total breakdown: N/A</span></blockquote>
|
<blockquote><span id="checkMatch">Total breakdown: N/A</span></blockquote>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Coverage</th>
|
<th>Coverage</th>
|
||||||
<th>Premium</th>
|
<th>Premium</th>
|
||||||
<th>Breakdown (%)</th>
|
<th>% of Total</th>
|
||||||
<th>Earned Premium</th>
|
<th>Earned Premium</th>
|
||||||
<th>Unearned Premium</th>
|
<th>Unearned Premium </th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="breakDO">D&O</label></td>
|
<td><label for="breakDO">D&O</label></td>
|
||||||
@ -148,30 +137,23 @@
|
|||||||
<td><span id="unearnedEB">-</span></td>
|
<td><span id="unearnedEB">-</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
</form>
|
||||||
|
|
||||||
<div class="flex-4">
|
<div class="flex-4">
|
||||||
<button onClick="calculator()">Calculate</button>
|
<button onclick="calculator()">Calculate</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<select name="theme-select" id="theme-select">
|
|
||||||
<option value="light">Light</option>
|
|
||||||
<option value="dark">Dark</option>
|
|
||||||
<option value="slate">Slate</option>
|
|
||||||
<option value="forest">Forest</option>
|
|
||||||
<option value="summer">Summer</option>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Made by <a href="https://haothitran.com">Hao Tran</a>. View the project repository on <a href="https://forge.haothitran.com/KlazHTT/premium-calculator">Gitea</a> or <a href="https://github.com/KlazHTT/premium-calculator">Github</a>.</li>
|
<li>Created by <a href="https://haothitran.com">Hao Tran</a>.</li>
|
||||||
<li>Calculations are rounded to the nearest hundredth. As such, there may be rounding discrepancies.</li>
|
<li>View the project repository on <a href="https://forge.haothitran.com/KlazHTT/premium-calculator">Gitea</a> or <a href="https://github.com/KlazHTT/premium-calculator">Github</a>.</li>
|
||||||
<li>This calculator is intended for informational use only and does not constitute advice. </li>
|
<li>Calculations are rounded to the nearest hundredth decimal. As such, there may sometimes be issues of rounding error.</li>
|
||||||
|
<li>Although effort was made to insure the accuracy of this calculator, there is no guarantee on the accuracy of the calculations and results. This calculator is intended for personal and informational use only and does not constitute advice. </li>
|
||||||
</ul>
|
</ul>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script src="assets/calculator.js"></script>
|
<script src="assets/calculator.js"></script>
|
||||||
<script src="assets/theme.js"></script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user