Paper Weight Thickness Calculator
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
background-color: #f8f9fa;
color: #333;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
padding-top: 20px;
padding-bottom: 60px;
}
.container {
max-width: 960px;
width: 100%;
background-color: #ffffff;
padding: 30px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
border-radius: 8px;
text-align: center;
}
h1, h2, h3 {
color: #004a99;
margin-bottom: 20px;
}
.calc-header {
margin-bottom: 30px;
border-bottom: 1px solid #eee;
padding-bottom: 20px;
}
.calc-header h1 {
margin-bottom: 0;
}
.input-group {
margin-bottom: 20px;
text-align: left;
position: relative;
padding-bottom: 20px;
}
.input-group label {
display: block;
margin-bottom: 8px;
font-weight: bold;
color: #004a99;
}
.input-group input[type="number"],
.input-group select {
width: calc(100% – 24px);
padding: 12px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 1rem;
margin-top: 5px;
box-sizing: border-box;
}
.input-group select {
cursor: pointer;
}
.input-group .helper-text {
font-size: 0.85em;
color: #666;
display: block;
margin-top: 8px;
}
.error-message {
color: #dc3545;
font-size: 0.85em;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
text-align: left;
}
.button-group {
margin-top: 30px;
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
}
button {
background-color: #004a99;
color: white;
border: none;
padding: 12px 25px;
border-radius: 5px;
cursor: pointer;
font-size: 1rem;
font-weight: bold;
transition: background-color 0.3s ease;
min-width: 150px;
}
button:hover {
background-color: #003366;
}
button.secondary {
background-color: #6c757d;
}
button.secondary:hover {
background-color: #5a6268;
}
#results {
margin-top: 40px;
padding: 25px;
background-color: #e9ecef;
border-radius: 8px;
border: 1px solid #dee2e6;
}
#results h3 {
color: #004a99;
margin-top: 0;
margin-bottom: 20px;
font-size: 1.5em;
}
.result-item {
margin-bottom: 15px;
font-size: 1.1em;
}
.result-label {
font-weight: bold;
color: #004a99;
}
.primary-result {
font-size: 1.8em;
font-weight: bold;
color: #004a99;
background-color: #cce5ff;
padding: 15px;
border-radius: 5px;
margin-bottom: 20px;
display: inline-block;
min-width: 70%;
}
.formula-explanation {
font-size: 0.9em;
color: #555;
margin-top: 15px;
padding-top: 15px;
border-top: 1px dashed #ccc;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 30px;
margin-bottom: 30px;
}
th, td {
border: 1px solid #ddd;
padding: 10px;
text-align: left;
}
th {
background-color: #004a99;
color: white;
font-weight: bold;
}
td {
background-color: #f2f2f2;
}
caption {
font-style: italic;
color: #666;
margin-bottom: 10px;
font-size: 0.9em;
}
#chartContainer {
margin-top: 30px;
padding: 20px;
background-color: #fff;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.article-section {
text-align: left;
margin-top: 40px;
padding-top: 30px;
border-top: 1px solid #eee;
}
.article-section h2 {
text-align: center;
color: #004a99;
margin-bottom: 30px;
}
.article-section h3 {
color: #0056b3;
margin-top: 25px;
margin-bottom: 15px;
border-bottom: 1px solid #eee;
padding-bottom: 5px;
}
.article-section p {
margin-bottom: 15px;
}
.article-section ul, .article-section ol {
margin-left: 20px;
margin-bottom: 15px;
}
.article-section li {
margin-bottom: 8px;
}
.faq-item {
margin-bottom: 15px;
border-bottom: 1px dotted #ccc;
padding-bottom: 10px;
}
.faq-item:last-child {
border-bottom: none;
}
.faq-question {
font-weight: bold;
color: #004a99;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
}
.faq-question::after {
content: '+';
font-size: 1.2em;
color: #004a99;
}
.faq-answer {
display: none;
margin-top: 10px;
padding-left: 15px;
font-size: 0.95em;
color: #555;
}
.faq-item.open .faq-question::after {
content: '-';
}
.faq-item.open .faq-answer {
display: block;
}
.internal-links-list {
list-style: none;
padding: 0;
}
.internal-links-list li {
margin-bottom: 10px;
}
.internal-links-list a {
color: #004a99;
text-decoration: none;
font-weight: bold;
}
.internal-links-list a:hover {
text-decoration: underline;
}
.internal-links-list span {
font-size: 0.9em;
color: #666;
display: block;
margin-top: 4px;
}
/* Specific styles for the calculator */
.loan-calc-container {
margin-bottom: 40px;
padding: 30px;
background-color: #fdfdfd;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.03);
border: 1px solid #e0e0e0;
}
.primary-result-value {
font-size: 2.2em;
font-weight: bold;
color: #28a745;
display: block;
margin-top: 10px;
}
.chart-legend {
font-size: 0.8em;
color: #666;
margin-top: 10px;
display: flex;
justify-content: center;
gap: 20px;
}
.chart-legend span {
display: inline-block;
margin-right: 5px;
width: 12px;
height: 12px;
border-radius: 3px;
}
.legend-gsm { background-color: #004a99; }
.legend-density { background-color: #6c757d; }
Calculation Results
Estimated Thickness:
— mm
Paper Area per Gram: — m²
Calculated Paper Volume: — cm³
Assumed Paper Density: — g/cm³
Formula: Thickness (mm) = (GSM / (Density (g/cm³) * 10000)) * 1000
This is derived from: Density = Mass / Volume. We calculate the volume of 1 square meter of paper and then use that to find the thickness.
Thickness vs. Density (at 90 GSM)
Paper Weight (GSM)
Paper Density (g/cm³)
What is Paper Weight Thickness?
Paper weight thickness refers to the physical dimension of a paper sheet, commonly measured in millimeters (mm) or inches. While often associated with the paper's 'weight' (like GSM or basis weight), the actual physical thickness is a distinct characteristic that significantly impacts how paper feels, performs, and is used in various applications. Understanding paper weight thickness is crucial for printers, designers, manufacturers, and anyone involved in paper selection and processing. It's not just about how heavy a ream of paper feels; it's about the actual caliper or bulk of an individual sheet.
This paper weight thickness calculator is designed for individuals who need to estimate the physical thickness of paper based on its standardized weight (GSM) and its intrinsic density. This includes graphic designers choosing the right paper stock for a brochure, printers determining press settings, packaging engineers specifying materials, or even hobbyists working with different types of paper.
A common misconception is that higher GSM automatically means a proportionally higher thickness. While there's a strong correlation, the actual paper weight thickness is also influenced by the paper's density, which can vary based on manufacturing processes, fiber types, and finishing treatments. Another misconception is that thickness is a universal measure; it's essential to know the context, such as whether it's caliper (thickness of one sheet) or bulk (thickness of a stack of sheets). This calculator focuses on the caliper of a single sheet.
Paper Weight Thickness Formula and Mathematical Explanation
The calculation of paper weight thickness relies on fundamental physics principles, specifically the relationship between density, mass, and volume. The most common international standard for paper weight is Grams per Square Meter (GSM). GSM tells us the mass of one square meter of paper. We also need the paper's density, typically measured in grams per cubic centimeter (g/cm³).
Step-by-Step Derivation:
- Understand GSM: GSM (Grams per Square Meter) represents the mass of a sheet of paper that is 1 meter by 1 meter. So, if a paper is 90 GSM, it means a 1m x 1m sheet weighs 90 grams.
- Relate GSM to Area and Mass: We know: Mass = 90 grams, Area = 1 m² = 10,000 cm².
- Use Density Formula: Density (ρ) = Mass (m) / Volume (V). Rearranging this, we get Volume (V) = Mass (m) / Density (ρ).
- Calculate Volume of 1 m²: Using the values from step 2 and the given density (let's use 'D' for density in g/cm³):
V = 90 g / D (g/cm³) = (90 / D) cm³.
This volume (90/D cm³) is the volume occupied by a 1m x 1m sheet of paper.
- Calculate Thickness: Since Volume = Area × Thickness, we can find Thickness:
Thickness = Volume / Area.
We need consistent units. Area = 1 m² = 10,000 cm².
Thickness (in cm) = V / Area = ((90 / D) cm³) / (10,000 cm²) = 90 / (10000 * D) cm.
- Convert to Millimeters: Since 1 cm = 10 mm, we multiply the thickness in cm by 10:
Thickness (in mm) = (90 / (10000 * D)) cm * 10 mm/cm
Thickness (in mm) = 900 / (10000 * D)
Thickness (in mm) = 90 / (1000 * D)
Generalizing this for any GSM value ('G'):
Thickness (mm) = (G / (D * 10000)) * 1000, which simplifies to:
Thickness (mm) = G / (D * 10)
Variable Explanations
Here's a breakdown of the variables involved in calculating paper weight thickness:
| Variable |
Meaning |
Unit |
Typical Range |
| GSM (G) |
Grams per Square Meter: The mass of paper in grams for a sheet measuring 1 meter by 1 meter. |
g/m² |
30 – 400+ g/m² |
| Density (D) |
Paper Density: The mass per unit volume of the paper material. Affects how compact the paper fibers are. |
g/cm³ |
0.7 – 1.2 g/cm³ |
| Thickness |
The physical caliper or thickness of a single sheet of paper. |
mm (millimeters) |
Varies based on GSM and Density |
| Area |
The surface area of the reference sheet (1 m²). |
m² or cm² |
1 m² (or 10,000 cm²) |
| Mass |
The weight of the reference sheet (1 m²). |
grams |
Equal to GSM |
Practical Examples (Real-World Use Cases)
Let's explore how the paper weight thickness calculator can be applied in real scenarios:
Example 1: Selecting Cardstock for Invitations
Sarah is designing wedding invitations and needs to choose a suitable cardstock. She's considering a premium, textured cardstock advertised as 250 GSM. She knows that the density of such specialty papers can vary, and she assumes a density of 0.9 g/cm³ due to its slightly fibrous texture. She wants to know the approximate physical thickness to ensure it fits comfortably in envelopes and feels substantial.
Inputs:
- Paper Weight (GSM): 250 g/m²
- Paper Density: 0.9 g/cm³
Calculation using the calculator:
- Thickness = 250 / (0.9 * 10) = 250 / 9 ≈ 27.78 mm
- Paper Area per Gram = 1 / 250 ≈ 0.004 m²/g
- Calculated Paper Volume = 250 / 0.9 ≈ 277.78 cm³ (for 1 m²)
Result Interpretation:
The calculator shows an estimated thickness of approximately 0.278 mm (0.02778 cm). This thickness provides a good sense of rigidity and quality for invitations. Sarah can now compare this to envelope specifications and other paper options she might be considering. If she finds another paper at 300 GSM with a density of 0.8 g/cm³, she can calculate its thickness (300 / (0.8 * 10) = 37.5 mm) and see it's significantly thicker (0.375 mm), influencing her final decision based on perceived value and handling.
Example 2: Specifying Paper for a Product Catalog
A marketing team is producing a high-quality product catalog. They want pages that are durable and lay flat but not excessively thick to keep the overall page count manageable and mailing costs down. They are looking at a coated paper stock with a weight of 150 GSM and an estimated density of 1.1 g/cm³, typical for coated papers which are more densely packed.
Inputs:
- Paper Weight (GSM): 150 g/m²
- Paper Density: 1.1 g/cm³
Calculation using the calculator:
- Thickness = 150 / (1.1 * 10) = 150 / 11 ≈ 13.64 mm
- Paper Area per Gram = 1 / 150 ≈ 0.0067 m²/g
- Calculated Paper Volume = 150 / 1.1 ≈ 136.36 cm³ (for 1 m²)
Result Interpretation:
The result indicates a thickness of about 0.136 mm. This is a moderate thickness, suitable for catalog pages that need to feel premium without adding excessive bulk. If the team later considers a lighter 115 GSM paper with the same density (115 / (1.1 * 10) ≈ 10.45 mm or 0.1045 mm thick), they can see it's noticeably thinner and potentially less durable, helping them justify the choice of the 150 GSM stock for the desired balance of quality and manageability. Understanding the paper weight thickness helps ensure the final product meets both aesthetic and functional requirements.
How to Use This Paper Weight Thickness Calculator
Using the Paper Weight Thickness Calculator is straightforward. Follow these simple steps to get accurate estimations for your paper needs:
- Locate the Input Fields: You'll find two primary input fields: "Paper Weight (GSM)" and "Paper Density (g/cm³)".
- Enter Paper Weight (GSM): Input the Grams per Square Meter (GSM) value for your paper. If you're unsure, common office paper is around 80 GSM, while heavier cardstocks can range from 200 GSM upwards. You can find GSM information on paper packaging or manufacturer specifications.
- Enter Paper Density (g/cm³): Input the density of the paper. This value reflects how tightly the paper fibers are packed. Typical densities range from 0.7 to 1.2 g/cm³. Higher density papers are usually more compact and may feel smoother. If you don't have the exact density, using a typical value for the paper type (e.g., 0.8 for standard uncoated, 1.1 for coated) can provide a good estimate.
- Click "Calculate Thickness": Once you've entered your values, click the "Calculate Thickness" button.
How to Read Results:
After clicking calculate, the calculator will display:
- Primary Highlighted Result: The "Estimated Thickness" in millimeters (mm). This is the main output you're looking for.
- Key Intermediate Values: You'll also see:
- Paper Area per Gram: How much area 1 gram of this paper covers.
- Calculated Paper Volume: The volume occupied by 1 square meter of this paper.
- Assumed Paper Density: Repeats the density you entered for confirmation.
- Formula Explanation: A brief explanation of the formula used.
Decision-Making Guidance:
Use the calculated thickness to:
- Compare Papers: Easily compare the physical bulk of different paper stocks with varying GSM and densities.
- Check Specifications: Ensure your chosen paper meets envelope fit requirements, binding constraints, or postal regulations regarding thickness.
- Assess Quality: A thicker paper often conveys a sense of higher quality and durability, which can be important for branding and product perception.
- Estimate Shipping Costs: The physical thickness contributes to the overall dimensions and weight of printed materials, influencing shipping costs.
Remember to use the "Copy Results" button to save or share your findings, and the "Reset" button to start fresh calculations.
Key Factors That Affect Paper Weight Thickness
While the GSM and density are the primary drivers for calculating paper weight thickness, several other factors influence these core properties and the final perceived thickness or bulk of paper. Understanding these can help in selecting the perfect paper for any project.
-
Fiber Type and Length: Different wood pulps (like softwood vs. hardwood) or alternative fibers (cotton, bamboo) have varying inherent characteristics. Longer fibers can sometimes create bulkier paper, while shorter fibers might lead to denser packing. The choice of fibers directly impacts the density of the paper.
-
Manufacturing Process (Pulping and Refining): How the wood fibers are processed affects their structure and bonding. More intense refining can break down fibers, making them pack more tightly and thus reducing density and potentially thickness for a given GSM.
-
Pressing and Drying: During papermaking, the wet sheet is pressed to remove water and consolidate fibers. The pressure applied significantly influences the final density and thickness. Higher pressing generally leads to lower thickness and higher density.
-
Fillers and Additives: Minerals like calcium carbonate or kaolin clay are often added to paper pulp to improve brightness, opacity, and printability. These fillers can affect density and how fibers bond, influencing the final paper weight thickness. For instance, calcium carbonate can increase bulk for a given GSM.
-
Calendering (Smoothing): Many papers, especially coated stocks, undergo calendering – passing through rollers to smooth and compress the surface. This process significantly reduces paper thickness and increases density, giving a smoother finish but potentially less "bulk."
-
Coating: Applying coatings (like clay, binders) to the paper surface adds weight and thickness. While the base paper has a specific GSM and density, the coating adds an additional layer that increases the overall caliper. Different coating types and thicknesses will affect the final result.
-
Moisture Content: Paper is hygroscopic, meaning it absorbs moisture from the air. Changes in humidity can cause paper to swell slightly, affecting its measured thickness. Standard conditions are used for paper testing, but environmental variations can matter in critical applications.
Frequently Asked Questions (FAQ)
What is the difference between GSM and paper thickness?
GSM (Grams per Square Meter) measures the mass of paper per unit area, while paper thickness (or caliper) measures its physical dimension (usually in mm or points). While higher GSM generally correlates with greater thickness, paper density also plays a crucial role. Two papers with the same GSM can have different thicknesses if their densities vary.
Can I calculate thickness if I only know the basis weight?
Yes, but you'll need to convert the basis weight to GSM first. Basis weight is often quoted in pounds (e.g., 20 lb bond paper) and is specific to certain paper types and sheet sizes. You can find online converters or use formulas to get the equivalent GSM, then use that along with density in our calculator.
What is a typical density for common printing paper?
Standard uncoated printing paper (like 80 GSM office paper) typically has a density ranging from 0.7 to 0.9 g/cm³. Coated papers tend to be denser, often between 1.0 and 1.2 g/cm³, due to the coating and increased pressing during manufacturing.
Does paper thickness affect print quality?
Indirectly, yes. Thicker, denser papers often provide a more stable printing surface, leading to sharper images and text. However, the primary drivers of print quality are the paper's surface smoothness, ink absorption properties, and brightness, rather than just its thickness.
How does paper thickness affect mailing costs?
Postal services often have regulations regarding the maximum thickness and weight for standard mail. Thicker paper increases the overall bulk of envelopes or packages, potentially pushing them into higher postage categories or requiring them to be sent as parcels instead of letters.
What does "bulk" mean in relation to paper thickness?
"Bulk" often refers to the thickness of a stack of paper sheets, typically measured in pages per inch (PPI) or mils per sheet (which is closely related to caliper). While caliper is the thickness of a single sheet, bulk considers how thick a book or stack will be, taking into account the number of sheets. Our calculator provides the caliper of a single sheet.
Is there a standard caliper for business cards?
Business cards are typically printed on cardstock, often ranging from 250 GSM to 350 GSM or higher. This translates to thicknesses usually between 0.25 mm and 0.40 mm. The exact thickness depends on the specific GSM and density of the cardstock chosen.
How can I find the density of a specific paper?
Paper density is not always readily provided by manufacturers. You can sometimes find it in detailed technical specifications or by conducting your own measurement if precision is critical (e.g., weighing a precisely cut area and measuring its thickness accurately). For estimations, using typical density ranges for the paper type (uncoated, coated, cardstock) is usually sufficient.
Related Tools and Internal Resources
function validateInput(id, errorId, minValue, maxValue) {
var input = document.getElementById(id);
var errorElement = document.getElementById(errorId);
var value = parseFloat(input.value);
errorElement.innerText = ""; // Clear previous error
if (isNaN(value)) {
errorElement.innerText = "Please enter a valid number.";
return false;
}
if (value 500) {
errorElement.innerText = "GSM is unusually high (max 500 suggested).";
return false;
}
if (id === 'density' && (value 1.5)) {
errorElement.innerText = "Density is outside typical range (0.5-1.5 g/cm³).";
return false;
}
return true;
}
function calculatePaperThickness() {
var gsmValid = validateInput('gsm', 'gsmError');
var densityValid = validateInput('density', 'densityError');
if (!gsmValid || !densityValid) {
return;
}
var gsm = parseFloat(document.getElementById('gsm').value);
var density = parseFloat(document.getElementById('density').value);
// Formula: Thickness (mm) = GSM / (Density (g/cm³) * 10)
var thicknessMM = gsm / (density * 10);
// Intermediate Calculations
var areaPerGram = 1 / gsm; // m^2 / g
var paperVolumePerSQM = gsm / density; // cm^3 per m^2
var assumedDensity = density; // g/cm^3
document.getElementById('primaryResult').innerText = thicknessMM.toFixed(3);
document.getElementById('areaPerGram').innerText = areaPerGram.toFixed(5);
document.getElementById('paperVolume').innerText = paperVolumePerSQM.toFixed(2);
document.getElementById('assumedDensity').innerText = assumedDensity.toFixed(2);
document.getElementById('results').style.display = 'block';
updateChart(gsm);
}
function resetCalculator() {
document.getElementById('gsm').value = '90';
document.getElementById('density').value = '0.8';
document.getElementById('gsmError').innerText = "";
document.getElementById('densityError').innerText = "";
document.getElementById('primaryResult').innerText = '–';
document.getElementById('areaPerGram').innerText = '–';
document.getElementById('paperVolume').innerText = '–';
document.getElementById('assumedDensity').innerText = '–';
document.getElementById('results').style.display = 'none';
updateChart(90); // Reset chart to default
}
function copyResults() {
var primaryResult = document.getElementById('primaryResult').innerText;
var areaPerGram = document.getElementById('areaPerGram').innerText;
var paperVolume = document.getElementById('paperVolume').innerText;
var assumedDensity = document.getElementById('assumedDensity').innerText;
if (primaryResult === '–') {
alert("No results to copy yet. Please perform a calculation first.");
return;
}
var clipboardText = "— Paper Thickness Calculation Results —\n\n";
clipboardText += "Estimated Thickness: " + primaryResult + " mm\n";
clipboardText += "Paper Area per Gram: " + areaPerGram + " m²/g\n";
clipboardText += "Calculated Paper Volume (per m²): " + paperVolume + " cm³\n";
clipboardText += "Assumed Paper Density: " + assumedDensity + " g/cm³\n\n";
clipboardText += "Assumptions:\n";
clipboardText += " – Paper Weight (GSM): " + document.getElementById('gsm').value + "\n";
clipboardText += " – Paper Density (g/cm³): " + document.getElementById('density').value + "\n";
navigator.clipboard.writeText(clipboardText).then(function() {
alert("Results copied to clipboard!");
}).catch(function(err) {
console.error("Failed to copy results: ", err);
alert("Failed to copy results. Please copy manually.");
});
}
// Charting logic
var chartInstance = null;
function updateChart(currentGsm) {
var ctx = document.getElementById('thicknessChart').getContext('2d');
if (chartInstance) {
chartInstance.destroy(); // Destroy previous chart instance
}
var densities = [0.7, 0.8, 0.9, 1.0, 1.1, 1.2]; // Typical density range
var thicknesses = [];
var gsmValues = []; // For the second series
for (var i = 0; i < densities.length; i++) {
var density = densities[i];
var thickness = currentGsm / (density * 10);
thicknesses.push(thickness);
gsmValues.push(currentGsm); // Keep GSM constant for this x-axis
}
chartInstance = new Chart(ctx, {
type: 'line',
data: {
labels: densities.map(function(d) { return d.toFixed(1); }), // Density on X-axis
datasets: [{
label: 'Thickness (mm)',
data: thicknesses,
borderColor: '#004a99',
backgroundColor: 'rgba(0, 74, 153, 0.1)',
fill: true,
tension: 0.1
},
{
label: 'Paper Weight (GSM)',
data: gsmValues.map(function(g, index) { return currentGsm / (densities[index] * 10); }), // Dummy data to represent constant GSM
borderColor: '#6c757d',
backgroundColor: 'rgba(108, 117, 125, 0.1)',
fill: false,
borderDash: [5, 5], // Dashed line for constant GSM representation
tension: 0.1
}]
},
options: {
responsive: true,
maintainAspectRatio: true,
scales: {
x: {
title: {
display: true,
text: 'Paper Density (g/cm³)'
}
},
y: {
title: {
display: true,
text: 'Thickness (mm)'
},
beginAtZero: true
}
},
plugins: {
tooltip: {
callbacks: {
label: function(context) {
var label = context.dataset.label || '';
if (label) {
label += ': ';
}
if (context.parsed.y !== null) {
label += context.parsed.y.toFixed(3);
}
// Add GSM info for the second dataset if it's the constant GSM line
if (context.dataset.label === 'Paper Weight (GSM)') {
label += ' (at ' + currentGsm + ' GSM)';
}
return label;
}
}
}
}
}
});
}
// Initialize chart on page load
document.addEventListener('DOMContentLoaded', function() {
updateChart(90); // Initial chart with default GSM
var inputs = document.querySelectorAll('.loan-calc-container input[type="number"], .loan-calc-container select');
inputs.forEach(function(input) {
input.addEventListener('input', function() {
// Basic validation on input to clear errors quickly
var id = this.id;
var errorId = id + 'Error';
if (document.getElementById(errorId)) {
validateInput(id, errorId);
}
// Trigger calculation live if all fields are valid and have values
var gsmInput = document.getElementById('gsm');
var densityInput = document.getElementById('density');
if (gsmInput.value && densityInput.value && !document.getElementById('gsmError').innerText && !document.getElementById('densityError').innerText) {
calculatePaperThickness();
}
});
});
// FAQ toggle functionality
var faqQuestions = document.querySelectorAll('.faq-question');
faqQuestions.forEach(function(question) {
question.addEventListener('click', function() {
var faqItem = this.parentElement;
faqItem.classList.toggle('open');
});
});
});