@font-face{font-family:CMU Bright;font-style:roman;font-weight:500;src:url(/static/media/cmu-bright-500-roman.7616bacbf42366dd1d24.woff2) format("woff2"),url(/static/media/cmu-bright-500-roman.9aca8e27942b87daa93c.ttf) format("truetype")}@font-face{font-family:CMU Bright;font-style:italic;font-weight:500;src:url(/static/media/cmu-bright-500-italic.3ae5f371e2fb1c87ad6c.woff2) format("woff2"),url(/static/media/cmu-bright-500-italic.305d4526cf29cb6180ee.ttf) format("truetype")}@font-face{font-family:CMU Bright;font-style:roman;font-weight:600;src:url(/static/media/cmu-bright-600-roman.f8bf2e558fb184931124.woff2) format("woff2"),url(/static/media/cmu-bright-600-roman.37f6884553fcf440b3a9.ttf) format("truetype")}@font-face{font-family:CMU Bright;font-style:italic;font-weight:600;src:url(/static/media/cmu-bright-600-italic.ebbc0b4eb61c5d9ff2a7.woff2) format("woff2"),url(/static/media/cmu-bright-600-italic.92183ffd8286bfb583a4.ttf) format("truetype")}@font-face{font-family:CMU Bright;font-style:roman;font-weight:700;src:url(/static/media/cmu-bright-700-roman.0019e5f04f4627bed8dc.woff2) format("woff2"),url(/static/media/cmu-bright-700-roman.5ca5d00b344f1370bcdc.ttf) format("truetype")}@font-face{font-family:CMU Bright;font-style:italic;font-weight:700;src:url(/static/media/cmu-bright-700-italic.1fbe4c5c9d7447e04a0f.woff2) format("woff2"),url(/static/media/cmu-bright-700-italic.ccac90068330d2c8c517.ttf) format("truetype")}@font-face{font-family:"CMU Classical Serif";font-style:italic;font-weight:500;src:url(/static/media/cmu-classical-serif-500-italic.67dd32c26abff2cacfe0.woff2) format("woff2"),url(/static/media/cmu-classical-serif-500-italic.7f4eb671f914d4fa2737.ttf) format("truetype")}@font-face{font-family:CMU Concrete;font-style:roman;font-weight:500;src:url(/static/media/cmu-concrete-500-roman.4082cbf678f8b4098075.woff2) format("woff2"),url(/static/media/cmu-concrete-500-roman.9ba8fa16ce97bb04fbaa.ttf) format("truetype")}@font-face{font-family:CMU Concrete;font-style:italic;font-weight:500;src:url(/static/media/cmu-concrete-500-italic.29ef98e54021bf38d3ac.woff2) format("woff2"),url(/static/media/cmu-concrete-500-italic.1e4768fcb6c83870a287.ttf) format("truetype")}@font-face{font-family:CMU Concrete;font-style:roman;font-weight:700;src:url(/static/media/cmu-concrete-700-roman.e8ed20445d2714c0f89d.woff2) format("woff2"),url(/static/media/cmu-concrete-700-roman.f7b9715723f879bd9e05.ttf) format("truetype")}@font-face{font-family:CMU Concrete;font-style:italic;font-weight:700;src:url(/static/media/cmu-concrete-700-italic.d898bfbad30dfb1e5482.woff2) format("woff2"),url(/static/media/cmu-concrete-700-italic.c7563fc4a87e10ec9e5d.ttf) format("truetype")}@font-face{font-family:"CMU Sans Serif Demi Condensed";font-style:roman;font-weight:600;src:url(/static/media/cmu-sans-serif-demi-condensed-600-roman.60c1bf6ecd3bb4ee800c.woff2) format("woff2"),url(/static/media/cmu-sans-serif-demi-condensed-600-roman.ab2e29010bd0845d613d.ttf) format("truetype")}@font-face{font-family:"CMU Sans Serif";font-style:roman;font-weight:500;src:url(/static/media/cmu-sans-serif-500-roman.0dcbf6b77c4c8e4f25dc.woff2) format("woff2"),url(/static/media/cmu-sans-serif-500-roman.d35b238b47de55c47c71.ttf) format("truetype")}@font-face{font-family:"CMU Sans Serif";font-style:italic;font-weight:500;src:url(/static/media/cmu-sans-serif-500-italic.ef9f4d98dc2bfdfcef01.woff2) format("woff2"),url(/static/media/cmu-sans-serif-500-italic.d328a9c173ea365a165e.ttf) format("truetype")}@font-face{font-family:"CMU Sans Serif";font-style:roman;font-weight:700;src:url(/static/media/cmu-sans-serif-700-roman.02f114a392ec4b83415d.woff2) format("woff2"),url(/static/media/cmu-sans-serif-700-roman.246307fd7b8cdb4c867c.ttf) format("truetype")}@font-face{font-family:"CMU Sans Serif";font-style:italic;font-weight:700;src:url(/static/media/cmu-sans-serif-700-italic.9a51288cc465633fc6f3.woff2) format("woff2"),url(/static/media/cmu-sans-serif-700-italic.29a0eacfb3a06c25859f.ttf) format("truetype")}@font-face{font-family:"CMU Serif Extra";font-style:italic;font-weight:500;src:url(/static/media/cmu-serif-extra-500-italic.d9849bda882922393cb1.woff2) format("woff2"),url(/static/media/cmu-serif-extra-500-italic.a5e05ae3bac07deb3d55.ttf) format("truetype")}@font-face{font-family:"CMU Serif Extra";font-style:roman;font-weight:700;src:url(/static/media/cmu-serif-extra-700-roman.4ec6b1715eff2e7ef312.woff2) format("woff2"),url(/static/media/cmu-serif-extra-700-roman.a28ccb92267a1584832e.ttf) format("truetype")}@font-face{font-family:"CMU Serif Extra";font-style:italic;font-weight:700;src:url(/static/media/cmu-serif-extra-700-italic.46ceb4a6b92744bf3531.woff2) format("woff2"),url(/static/media/cmu-serif-extra-700-italic.651886be36eabe89fd60.ttf) format("truetype")}@font-face{font-family:"CMU Serif Upright Italic";font-style:roman;font-weight:500;src:url(/static/media/cmu-serif-upright-italic-500-roman.cafad49b482945cd32da.woff2) format("woff2"),url(/static/media/cmu-serif-upright-italic-500-roman.c9bf95f3e9e20c6c14f5.ttf) format("truetype")}@font-face{font-family:"CMU Serif";font-style:roman;font-weight:500;src:url(/static/media/cmu-serif-500-roman.87d0cf42c867c8f09b9a.woff2) format("woff2"),url(/static/media/cmu-serif-500-roman.bf7ccd25523b20a288b9.ttf) format("truetype")}@font-face{font-family:"CMU Serif";font-style:italic;font-weight:500;src:url(/static/media/cmu-serif-500-italic.8b5fa9b98755bfcf1282.woff2) format("woff2"),url(/static/media/cmu-serif-500-italic.49618ae7cdca569ab200.ttf) format("truetype")}@font-face{font-family:"CMU Serif";font-style:roman;font-weight:700;src:url(/static/media/cmu-serif-700-roman.cfeffe22f7b8d68454f8.woff2) format("woff2"),url(/static/media/cmu-serif-700-roman.45b78465c34fdb77cbdc.ttf) format("truetype")}@font-face{font-family:"CMU Serif";font-style:italic;font-weight:700;src:url(/static/media/cmu-serif-700-italic.a855a4a230d35608fa20.woff2) format("woff2"),url(/static/media/cmu-serif-700-italic.4f17c6e7a6273c334581.ttf) format("truetype")}@font-face{font-family:CMU Typewriter Text Variable Width;font-style:roman;font-weight:500;src:url(/static/media/cmu-typewriter-text-variable-width-500-roman.1c1e357c44ac28a58890.woff2) format("woff2"),url(/static/media/cmu-typewriter-text-variable-width-500-roman.f57ba9ce6c2d72c2e78b.ttf) format("truetype")}@font-face{font-family:CMU Typewriter Text Variable Width;font-style:italic;font-weight:500;src:url(/static/media/cmu-typewriter-text-variable-width-500-italic.38e493f01a7a13679b62.woff2) format("woff2"),url(/static/media/cmu-typewriter-text-variable-width-500-italic.13175a3ed7d173bd7302.ttf) format("truetype")}@font-face{font-family:CMU Typewriter Text;font-style:roman;font-weight:200;src:url(/static/media/cmu-typewriter-text-200-roman.56a047cc3e6085061624.woff2) format("woff2"),url(/static/media/cmu-typewriter-text-200-roman.684b52217df09a1b8416.ttf) format("truetype")}@font-face{font-family:CMU Typewriter Text;font-style:italic;font-weight:200;src:url(/static/media/cmu-typewriter-text-200-italic.7354b301de8621fb8a46.woff2) format("woff2"),url(/static/media/cmu-typewriter-text-200-italic.130dace433a92e623ae4.ttf) format("truetype")}@font-face{font-family:CMU Typewriter Text;font-style:roman;font-weight:500;src:url(/static/media/cmu-typewriter-text-500-roman.60c248ef0ccde815b304.woff2) format("woff2"),url(/static/media/cmu-typewriter-text-500-roman.0ac1cd9568d3e44e1555.ttf) format("truetype")}@font-face{font-family:CMU Typewriter Text;font-style:italic;font-weight:500;src:url(/static/media/cmu-typewriter-text-500-italic.ec11fae3faf6cb90127e.woff2) format("woff2"),url(/static/media/cmu-typewriter-text-500-italic.a716c14e1b8487d5da9b.ttf) format("truetype")}@font-face{font-family:CMU Typewriter Text;font-style:roman;font-weight:700;src:url(/static/media/cmu-typewriter-text-700-roman.49921c043127fe04b48b.woff2) format("woff2"),url(/static/media/cmu-typewriter-text-700-roman.877031250e37a88f2024.ttf) format("truetype")}@font-face{font-family:CMU Typewriter Text;font-style:italic;font-weight:700;src:url(/static/media/cmu-typewriter-text-700-italic.60cc1290701bcda28bb2.woff2) format("woff2"),url(/static/media/cmu-typewriter-text-700-italic.e03556433807ea3679a4.ttf) format("truetype")}*{box-sizing:border-box}:root{--color-primary:#262626;--color-secondary:#6c757d;--color-background:#f8f9fa;--color-success:#28a745;--color-info:#2563eb;--color-error:#dc3545;--color-hover:#989ea4;--color-active:#e9ecef;--color-disabled:#a8a8a8;--color-text:#212529;--color-step-one:#90ee90;--color-step-two:#add8e6;--color-step-three:#ffb6c1;--color-step-one-rgb:144,238,144;--color-step-two-rgb:173,216,230;--color-step-three-rgb:255,182,193}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{margin:0;padding:0}.App{height:100vh;text-align:center}h1{align-items:center;background-color:var(--color-primary);color:var(--color-background);display:flex;font-size:2.5rem;font-weight:700;height:10vh;justify-content:flex-start;line-height:0;padding-left:20px}h1:hover{color:var(--color-hover);cursor:pointer}.container{align-items:center;display:flex;flex-direction:row;height:90vh;justify-content:flex-start;width:100vw}.sidebar{height:100%;width:20vw}.content{height:100%;overflow:scroll;width:80vw}h2{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.logo{display:block;height:80%;margin:0 10px 0 0;width:auto}.introContainer{display:flex;flex-direction:column;height:100%;padding:30px}.introTextContainer{align-items:center;display:flex;flex-direction:column;justify-content:center;text-align:center;width:100%}.introTitle{color:var(--color-primary);font-size:2.25rem;font-weight:700;margin-bottom:1rem}.introDescription{color:var(--color-secondary);font-size:1.125rem;line-height:1.75rem;margin-bottom:1.5rem}.introSubtitle{color:var(--color-disabled);font-size:1rem;font-style:italic;font-weight:500;line-height:1.1rem;margin-bottom:1.5rem}.customGridLayout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(1,minmax(0,1fr));margin-left:auto;margin-right:auto;max-width:64rem}@media (min-width:768px){.customGridLayout{grid-template-columns:repeat(2,minmax(0,1fr))}}.customCard{background-color:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s ease-in-out}.customCard:hover{box-shadow:0 4px 12px #0000001a;color:var(--color-primary);cursor:pointer;scale:1.02}.customCardTitle{color:var(--color-primary);font-size:1.75rem;font-weight:600;margin-bottom:.5rem;transition:all .2s ease-in-out}.customCard:hover .customCardTitle{font-size:1.85rem;font-weight:700}.customCardDescription{color:var(--color-secondary)}.customCardLink{color:var(--color-info);display:inline-block;font-weight:500;margin-top:1rem}.customCard:hover .customCardLink{text-decoration:underline}.introFooter{color:var(--color-disabled);font-size:.875rem;line-height:1rem;margin-top:6rem;padding:5px;text-align:center}a{text-decoration:none}.rsapagecontainer{padding:20px}.rsaStep1Container{background-color:var(--color-step-one);border:1px solid var(--color-text);margin:20px;padding:10px}.step1UserInputContainer{align-items:center;display:flex;flex-direction:row;justify-content:center;margin:15px 0;width:100%}.rsaStep2Container{background-color:var(--color-step-two)}.rsaStep2Container,.rsaStep3Container{border:1px solid var(--color-text);margin:20px;padding:10px}.rsaStep3Container{background-color:var(--color-step-three)}.errorText{color:var(--color-error);font-weight:700;padding-bottom:10px}.modalContainer{height:75%;left:50%;overflow:scroll;position:absolute;top:50%;transform:translate(-50%,-50%);width:75%}.linkToModal{color:blue;font-weight:700;margin:0 4px;text-decoration:none}.linkToModal:hover{cursor:pointer;text-decoration:underline}.numberCell{align-items:center;background-color:var(--color-active);border-radius:100%;display:flex;height:2.5rem;justify-content:center;width:2.5rem}.numberCellSelected{border:2px solid var(--color-text)}.numberCell:hover{box-shadow:0 10px 15px #0000001a;cursor:pointer;transform:scale(1.2)}.variableTextBoxContainer{align-items:center;display:flex;flex-direction:row;justify-content:flex-start}.variableNameSpan{align-items:center;background-color:var(--color-disabled);border:1px solid var(--color-text);border-radius:5px 0 0 5px;border-right:none;display:flex;height:40px;justify-content:center;width:50px}.variableNameInput{border:1px solid var(--color-text);border-radius:0 5px 5px 0;font-size:16px;height:40px;margin:0;padding:5px}.testAnimationOuterContainer{align-items:center;display:flex;flex-direction:column;justify-content:center}.testAnimationInnerContainer{align-items:center;display:flex;flex-direction:row;padding:0 10%;width:100%}.testUserContainer{align-items:center;display:flex;flex-direction:column;justify-content:top}.bobKeyContainer{width:5%}.groupContainer{background-color:var(--color-step-one);border:1px solid var(--color-text);display:flex;flex-direction:column;height:100%;overflow:scroll;padding:20px;width:100%}.groupDefinition{margin:0;padding:0}.groupInputContainer{align-items:center}.groupInputContainer,.groupOutputContainer{display:flex;flex-direction:row;justify-content:center;padding:10px;width:100%}.groupOutputContainer{align-items:stretch;gap:5px}.groupPropertyContainer{border:1px solid var(--color-text);justify-content:flex-start;padding:10px;width:33%}.groupPropertyContainer,.selectedCellContainer{align-items:center;display:flex;flex-direction:column}.selectedCellContainer{justify-content:center;margin:10px 0;width:100%}.elementsOfGContainer{max-width:100%;overflow-x:scroll;padding-right:16px;scrollbar-width:thin;white-space:nowrap}h2{height:auto;padding:0 0 10px;width:auto}ul{list-style-type:none;margin:0;padding:10px}li{padding:0 0 0 10px}table{border-collapse:collapse;margin-left:auto;margin-right:auto;table-layout:auto;width:min-content}td,th{border:1px solid var(--color-text);padding:2px 4px;text-align:center;white-space:nowrap}.groupCell:hover{background-color:var(--color-step-two);cursor:pointer}select{border:1px solid var(--color-text);border-radius:5px;font-size:16px;height:40px;margin-left:10px;padding:5px}.etfcontainer{background-color:var(--color-step-two);border:1px solid var(--color-text);display:flex;flex-direction:column;height:100%;overflow:scroll;padding:20px;width:100%}.gcdCell{align-items:center;background-color:var(--color-disabled);border-radius:100%;display:flex;height:2.5rem;justify-content:center;width:2.5rem}.gcdSelectedCell{border:2px solid var(--color-text)}.gcdOneCell{background-color:var(--color-step-one)}.gcdCell:hover{box-shadow:0 10px 15px #0000001a;cursor:pointer;transform:scale(1.2)}.gcdValueContainer{margin-top:10px}.eulerstheoremcontainer{background-color:var(--color-step-three);border:1px solid var(--color-text);display:flex;flex-direction:column;height:100%;overflow:scroll;padding:20px;width:100%}.numberInGroup,.numberInGroupSelected{border-radius:25%;padding:3px}.numberInGroupSelected{background-color:var(--color-step-three);border:2px solid var(--color-text);color:var(--color-primary)}.numberInGroup:hover{box-shadow:0 10px 15px #0000001a;color:var(--color-primary);cursor:pointer;transform:scale(1.2)}.modulo-scroll{display:flex;gap:1rem;margin:1rem 0;overflow-x:scroll;padding:.5rem 0;white-space:nowrap;width:100%}.modulo-box{background-color:#f9f9f9;border:1px solid #ccc;border-radius:6px;flex-shrink:0;font-size:1.1rem;min-width:200px;padding:1rem;text-align:center}.ecpagecontainer{padding:20px}.ecStep1Container,.eccDhSectionContainer{background-color:var(--color-step-one)}.ecStep1Container,.ecStep2Container,.eccDhSectionContainer{border:1px solid var(--color-text);margin:20px;padding:10px}.ecStep2Container{background-color:var(--color-step-two)}.ecStep3Container{background-color:var(--color-step-three);border:1px solid var(--color-text);margin:20px;padding:10px}.horizontalLayout{align-items:center;display:flex;flex-direction:row;justify-content:flex-start}.verticalLayout{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:10px;width:33%}.warningText{color:var(--color-error);font-weight:700;margin:10px}.operationTitle{font-size:1.2rem;font-weight:700}.operationBody,.operationTitle{margin-bottom:10px}.computer-modern{font-family:"CMU Serif",serif}.eccDhInputContainer{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:10px;width:50%}.computer-modern{font-family:"CMU Serif",Computer Modern,serif;font-size:1.1rem;font-weight:700;letter-spacing:0;line-height:1.6}.computer-modern,.latex{background:none;color:#222;white-space:nowrap}.latex{font-family:"CMU Serif",serif;font-size:1.2rem;font-style:italic;font-weight:600}.sidebar{background-color:var(--color-secondary)}.linkContainer,.linkContainerActive{color:var(--color-background);display:flex;justify-content:center;padding:20px;text-decoration:none;transition:font-weight .2s ease-in-out;width:100%}.linkContainerActive{background-color:var(--color-hover);font-weight:700}.linkContainer:hover{background-color:var(--color-hover);font-weight:500}.sidebarIcon{margin:0 10px;width:20%}.sidebarText{align-items:center;display:flex;font-size:1rem;height:auto;justify-content:center;width:80%}