{
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: #fff;
margin: 0;
padding: 40px 0;
color: #222;
display: flex;
justify-content: center;
}
.container {
display: flex;
max-width: 800px;
width: 100%;
background: #fff;
border-radius: 0;
box-shadow: none;
margin: auto;
}
.calc-form {
flex: 1;
padding: 40px 30px 40px 0;
background: #fff;
display: flex;
flex-direction: column;
justify-content: center;
}
.calc-form h2 {
color: #333;
font-size: 2rem;
font-weight: 600;
margin-bottom: 30px;
letter-spacing: 0.01em;
}
.form-row {
display: flex;
align-items: center;
margin-bottom: 22px;
}
.form-row label {
flex: 1;
font-weight: 500;
color: #666;
font-size: 1.06rem;
}
.form-row input[type="number"] {
flex: 1.2;
padding: 9px 10px;
font-size: 1.04rem;
border: 1.5px solid #ddd;
border-radius: 3px;
margin-left: 18px;
background: #fafbfc;
}
.slider-row {
margin-bottom: 22px;
}
.slider-labels {
display: flex;
justify-content: space-between;
font-size: 0.98rem;
color: #888;
margin-top: 3px;
}
.slider-value {
font-weight: 600;
color: #333;
margin-left: 8px;
min-width: 60px;
text-align: right;
display: inline-block;
}
input[type="range"] {
width: 100%;
accent-color: #d32d2f;
margin-top: 6px;
}
.email-row {
display: flex;
margin-top: 10px;
margin-bottom: 22px;
}
.email-row input[type="email"] {
flex: 1;
padding: 9px 10px;
font-size: 1rem;
border: 1.5px solid #ddd;
border-radius: 3px 0 0 3px;
border-right: none;
background: #fafbfc;
}
.email-row button {
background: #d32d2f;
color: #fff;
font-weight: 600;
border: none;
border-radius: 0 3px 3px 0;
padding: 10px 20px;
font-size: 1rem;
cursor: pointer;
transition: background 0.2s;
}
.email-row button:hover {
background: #b71c1c;
}
/* Result box */
.result-box {
flex: 1;
background: #d32d2f;
color: #fff;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border-radius: 0;
min-width: 260px;
padding: 40px 0;
margin-left: 20px;
}
.result-box .amount {
font-size: 2.7rem;
font-weight: 700;
letter-spacing: 0.01em;
margin-bottom: 10px;
}
.result-box .monthly-label {
font-size: 1.1rem;
letter-spacing: 0.07em;
margin-bottom: 16px;
font-weight: 400;
color: #fff;
opacity: 0.85;
}
.result-box .breakdown {
font-size: 1.15rem;
margin-top: 8px;
color: #fff;
font-weight: 400;
opacity: 0.85;
border-top: 1px solid #fff3;
padding-top: 18px;
width: 80%;
text-align: right;
}
@media (max-width: 900px) {
.container {
flex-direction: column;
max-width: 98vw;
}
.result-box {
margin-left: 0;
min-width: unset;
padding: 25px 0;
}
.calc-form {
padding: 30px 15px 25px 15px;
}
}
function formatCurrency(val) {
return '$' + Number(val).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
}
function updateDownPaymentValue() {
const purchasePrice = parseFloat(document.getElementById('purchasePrice').value) || 0;
const downPaymentPct = parseFloat(document.getElementById('downPaymentSlider').value) || 0;
const downPayment = purchasePrice * downPaymentPct / 100;
document.getElementById('downPaymentValue').textContent = formatCurrency(downPayment) + ` (${downPaymentPct.toFixed(2)}%)`;
}
function updateInterestValue() {
const rate = parseFloat(document.getElementById('interestRateSlider').value) || 0;
document.getElementById('interestRateValue').textContent = rate.toFixed(2) + '%';
}
function calculatePayment() {
const purchasePrice = parseFloat(document.getElementById('purchasePrice').value) || 0;
const downPaymentPct = parseFloat(document.getElementById('downPaymentSlider').value) || 0;
const downPayment = purchasePrice * downPaymentPct / 100;
const loanAmount = purchasePrice - downPayment;
const interestRate = parseFloat(document.getElementById('interestRateSlider').value) || 0;
const termYears = parseInt(document.getElementById('loanTerm').value) || 0;
const n = termYears * 12;
const r = interestRate / 100 / 12;
let monthly = 0;
if (r === 0) {
monthly = loanAmount / n;
} else {
monthly = (loanAmount * r) / (1 - Math.pow(1 + r, -n));
}
document.getElementById('monthlyPayment').textContent = formatCurrency(monthly);
document.getElementById('principalInterest').textContent = formatCurrency(monthly);
}
updateDownPaymentValue();
updateInterestValue();
calculatePayment();
document.getElementById('purchasePrice').addEventListener('input', () => {
updateDownPaymentValue();
calculatePayment();
});
document.getElementById('downPaymentSlider').addEventListener('input', () => {
updateDownPaymentValue();
calculatePayment();
});
document.getElementById('interestRateSlider').addEventListener('input', () => {
updateInterestValue();
calculatePayment();
});
document.getElementById('loanTerm').addEventListener('input', calculatePayment);
Aircraft Loan Calculator
$6,525.00
MONTHLY PAYMENT
Principal & Interest: $6,525