Last updated:

# French Drain Calculator

Table of contents

What is a French drain? How does a French drain work?How do I build a French drain?How to use our French drain calculatorUsing our tool as a French drain cost calculatorHow do I calculate the gravel for a French drain?Sample calculation of needed gravel for a French drain systemFAQs

This French drain calculator will help you find how much gravel you need for your French drain installation. In other words, this tool is our gravel calculator version for French drains. This calculator also finds how many drain pipes and filter fabric you need for your French drain. This calculator also works as a French drain cost calculator to help you find how much your French drain would cost.

In this calculator, you will learn what a French drain is, how to build a French drain, whether it is a pipeless French drain or one with a French drain pipe. We'll show you different French drain diagrams to help you visualize the different French drain systems. Keep on reading to start learning.

## What is a French drain? How does a French drain work?

A French drain is an underground drainage system comprised of a trench filled with a permeable*volume of materials, like gravel or river rock, with a perforated pipe at the bottom of the trench, like in the illustration below:

We usually install French drains at lower elevations where runoff water or groundwater is collected. Runoff water is the water that runs over, let's say, your lawn when it rains or you have excessive water flowing from your hose or faucet. When runoff water reaches the French drain, the water seeps down through the gravel and into the pipe through its holes. The pipe then facilitates the water flow rate down the drain to a catch basin or an outlet like the main stormwater sewage line.

On the other hand, when water seeps into the soil, it settles at a level we call the groundwater level. When the groundwater level gets too high (due to, say, a lot of rain) to reach the bottom portion of the French drain and enters it, draining out through the same outlet. That's how a French drain works.

## How do I build a French drain?

French drain installation is simply making a trench, laying a perforated pipe (at a rather straight line or without offsets), and filling the rest of the trench with gravel. Make sure to surround your pipe with gravel to avoid soil or sand from clogging up the pipe perforations. To help avoid clogging, we can use filter fabric like geotextiles and landscaping fabric to line the trench or the pipe.

Also, make sure your French drain pipe is at its minimum recommended elevation grade or slope so water will not sit inside the pipe. The pipe slope can also give you a better idea of your French drain depth. Below is the table of the minimum slope for the typical French drain pipe sizes on the market:

Pipe size

Minimum recommended slope (inches per foot)

1/8" - 2 1/2"

0.2500

3" - 6"

0.1250

8" or larger

0.0625

🔎 You can use our elevation grade calculator to help you determine the inclination of your french drain pipes.

Remember to face the holes of your French drain pipe downwards to allow water to get inside the pipe. Facing the holes upwards will only allow water to get in the pipe when the trench water level reaches the top of the pipe. This is not how we want our French drain system to work. If you are making a pipeless French drain, keep the trench's bottom surface sloped towards the outlet.

## How to use our French drain calculator

Using our French drain calculator is very easy. Here are the steps that you can follow to use our tool properly:

1. Decide whether you want to build a French drain with a drain pipe or without a drain pipe. By default, our tool assumes a French drain with a perforated drain pipe. That is indicated by the ticked checkbox named "With perforated drain pipe?". With that checked, our tool displays the Drain pipe details and the Drain pipes needed sections of our tool. Unchecking it will hide them.

2. Select your filter fabric preference. The French drain diagram will change accordingly to help you visualize your selected French drain system.

3. Enter your French drain depth, width, and length in our French drain calculator. The tool will then give you the volume of excavation you need for your French drain system. This is also a nice time to enter the filter fabric overlap length if you plan to use a filter fabric for your French drain.

4. If you choose to make a French drain with pipe, the next step is to select the pipe schedule and choose the size of pipe you wish to use. You can enter a custom value for the pipe's outside diameter by selecting the last dropdown option of the pipe size variable. With the outside diameter entered, our tool calculates the cylindrical volume of the pipe to subtract it from the excavation volume to get the gravel volume. You can review that detail, together with the minimum pipe slope and pipe drop, by ticking the Display more pipe details checkbox.

🙋 Read more about how to calculate the volume of cylinders in our cylinder volume calculator.

1. As you can see, there is already a value for the total drain pipe length. Our French drain calculator worked out this value based on the recommended minimum slope for the selected drain pipe size.

Right now, you should already have the quantity of pipes needed and the total gravel volume. In construction, we always want to consider a contingency for the quantity of the materials we purchase. For that, we have included the wastage variable for the gravel, which is the percentage of the gravel volume you might end up wasting.

For the weight of gravel needed, we used a density value of 1,680 kg/m³ or 105 lb/ft³ by default, but you can also edit to use a different kind of gravel or river rock. Access these variables by ticking on the Display gravel density and weight checkbox.

## Using our tool as a French drain cost calculator

How much your French drain costs depends on the size and length of your trench and the choice of materials you are going to use. With our tool, you can also find how much your French drain costs by entering either the price per unit volume or price per unit weight of gravel, the price per piece of pipe, and the price per unit area of filter fabric in the Cost of materials needed section of our French drain calculator.

## How do I calculate the gravel for a French drain?

In case you want to learn how to calculate the gravel for your French drain on your own, here is the formula we used in our calculator:

$\footnotesize V = w\times d\times L_\text{t} - \pi\times \frac{D_\text{o}^2}{4}\times L_\text{p}$

where:

• $V$ — Volume of gravel needed;
• $w$ — Width of the trench;
• $d$ — Depth of trench;
• $L_\text{t}$ — Length of trench;
• $D_\text{o}$ — Outside diameter of the perforated pipe; and
• $L_\text{p}$ — Length of the perforated pipe that is equal to $\sqrt{L_\text{t}^2 +\left( L_\text{t} \times \frac{s}{12}\right)^2}$, where $s$ is the minimum recommended slope of the perforated pipe.

As a reference, here is a table of the standard outside diameter for the different pipe sizes used as French drains:

 Nominal pipe size Outside diameter Schedule 40 PVC pipe SDR35 PVC sewer drain (in) (mm) (in) (mm) 1/8" 0.41 10.29 – – 1/4" 0.54 13.72 – – 3/8" 0.68 17.15 – – 1/2" 0.84 21.34 – – 3/4" 1.05 26.67 – – 1" 1.32 33.40 – – 1 1/4" 1.66 42.16 – – 1 1/2" 1.90 48.26 – – 2" 2.38 60.33 – – 2 1/2" 2.88 73.03 – – 3" 3.50 88.90 – – 3 1/2" 4.00 101.60 – – 4" 4.50 114.30 4.22 107.06 5" 5.56 141.30 – – 6" 6.63 168.28 6.28 159.39 8" 8.63 219.08 8.40 213.36 10" 10.75 273.05 10.50 266.70 12" 12.75 323.85 12.50 317.50 14" 14.00 355.60 – – 15" – – 15.30 388.60 16" 16.00 406.40 – – 18" 18.00 457.20 18.70 475.00 20" 20.00 508.00 – – 21" – – 22.05 560.00 24" 24.00 609.60 24.80 630.00 27" – – 27.95 710.00 30" 30.00 762.00 32.00 812.80 36" 36.00 914.40 38.30 972.80 42" 42.00 1066.80 44.50 1130.30 48" 48.00 1219.20 50.80 1290.30

## Sample calculation of needed gravel for a French drain system

Let's say we want to embed a Schedule-40 perforated pipe with an outside diameter of 4.5 inches (0.375 ft) in a 10-inch (10/12 ft) wide, 1-ft deep, and 20-ft long trench for a French drain. Let us try to find out how much gravel and pipe we would need. First, let us calculate the length of pipe we need to use:

\footnotesize \begin{align*} L_\text{p} &= \sqrt{L_\text{t}^2 +\left( L_\text{t} \times \frac{s}{12}\right)^2}\\[1.5em] &= \sqrt{(20\ \text{ft})^2 +\left( 20\ \text{ft} \times \frac{0.125}{12}\right)^2}\\[1.5em] &= 20.001\ \text{ft}\\[0.2em] &\approx 20\ \text{ft} \end{align*}

Since the slope isn't much, we ended up with a pipe length that is approximately equal to the length of our trench. Now that we have a value for $L_\text{p}$, let us work out the volume of gravel, $V$, needed:

\!\footnotesize \begin{align*} V &= w\times d\times L_\text{t} - \pi\times \frac{D_\text{o}^2}{4}\times L_\text{p}\\[1.0em] &=\! \tfrac{10}{12}\ \!\text{ft}\!\times\! 1\ \!\text{ft}\!\times\! 10\ \!\text{ft} \!-\! \pi\!\times\! \frac{(0.375\ \!\text{ft})^2}{4}\!\times\! 20\ \!\text{ft}\\[1.0em] &= 14.458\ \text{ft}^3\\[0.4em] &\approx 14.5\ \text{ft}^3 \end{align*}

To know how many perforated pipes you should purchase for your French drain installation, simply divide $L_\text{p}$ by the available length of pipe you can get. Round the value up so you won't be short of pipe.

For the filter fabric width, obtain the perimeter you need to cover and your desired overlap. Multiplying this width by the trench length will give you the total filter fabric area you need for your project.

FAQs

### How do I make a French drain?

1. Dig a trench wide enough for your perforated pipe.
2. Line your trench with filter fabric to avoid silt and sand from clogging the pipe perforations.
3. Lay your pipe at the bottom of the trench.
4. Pour your gravel into the trench to cover the pipe. Hold the pipe in place as the gravel can move it around.
5. You can either cover the gravel with sod to match your lawn or leave it as is.

### How do I tell if a French drain is working?

Spray or pour some water over your French drain and wait for flowing water at the outlet to see if the French drain is working. Every French drain should have an outlet where the water flowing through it will go. If your French drain collects water from your driveway, you can check the outlet after washing your vehicle.

### Why is it called a french drain?

We call it a "French drain" after Henry Flagg French, a lawyer from Massachusetts, who popularized it through his book named Farm Drainage. It doesn't have anything to do with France as one may think of at first, like how French fries were not also originally from France.

### What does a French drain do?

French drain helps in facilitating water flow through the soil. Without a french drain (or any drain, for that matter) water in a flooded area can remain there for days and even weeks. With a properly working French drain, runoff water can easily seep into the French drain pipe to go directly to the outlet.

### How much gravel do I need per foot of French drain?

You would need around 0.72 cubic feet of gravel per foot length of French drain for a typical French drain width of 10 inches and a depth of 12 inches if you're using a 4" drain pipe. On the other hand, you would need around 0.6 cubic feet of gravel if you're using a 6" drain pipe.

## .css-1qjnekj.css-1qjnekj{color:#2B3148;background-color:transparent;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:20px;line-height:24px;overflow:visible;padding-top:0px;position:relative;}.css-1qjnekj.css-1qjnekj:after{content:'';-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);transform:scale(0);position:absolute;border:2px solid #EA9430;border-radius:2px;inset:-8px;z-index:1;}.css-1qjnekj .js-external-link-button.link-like,.css-1qjnekj .js-external-link-anchor{color:inherit;border-radius:1px;-webkit-text-decoration:underline;text-decoration:underline;}.css-1qjnekj .js-external-link-button.link-like:hover,.css-1qjnekj .js-external-link-anchor:hover,.css-1qjnekj .js-external-link-button.link-like:active,.css-1qjnekj .js-external-link-anchor:active{text-decoration-thickness:2px;text-shadow:1px 0 0;}.css-1qjnekj .js-external-link-button.link-like:focus-visible,.css-1qjnekj .js-external-link-anchor:focus-visible{outline:transparent 2px dotted;box-shadow:0 0 0 2px #6314E6;}.css-1qjnekj p,.css-1qjnekj div{margin:0;display:block;}.css-1qjnekj pre{margin:0;display:block;}.css-1qjnekj pre code{display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}.css-1qjnekj pre:not(:first-child){padding-top:8px;}.css-1qjnekj ul,.css-1qjnekj ol{display:block margin:0;padding-left:20px;}.css-1qjnekj ul li,.css-1qjnekj ol li{padding-top:8px;}.css-1qjnekj ul ul,.css-1qjnekj ol ul,.css-1qjnekj ul ol,.css-1qjnekj ol ol{padding-top:0;}.css-1qjnekj ul:not(:first-child),.css-1qjnekj ol:not(:first-child){padding-top:4px;}.css-1dtpypy{margin:auto;background-color:white;overflow:auto;overflow-wrap:break-word;word-break:break-word;}.css-1dtpypy code,.css-1dtpypy kbd,.css-1dtpypy pre,.css-1dtpypy samp{font-family:monospace;}.css-1dtpypy code{padding:2px 4px;color:#444;background:#ddd;border-radius:4px;}.css-1dtpypy figcaption,.css-1dtpypy caption{text-align:center;}.css-1dtpypy figcaption{font-size:12px;font-style:italic;overflow:hidden;}.css-1dtpypy h3{font-size:1.75rem;}.css-1dtpypy h4{font-size:1.5rem;}.css-1dtpypy .mathBlock{font-size:24px;-webkit-padding-start:4px;padding-inline-start:4px;}.css-1dtpypy .mathBlock .katex{font-size:24px;text-align:left;}.css-1dtpypy .math-inline{background-color:#f0f0f0;display:inline-block;font-size:inherit;padding:0 3px;}.css-1dtpypy .videoBlock,.css-1dtpypy .imageBlock{margin-bottom:16px;}.css-1dtpypy .imageBlock__image-align--left,.css-1dtpypy .videoBlock__video-align--left{float:left;}.css-1dtpypy .imageBlock__image-align--right,.css-1dtpypy .videoBlock__video-align--right{float:right;}.css-1dtpypy .imageBlock__image-align--center,.css-1dtpypy .videoBlock__video-align--center{display:block;margin-left:auto;margin-right:auto;clear:both;}.css-1dtpypy .imageBlock__image-align--none,.css-1dtpypy .videoBlock__video-align--none{clear:both;margin-left:0;margin-right:0;}.css-1dtpypy .videoBlock__video--wrapper{position:relative;padding-bottom:56.25%;height:0;}.css-1dtpypy .videoBlock__video--wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;}.css-1dtpypy .videoBlock__caption{text-align:left;}@font-face{font-family:'KaTeX_AMS';src:url(/katex-fonts/KaTeX_AMS-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_AMS-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_AMS-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}@font-face{font-family:'KaTeX_Caligraphic';src:url(/katex-fonts/KaTeX_Caligraphic-Bold.woff2) format('woff2'),url(/katex-fonts/KaTeX_Caligraphic-Bold.woff) format('woff'),url(/katex-fonts/KaTeX_Caligraphic-Bold.ttf) format('truetype');font-weight:bold;font-style:normal;}@font-face{font-family:'KaTeX_Caligraphic';src:url(/katex-fonts/KaTeX_Caligraphic-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_Caligraphic-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_Caligraphic-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}@font-face{font-family:'KaTeX_Fraktur';src:url(/katex-fonts/KaTeX_Fraktur-Bold.woff2) format('woff2'),url(/katex-fonts/KaTeX_Fraktur-Bold.woff) format('woff'),url(/katex-fonts/KaTeX_Fraktur-Bold.ttf) format('truetype');font-weight:bold;font-style:normal;}@font-face{font-family:'KaTeX_Fraktur';src:url(/katex-fonts/KaTeX_Fraktur-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_Fraktur-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_Fraktur-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}@font-face{font-family:'KaTeX_Main';src:url(/katex-fonts/KaTeX_Main-Bold.woff2) format('woff2'),url(/katex-fonts/KaTeX_Main-Bold.woff) format('woff'),url(/katex-fonts/KaTeX_Main-Bold.ttf) format('truetype');font-weight:bold;font-style:normal;}@font-face{font-family:'KaTeX_Main';src:url(/katex-fonts/KaTeX_Main-BoldItalic.woff2) format('woff2'),url(/katex-fonts/KaTeX_Main-BoldItalic.woff) format('woff'),url(/katex-fonts/KaTeX_Main-BoldItalic.ttf) format('truetype');font-weight:bold;font-style:italic;}@font-face{font-family:'KaTeX_Main';src:url(/katex-fonts/KaTeX_Main-Italic.woff2) format('woff2'),url(/katex-fonts/KaTeX_Main-Italic.woff) format('woff'),url(/katex-fonts/KaTeX_Main-Italic.ttf) format('truetype');font-weight:normal;font-style:italic;}@font-face{font-family:'KaTeX_Main';src:url(/katex-fonts/KaTeX_Main-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_Main-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_Main-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}@font-face{font-family:'KaTeX_Math';src:url(/katex-fonts/KaTeX_Math-BoldItalic.woff2) format('woff2'),url(/katex-fonts/KaTeX_Math-BoldItalic.woff) format('woff'),url(/katex-fonts/KaTeX_Math-BoldItalic.ttf) format('truetype');font-weight:bold;font-style:italic;}@font-face{font-family:'KaTeX_Math';src:url(/katex-fonts/KaTeX_Math-Italic.woff2) format('woff2'),url(/katex-fonts/KaTeX_Math-Italic.woff) format('woff'),url(/katex-fonts/KaTeX_Math-Italic.ttf) format('truetype');font-weight:normal;font-style:italic;}@font-face{font-family:'KaTeX_SansSerif';src:url(/katex-fonts/KaTeX_SansSerif-Bold.woff2) format('woff2'),url(/katex-fonts/KaTeX_SansSerif-Bold.woff) format('woff'),url(/katex-fonts/KaTeX_SansSerif-Bold.ttf) format('truetype');font-weight:bold;font-style:normal;}@font-face{font-family:'KaTeX_SansSerif';src:url(/katex-fonts/KaTeX_SansSerif-Italic.woff2) format('woff2'),url(/katex-fonts/KaTeX_SansSerif-Italic.woff) format('woff'),url(/katex-fonts/KaTeX_SansSerif-Italic.ttf) format('truetype');font-weight:normal;font-style:italic;}@font-face{font-family:'KaTeX_SansSerif';src:url(/katex-fonts/KaTeX_SansSerif-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_SansSerif-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_SansSerif-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}@font-face{font-family:'KaTeX_Script';src:url(/katex-fonts/KaTeX_Script-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_Script-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_Script-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}@font-face{font-family:'KaTeX_Size1';src:url(/katex-fonts/KaTeX_Size1-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_Size1-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_Size1-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}@font-face{font-family:'KaTeX_Size2';src:url(/katex-fonts/KaTeX_Size2-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_Size2-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_Size2-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}@font-face{font-family:'KaTeX_Size3';src:url(/katex-fonts/KaTeX_Size3-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_Size3-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_Size3-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}@font-face{font-family:'KaTeX_Size4';src:url(/katex-fonts/KaTeX_Size4-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_Size4-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_Size4-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}@font-face{font-family:'KaTeX_Typewriter';src:url(/katex-fonts/KaTeX_Typewriter-Regular.woff2) format('woff2'),url(/katex-fonts/KaTeX_Typewriter-Regular.woff) format('woff'),url(/katex-fonts/KaTeX_Typewriter-Regular.ttf) format('truetype');font-weight:normal;font-style:normal;}.css-1dtpypy .katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto;}.css-1dtpypy .katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor;}.css-1dtpypy .katex .katex-version::after{content:'0.13.13';}.css-1dtpypy .katex .katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden;}.css-1dtpypy .katex .katex-html>.newline{display:block;}.css-1dtpypy .katex .base{position:relative;display:inline-block;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:-webkit-min-content;width:-moz-min-content;width:min-content;}.css-1dtpypy .katex .strut{display:inline-block;}.css-1dtpypy .katex .textbf{font-weight:bold;}.css-1dtpypy .katex .textit{font-style:italic;}.css-1dtpypy .katex .textrm{font-family:KaTeX_Main;}.css-1dtpypy .katex .textsf{font-family:KaTeX_SansSerif;}.css-1dtpypy .katex .texttt{font-family:KaTeX_Typewriter;}.css-1dtpypy .katex .mathnormal{font-family:KaTeX_Math;font-style:italic;}.css-1dtpypy .katex .mathit{font-family:KaTeX_Main;font-style:italic;}.css-1dtpypy .katex .mathrm{font-style:normal;}.css-1dtpypy .katex .mathbf{font-family:KaTeX_Main;font-weight:bold;}.css-1dtpypy .katex .boldsymbol{font-family:KaTeX_Math;font-weight:bold;font-style:italic;}.css-1dtpypy .katex .amsrm{font-family:KaTeX_AMS;}.css-1dtpypy .katex .mathbb,.css-1dtpypy .katex .textbb{font-family:KaTeX_AMS;}.css-1dtpypy .katex .mathcal{font-family:KaTeX_Caligraphic;}.css-1dtpypy .katex .mathfrak,.css-1dtpypy .katex .textfrak{font-family:KaTeX_Fraktur;}.css-1dtpypy .katex .mathtt{font-family:KaTeX_Typewriter;}.css-1dtpypy .katex .mathscr,.css-1dtpypy .katex .textscr{font-family:KaTeX_Script;}.css-1dtpypy .katex .mathsf,.css-1dtpypy .katex .textsf{font-family:KaTeX_SansSerif;}.css-1dtpypy .katex .mathboldsf,.css-1dtpypy .katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:bold;}.css-1dtpypy .katex .mathitsf,.css-1dtpypy .katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic;}.css-1dtpypy .katex .mainrm{font-family:KaTeX_Main;font-style:normal;}.css-1dtpypy .katex .vlist-t{display:inline-table;table-layout:fixed;border-collapse:collapse;}.css-1dtpypy .katex .vlist-r{display:table-row;}.css-1dtpypy .katex .vlist{display:table-cell;vertical-align:bottom;position:relative;}.css-1dtpypy .katex .vlist>span{display:block;height:0;position:relative;}.css-1dtpypy .katex .vlist>span>span{display:inline-block;}.css-1dtpypy .katex .vlist>span>.pstrut{overflow:hidden;width:0;}.css-1dtpypy .katex .vlist-t2{margin-right:-2px;}.css-1dtpypy .katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px;}.css-1dtpypy .katex .vbox{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;}.css-1dtpypy .katex .hbox{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;width:100%;}.css-1dtpypy .katex .thinbox{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;width:0;max-width:0;}.css-1dtpypy .katex .msupsub{text-align:left;}.css-1dtpypy .katex .mfrac>span>span{text-align:center;}.css-1dtpypy .katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid;}.css-1dtpypy .katex .mfrac .frac-line,.css-1dtpypy .katex .overline .overline-line,.css-1dtpypy .katex .underline .underline-line,.css-1dtpypy .katex .hline,.css-1dtpypy .katex .hdashline,.css-1dtpypy .katex .rule{min-height:1px;}.css-1dtpypy .katex .mspace{display:inline-block;}.css-1dtpypy .katex .llap,.css-1dtpypy .katex .rlap,.css-1dtpypy .katex .clap{width:0;position:relative;}.css-1dtpypy .katex .llap>.inner,.css-1dtpypy .katex .rlap>.inner,.css-1dtpypy .katex .clap>.inner{position:absolute;}.css-1dtpypy .katex .llap>.fix,.css-1dtpypy .katex .rlap>.fix,.css-1dtpypy .katex .clap>.fix{display:inline-block;}.css-1dtpypy .katex .llap>.inner{right:0;}.css-1dtpypy .katex .rlap>.inner,.css-1dtpypy .katex .clap>.inner{left:0;}.css-1dtpypy .katex .clap>.inner>span{margin-left:-50%;margin-right:50%;}.css-1dtpypy .katex .rule{display:inline-block;border:solid 0;position:relative;}.css-1dtpypy .katex .overline .overline-line,.css-1dtpypy .katex .underline .underline-line,.css-1dtpypy .katex .hline{display:inline-block;width:100%;border-bottom-style:solid;}.css-1dtpypy .katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed;}.css-1dtpypy .katex .sqrt>.root{margin-left:0.27777778em;margin-right:-0.55555556em;}.css-1dtpypy .katex .sizing.reset-size1.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size1{font-size:1em;}.css-1dtpypy .katex .sizing.reset-size1.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size2{font-size:1.2em;}.css-1dtpypy .katex .sizing.reset-size1.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size3{font-size:1.4em;}.css-1dtpypy .katex .sizing.reset-size1.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size4{font-size:1.6em;}.css-1dtpypy .katex .sizing.reset-size1.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size5{font-size:1.8em;}.css-1dtpypy .katex .sizing.reset-size1.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size6{font-size:2em;}.css-1dtpypy .katex .sizing.reset-size1.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size7{font-size:2.4em;}.css-1dtpypy .katex .sizing.reset-size1.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size8{font-size:2.88em;}.css-1dtpypy .katex .sizing.reset-size1.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size9{font-size:3.456em;}.css-1dtpypy .katex .sizing.reset-size1.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size10{font-size:4.148em;}.css-1dtpypy .katex .sizing.reset-size1.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size1.size11{font-size:4.976em;}.css-1dtpypy .katex .sizing.reset-size2.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size1{font-size:0.83333333em;}.css-1dtpypy .katex .sizing.reset-size2.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size2{font-size:1em;}.css-1dtpypy .katex .sizing.reset-size2.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size3{font-size:1.16666667em;}.css-1dtpypy .katex .sizing.reset-size2.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size4{font-size:1.33333333em;}.css-1dtpypy .katex .sizing.reset-size2.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size5{font-size:1.5em;}.css-1dtpypy .katex .sizing.reset-size2.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size6{font-size:1.66666667em;}.css-1dtpypy .katex .sizing.reset-size2.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size7{font-size:2em;}.css-1dtpypy .katex .sizing.reset-size2.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size8{font-size:2.4em;}.css-1dtpypy .katex .sizing.reset-size2.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size9{font-size:2.88em;}.css-1dtpypy .katex .sizing.reset-size2.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size10{font-size:3.45666667em;}.css-1dtpypy .katex .sizing.reset-size2.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size2.size11{font-size:4.14666667em;}.css-1dtpypy .katex .sizing.reset-size3.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size1{font-size:0.71428571em;}.css-1dtpypy .katex .sizing.reset-size3.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size2{font-size:0.85714286em;}.css-1dtpypy .katex .sizing.reset-size3.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size3{font-size:1em;}.css-1dtpypy .katex .sizing.reset-size3.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size4{font-size:1.14285714em;}.css-1dtpypy .katex .sizing.reset-size3.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size5{font-size:1.28571429em;}.css-1dtpypy .katex .sizing.reset-size3.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size6{font-size:1.42857143em;}.css-1dtpypy .katex .sizing.reset-size3.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size7{font-size:1.71428571em;}.css-1dtpypy .katex .sizing.reset-size3.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size8{font-size:2.05714286em;}.css-1dtpypy .katex .sizing.reset-size3.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size9{font-size:2.46857143em;}.css-1dtpypy .katex .sizing.reset-size3.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size10{font-size:2.96285714em;}.css-1dtpypy .katex .sizing.reset-size3.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size3.size11{font-size:3.55428571em;}.css-1dtpypy .katex .sizing.reset-size4.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size1{font-size:0.625em;}.css-1dtpypy .katex .sizing.reset-size4.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size2{font-size:0.75em;}.css-1dtpypy .katex .sizing.reset-size4.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size3{font-size:0.875em;}.css-1dtpypy .katex .sizing.reset-size4.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size4{font-size:1em;}.css-1dtpypy .katex .sizing.reset-size4.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size5{font-size:1.125em;}.css-1dtpypy .katex .sizing.reset-size4.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size6{font-size:1.25em;}.css-1dtpypy .katex .sizing.reset-size4.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size7{font-size:1.5em;}.css-1dtpypy .katex .sizing.reset-size4.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size8{font-size:1.8em;}.css-1dtpypy .katex .sizing.reset-size4.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size9{font-size:2.16em;}.css-1dtpypy .katex .sizing.reset-size4.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size10{font-size:2.5925em;}.css-1dtpypy .katex .sizing.reset-size4.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size4.size11{font-size:3.11em;}.css-1dtpypy .katex .sizing.reset-size5.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size1{font-size:0.55555556em;}.css-1dtpypy .katex .sizing.reset-size5.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size2{font-size:0.66666667em;}.css-1dtpypy .katex .sizing.reset-size5.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size3{font-size:0.77777778em;}.css-1dtpypy .katex .sizing.reset-size5.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size4{font-size:0.88888889em;}.css-1dtpypy .katex .sizing.reset-size5.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size5{font-size:1em;}.css-1dtpypy .katex .sizing.reset-size5.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size6{font-size:1.11111111em;}.css-1dtpypy .katex .sizing.reset-size5.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size7{font-size:1.33333333em;}.css-1dtpypy .katex .sizing.reset-size5.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size8{font-size:1.6em;}.css-1dtpypy .katex .sizing.reset-size5.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size9{font-size:1.92em;}.css-1dtpypy .katex .sizing.reset-size5.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size10{font-size:2.30444444em;}.css-1dtpypy .katex .sizing.reset-size5.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size5.size11{font-size:2.76444444em;}.css-1dtpypy .katex .sizing.reset-size6.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size1{font-size:0.5em;}.css-1dtpypy .katex .sizing.reset-size6.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size2{font-size:0.6em;}.css-1dtpypy .katex .sizing.reset-size6.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size3{font-size:0.7em;}.css-1dtpypy .katex .sizing.reset-size6.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size4{font-size:0.8em;}.css-1dtpypy .katex .sizing.reset-size6.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size5{font-size:0.9em;}.css-1dtpypy .katex .sizing.reset-size6.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size6{font-size:1em;}.css-1dtpypy .katex .sizing.reset-size6.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size7{font-size:1.2em;}.css-1dtpypy .katex .sizing.reset-size6.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size8{font-size:1.44em;}.css-1dtpypy .katex .sizing.reset-size6.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size9{font-size:1.728em;}.css-1dtpypy .katex .sizing.reset-size6.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size10{font-size:2.074em;}.css-1dtpypy .katex .sizing.reset-size6.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size6.size11{font-size:2.488em;}.css-1dtpypy .katex .sizing.reset-size7.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size1{font-size:0.41666667em;}.css-1dtpypy .katex .sizing.reset-size7.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size2{font-size:0.5em;}.css-1dtpypy .katex .sizing.reset-size7.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size3{font-size:0.58333333em;}.css-1dtpypy .katex .sizing.reset-size7.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size4{font-size:0.66666667em;}.css-1dtpypy .katex .sizing.reset-size7.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size5{font-size:0.75em;}.css-1dtpypy .katex .sizing.reset-size7.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size6{font-size:0.83333333em;}.css-1dtpypy .katex .sizing.reset-size7.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size7{font-size:1em;}.css-1dtpypy .katex .sizing.reset-size7.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size8{font-size:1.2em;}.css-1dtpypy .katex .sizing.reset-size7.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size9{font-size:1.44em;}.css-1dtpypy .katex .sizing.reset-size7.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size10{font-size:1.72833333em;}.css-1dtpypy .katex .sizing.reset-size7.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size7.size11{font-size:2.07333333em;}.css-1dtpypy .katex .sizing.reset-size8.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size1{font-size:0.34722222em;}.css-1dtpypy .katex .sizing.reset-size8.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size2{font-size:0.41666667em;}.css-1dtpypy .katex .sizing.reset-size8.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size3{font-size:0.48611111em;}.css-1dtpypy .katex .sizing.reset-size8.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size4{font-size:0.55555556em;}.css-1dtpypy .katex .sizing.reset-size8.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size5{font-size:0.625em;}.css-1dtpypy .katex .sizing.reset-size8.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size6{font-size:0.69444444em;}.css-1dtpypy .katex .sizing.reset-size8.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size7{font-size:0.83333333em;}.css-1dtpypy .katex .sizing.reset-size8.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size8{font-size:1em;}.css-1dtpypy .katex .sizing.reset-size8.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size9{font-size:1.2em;}.css-1dtpypy .katex .sizing.reset-size8.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size10{font-size:1.44027778em;}.css-1dtpypy .katex .sizing.reset-size8.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size8.size11{font-size:1.72777778em;}.css-1dtpypy .katex .sizing.reset-size9.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size1{font-size:0.28935185em;}.css-1dtpypy .katex .sizing.reset-size9.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size2{font-size:0.34722222em;}.css-1dtpypy .katex .sizing.reset-size9.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size3{font-size:0.40509259em;}.css-1dtpypy .katex .sizing.reset-size9.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size4{font-size:0.46296296em;}.css-1dtpypy .katex .sizing.reset-size9.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size5{font-size:0.52083333em;}.css-1dtpypy .katex .sizing.reset-size9.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size6{font-size:0.5787037em;}.css-1dtpypy .katex .sizing.reset-size9.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size7{font-size:0.69444444em;}.css-1dtpypy .katex .sizing.reset-size9.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size8{font-size:0.83333333em;}.css-1dtpypy .katex .sizing.reset-size9.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size9{font-size:1em;}.css-1dtpypy .katex .sizing.reset-size9.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size10{font-size:1.20023148em;}.css-1dtpypy .katex .sizing.reset-size9.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size9.size11{font-size:1.43981481em;}.css-1dtpypy .katex .sizing.reset-size10.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size1{font-size:0.24108004em;}.css-1dtpypy .katex .sizing.reset-size10.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size2{font-size:0.28929605em;}.css-1dtpypy .katex .sizing.reset-size10.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size3{font-size:0.33751205em;}.css-1dtpypy .katex .sizing.reset-size10.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size4{font-size:0.38572806em;}.css-1dtpypy .katex .sizing.reset-size10.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size5{font-size:0.43394407em;}.css-1dtpypy .katex .sizing.reset-size10.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size6{font-size:0.48216008em;}.css-1dtpypy .katex .sizing.reset-size10.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size7{font-size:0.57859209em;}.css-1dtpypy .katex .sizing.reset-size10.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size8{font-size:0.69431051em;}.css-1dtpypy .katex .sizing.reset-size10.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size9{font-size:0.83317261em;}.css-1dtpypy .katex .sizing.reset-size10.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size10{font-size:1em;}.css-1dtpypy .katex .sizing.reset-size10.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size10.size11{font-size:1.19961427em;}.css-1dtpypy .katex .sizing.reset-size11.size1,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size1{font-size:0.20096463em;}.css-1dtpypy .katex .sizing.reset-size11.size2,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size2{font-size:0.24115756em;}.css-1dtpypy .katex .sizing.reset-size11.size3,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size3{font-size:0.28135048em;}.css-1dtpypy .katex .sizing.reset-size11.size4,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size4{font-size:0.32154341em;}.css-1dtpypy .katex .sizing.reset-size11.size5,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size5{font-size:0.36173633em;}.css-1dtpypy .katex .sizing.reset-size11.size6,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size6{font-size:0.40192926em;}.css-1dtpypy .katex .sizing.reset-size11.size7,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size7{font-size:0.48231511em;}.css-1dtpypy .katex .sizing.reset-size11.size8,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size8{font-size:0.57877814em;}.css-1dtpypy .katex .sizing.reset-size11.size9,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size9{font-size:0.69453376em;}.css-1dtpypy .katex .sizing.reset-size11.size10,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size10{font-size:0.83360129em;}.css-1dtpypy .katex .sizing.reset-size11.size11,.css-1dtpypy .katex .fontsize-ensurer.reset-size11.size11{font-size:1em;}.css-1dtpypy .katex .delimsizing.size1{font-family:KaTeX_Size1;}.css-1dtpypy .katex .delimsizing.size2{font-family:KaTeX_Size2;}.css-1dtpypy .katex .delimsizing.size3{font-family:KaTeX_Size3;}.css-1dtpypy .katex .delimsizing.size4{font-family:KaTeX_Size4;}.css-1dtpypy .katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1;}.css-1dtpypy .katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4;}.css-1dtpypy .katex .nulldelimiter{display:inline-block;width:0.12em;}.css-1dtpypy .katex .delimcenter{position:relative;}.css-1dtpypy .katex .op-symbol{position:relative;}.css-1dtpypy .katex .op-symbol.small-op{font-family:KaTeX_Size1;}.css-1dtpypy .katex .op-symbol.large-op{font-family:KaTeX_Size2;}.css-1dtpypy .katex .op-limits>.vlist-t{text-align:center;}.css-1dtpypy .katex .accent>.vlist-t{text-align:center;}.css-1dtpypy .katex .accent .accent-body{position:relative;}.css-1dtpypy .katex .accent .accent-body:not(.accent-full){width:0;}.css-1dtpypy .katex .overlay{display:block;}.css-1dtpypy .katex .mtable .vertical-separator{display:inline-block;min-width:1px;}.css-1dtpypy .katex .mtable .arraycolsep{display:inline-block;}.css-1dtpypy .katex .mtable .col-align-c>.vlist-t{text-align:center;}.css-1dtpypy .katex .mtable .col-align-l>.vlist-t{text-align:left;}.css-1dtpypy .katex .mtable .col-align-r>.vlist-t{text-align:right;}.css-1dtpypy .katex .svg-align{text-align:left;}.css-1dtpypy .katex svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;}.css-1dtpypy .katex svg path{stroke:none;}.css-1dtpypy .katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none;}.css-1dtpypy .katex .stretchy{width:100%;display:block;position:relative;overflow:hidden;}.css-1dtpypy .katex .stretchy::before,.css-1dtpypy .katex .stretchy::after{content:'';}.css-1dtpypy .katex .hide-tail{width:100%;position:relative;overflow:hidden;}.css-1dtpypy .katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden;}.css-1dtpypy .katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden;}.css-1dtpypy .katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden;}.css-1dtpypy .katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden;}.css-1dtpypy .katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden;}.css-1dtpypy .katex .x-arrow-pad{padding:0 0.5em;}.css-1dtpypy .katex .cd-arrow-pad{padding:0 0.55556em 0 0.27778em;}.css-1dtpypy .katex .x-arrow,.css-1dtpypy .katex .mover,.css-1dtpypy .katex .munder{text-align:center;}.css-1dtpypy .katex .boxpad{padding:0 0.3em 0 0.3em;}.css-1dtpypy .katex .fbox,.css-1dtpypy .katex .fcolorbox{box-sizing:border-box;border:0.04em solid;}.css-1dtpypy .katex .cancel-pad{padding:0 0.2em 0 0.2em;}.css-1dtpypy .katex .cancel-lap{margin-left:-0.2em;margin-right:-0.2em;}.css-1dtpypy .katex .sout{border-bottom-style:solid;border-bottom-width:0.08em;}.css-1dtpypy .katex .angl{box-sizing:border-box;border-top:0.049em solid;border-right:0.049em solid;margin-right:0.03889em;}.css-1dtpypy .katex .anglpad{padding:0 0.03889em 0 0.03889em;}.css-1dtpypy .katex .eqn-num::before{counter-increment:katexEqnNo;content:'(' counter(katexEqnNo) ')';}.css-1dtpypy .katex .mml-eqn-num::before{counter-increment:mmlEqnNo;content:'(' counter(mmlEqnNo) ')';}.css-1dtpypy .katex .mtr-glue{width:50%;}.css-1dtpypy .katex .cd-vert-arrow{display:inline-block;position:relative;}.css-1dtpypy .katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + 0.3em);text-align:left;}.css-1dtpypy .katex .cd-label-right{display:inline-block;position:absolute;left:calc(50% + 0.3em);text-align:right;}.css-1dtpypy .katex-display{display:block;margin:1em 0;text-align:center;}.css-1dtpypy .katex-display>.katex{display:block;white-space:nowrap;}.css-1dtpypy .katex-display>.katex>.katex-html{display:block;position:relative;}.css-1dtpypy .katex-display>.katex>.katex-html>.tag{position:absolute;right:0;}.css-1dtpypy .katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto;}.css-1dtpypy .katex-display.fleqn>.katex{text-align:left;padding-left:2em;}.css-1dtpypy body{counter-reset:katexEqnNo mmlEqnNo;}.css-1dtpypy table{width:-webkit-max-content;width:-moz-max-content;width:max-content;}.css-1dtpypy .tableBlock{max-width:100%;margin-bottom:1rem;overflow-y:scroll;}.css-1dtpypy .tableBlock thead,.css-1dtpypy .tableBlock thead th{border-bottom:1px solid #333!important;}.css-1dtpypy .tableBlock th,.css-1dtpypy .tableBlock td{padding:10px;text-align:left;}.css-1dtpypy .tableBlock th{font-weight:bold!important;}.css-1dtpypy .tableBlock caption{caption-side:bottom;color:#555;font-size:12px;font-style:italic;text-align:center;}.css-1dtpypy .tableBlock caption>p{margin:0;}.css-1dtpypy .tableBlock th>p,.css-1dtpypy .tableBlock td>p{margin:0;}.css-1dtpypy .tableBlock [data-background-color='aliceblue']{background-color:#f0f8ff;color:#000;}.css-1dtpypy .tableBlock [data-background-color='black']{background-color:#000;color:#fff;}.css-1dtpypy .tableBlock [data-background-color='chocolate']{background-color:#d2691e;color:#fff;}.css-1dtpypy .tableBlock [data-background-color='cornflowerblue']{background-color:#6495ed;color:#fff;}.css-1dtpypy .tableBlock [data-background-color='crimson']{background-color:#dc143c;color:#fff;}.css-1dtpypy .tableBlock [data-background-color='darkblue']{background-color:#00008b;color:#fff;}.css-1dtpypy .tableBlock [data-background-color='darkseagreen']{background-color:#8fbc8f;color:#000;}.css-1dtpypy .tableBlock [data-background-color='deepskyblue']{background-color:#00bfff;color:#000;}.css-1dtpypy .tableBlock [data-background-color='gainsboro']{background-color:#dcdcdc;color:#000;}.css-1dtpypy .tableBlock [data-background-color='grey']{background-color:#808080;color:#fff;}.css-1dtpypy .tableBlock [data-background-color='lemonchiffon']{background-color:#fffacd;color:#000;}.css-1dtpypy .tableBlock [data-background-color='lightpink']{background-color:#ffb6c1;color:#000;}.css-1dtpypy .tableBlock [data-background-color='lightsalmon']{background-color:#ffa07a;color:#000;}.css-1dtpypy .tableBlock [data-background-color='lightskyblue']{background-color:#87cefa;color:#000;}.css-1dtpypy .tableBlock [data-background-color='mediumblue']{background-color:#0000cd;color:#fff;}.css-1dtpypy .tableBlock [data-background-color='omnigrey']{background-color:#f0f0f0;color:#000;}.css-1dtpypy .tableBlock [data-background-color='white']{background-color:#fff;color:#000;}.css-1dtpypy .tableBlock [data-text-align='center']{text-align:center;}.css-1dtpypy .tableBlock [data-text-align='left']{text-align:left;}.css-1dtpypy .tableBlock [data-text-align='right']{text-align:right;}.css-1dtpypy .tableBlock [data-vertical-align='bottom']{vertical-align:bottom;}.css-1dtpypy .tableBlock [data-vertical-align='middle']{vertical-align:middle;}.css-1dtpypy .tableBlock [data-vertical-align='top']{vertical-align:top;}.css-1dtpypy .tableBlock__font-size--xxsmall{font-size:10px;}.css-1dtpypy .tableBlock__font-size--xsmall{font-size:12px;}.css-1dtpypy .tableBlock__font-size--small{font-size:14px;}.css-1dtpypy .tableBlock__font-size--large{font-size:18px;}.css-1dtpypy .tableBlock__border--some tbody tr:not(:last-child){border-bottom:1px solid #e2e5e7;}.css-1dtpypy .tableBlock__border--bordered td,.css-1dtpypy .tableBlock__border--bordered th{border:1px solid #e2e5e7;}.css-1dtpypy .tableBlock__border--borderless tbody+tbody,.css-1dtpypy .tableBlock__border--borderless td,.css-1dtpypy .tableBlock__border--borderless th,.css-1dtpypy .tableBlock__border--borderless tr,.css-1dtpypy .tableBlock__border--borderless thead,.css-1dtpypy .tableBlock__border--borderless thead th{border:0!important;}.css-1dtpypy .tableBlock:not(.tableBlock__table-striped) tbody tr{background-color:unset!important;}.css-1dtpypy .tableBlock__table-striped tbody tr:nth-of-type(odd){background-color:#f9fafc!important;}.css-1dtpypy .tableBlock__table-compactl th,.css-1dtpypy .tableBlock__table-compact td{padding:3px!important;}.css-1dtpypy .tableBlock__full-size{width:100%;}.css-1dtpypy .textBlock{margin-bottom:16px;}.css-1dtpypy .textBlock__text-formatting--finePrint{font-size:12px;}.css-1dtpypy .textBlock__text-infoBox{padding:0.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:0.25rem;}.css-1dtpypy .textBlock__text-infoBox p{margin:0;}.css-1dtpypy .textBlock__text-infoBox--primary{background-color:#cce5ff;border-color:#b8daff;color:#004085;}.css-1dtpypy .textBlock__text-infoBox--secondary{background-color:#e2e3e5;border-color:#d6d8db;color:#383d41;}.css-1dtpypy .textBlock__text-infoBox--success{background-color:#d4edda;border-color:#c3e6cb;color:#155724;}.css-1dtpypy .textBlock__text-infoBox--danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24;}.css-1dtpypy .textBlock__text-infoBox--warning{background-color:#fff3cd;border-color:#ffeeba;color:#856404;}.css-1dtpypy .textBlock__text-infoBox--info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460;}.css-1dtpypy .textBlock__text-infoBox--dark{background-color:#d6d8d9;border-color:#c6c8ca;color:#1b1e21;}.css-1dtpypy .text-overline{-webkit-text-decoration:overline;text-decoration:overline;}.css-1dtpypy.css-1dtpypy{color:#2B3148;background-color:transparent;font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:20px;line-height:24px;overflow:visible;padding-top:0px;position:relative;}.css-1dtpypy.css-1dtpypy:after{content:'';-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);transform:scale(0);position:absolute;border:2px solid #EA9430;border-radius:2px;inset:-8px;z-index:1;}.css-1dtpypy .js-external-link-button.link-like,.css-1dtpypy .js-external-link-anchor{color:inherit;border-radius:1px;-webkit-text-decoration:underline;text-decoration:underline;}.css-1dtpypy .js-external-link-button.link-like:hover,.css-1dtpypy .js-external-link-anchor:hover,.css-1dtpypy .js-external-link-button.link-like:active,.css-1dtpypy .js-external-link-anchor:active{text-decoration-thickness:2px;text-shadow:1px 0 0;}.css-1dtpypy .js-external-link-button.link-like:focus-visible,.css-1dtpypy .js-external-link-anchor:focus-visible{outline:transparent 2px dotted;box-shadow:0 0 0 2px #6314E6;}.css-1dtpypy p,.css-1dtpypy div{margin:0;display:block;}.css-1dtpypy pre{margin:0;display:block;}.css-1dtpypy pre code{display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}.css-1dtpypy pre:not(:first-child){padding-top:8px;}.css-1dtpypy ul,.css-1dtpypy ol{display:block margin:0;padding-left:20px;}.css-1dtpypy ul li,.css-1dtpypy ol li{padding-top:8px;}.css-1dtpypy ul ul,.css-1dtpypy ol ul,.css-1dtpypy ul ol,.css-1dtpypy ol ol{padding-top:0;}.css-1dtpypy ul:not(:first-child),.css-1dtpypy ol:not(:first-child){padding-top:4px;}French drain details

© Omni Calculator