@import 'https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Google+Sans+Code:ital,wght@0,200..900;1,200..900&display=swap';:root{--primary:#4361EE;--secondary:#21b9dc;--tertiary:#1bd666;--background-light:#FFF;--surface-light:#f2f4f6;--accent-light:#d9d9d9;--on-background-light:#0b3558;--on-surface-light:#163d5d;--background-dark:#212121;--surface-dark:#181818;--accent-dark:#333333;--on-background-dark:#CACACA;--on-surface-dark:#CACACA;--background:light-dark(#FFF, #212121);--surface:light-dark(#f2f4f6, #181818);--accent:light-dark(#d9d9d9, #333333);--on-background:light-dark(#0b3558, #FFF);--on-surface:light-dark(#163d5d, #CACACA);--success:#15c48d;--warn:#e69801;--error:#ff266a;--quality-vhigh-light:#0053d6;--quality-high-light:#0095d0;--quality-low-light:#ffa200;--quality-vlow-light:#e76310;--quality-vhigh-dark:#0053d6;--quality-high-dark:#65cbf3;--quality-low-dark:#ffdb13;--quality-vlow-dark:#ff7d45;--quality-vhigh:light-dark(#0053d6, #0053d6);--quality-high:light-dark(#0095d0, #65cbf3);--quality-low:light-dark(#ffa200, #ffdb13);--quality-vlow:light-dark(#e76310, #ff7d45);--nav-height:68px;--footer-height:549px;--section-min-height:calc(100vh - calc(var(--nav-height) + var(--footer-height)));--shadow:0px 0px 12px 0px rgba(0, 0, 0, .25);--shadow-hov:0px 0px 12px 0px rgba(0, 0, 0, .4);--primary-filter:brightness(0) saturate(100%) invert(30%) sepia(91%) saturate(2299%) hue-rotate(222deg) brightness(97%) contrast(93%);--mix-30:color-mix(in srgb, var(--primary) 30%, var(--background))}@keyframes fade-in{from{transform:scale(.95);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes blink-caret{from,to{border-color:transparent}50%{border-color:initial}}::selection{background:#4361eebb}*{box-sizing:border-box;margin:0;padding:0;color:var(--on-background)}html,body{font-size:18px;background-color:var(--background);font-family:sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue}body.nav-locked{overflow:hidden}body,p,label,li{font-weight:400;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:Lato,sans-serif}h1{font-size:52px;font-weight:600;line-height:1.4}h2{font-size:44px;font-weight:600;margin-top:.45em;margin-bottom:.15em}h3{font-size:28px;font-weight:600;margin-top:.45em;margin-bottom:.2em}h4{font-size:22px;font-weight:600}h5{font-size:18px;font-weight:600}a{text-decoration:none;color:inherit}ul,ol{list-style-position:inside;margin-left:.8em}p a,h5 a,li a{color:inherit;font-weight:inherit;box-shadow:inset 0 -1px #266bffbe;transition:box-shadow .4s}p a:hover,p a:active,h5 a:hover,h5 a:active,li a:hover,li a:active{box-shadow:inset 0 -3.25em #7054ffa6}hr{border-color:var(--accent);margin:1em 0}pre,code{font-family:"google+sans+code",consolas,monaco,andale mono,ubuntu mono,monospace}pre code{height:auto;max-height:700px;overflow-y:scroll;border-radius:4px;padding:1em}pre code:not(.hljs){display:block;border:1px solid var(--accent);background:var(--surface);text-indent:0;overflow-wrap:break-word;white-space:pre-wrap}p,li{code { width: auto; height: auto; padding: .2em .25em; background: var(--surface); border-radius: 4px; font-size: 85%; text-indent: 0; white-space: pre-wrap; border: 1px solid var(--accent); }}section,header{padding-top:55px;padding-bottom:55px;>.content { max-width: 1400px; margin: 0 auto; padding: 20px; }}header{background:var(--surface);background-image:radial-gradient(#7d7d7d9a 1px,transparent 0);background-size:40px 40px;background-position:50%;border-bottom:solid 1px var(--accent);>.content { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }}input,textarea,select{background:var(--background);color:var(--on-background);border:1px solid var(--accent);border-radius:10px;font-size:18px;padding:.8em;outline:none;transition:border-color .25s}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--accent) 65%,var(--primary))}input:focus,textarea:focus{border-color:var(--primary)}input:disabled,select:disabled,textarea:disabled{border-color:color-mix(in srgb,var(--accent) 70%,black);background-color:color-mix(in srgb,var(--background) 94%,black);cursor:not-allowed}input[type=file]{cursor:pointer}input:hover[type=submit],input:hover[type=submit]:hover{border:none}table{overflow:hidden;width:100%;border-collapse:collapse;line-height:20px;border-radius:3px;background-color:var(--background);color:var(--on-background);border:solid 1px var(--accent);tr { border-bottom: solid 1px var(--accent); transition: background-color .3s; } tbody tr:hover { background-color: color-mix(in srgb, var(--primary) 10%, transparent); } tr:last-of-type { border-bottom: none; } th { background-color: #80808010; border-bottom: solid 1px var(--accent); } th, td { padding: .6em; text-align: left; word-break: break-word; }}.navbar{position:sticky;top:0;z-index:100;width:100%;background-color:var(--background);border-bottom:1px solid var(--accent);transition:box-shadow .3s ease,border-color .3s ease,background-color .3s ease;.nav-container { max-width: 1400px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 32px); height: var(--nav-height); display: flex; align-items: center; justify-content: space-between; gap: clamp(16px, 3vw, 32px); } .nav-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 700; letter-spacing: -.4px; img { height: 2.4em; width: 2.4em; margin: 0; transition: transform .3s ease; } p { margin: 0; font-weight: 700; } &:hover img { transform: scale(1.1); } } .nav-menu { display: flex; align-items: center; gap: clamp(20px, 3vw, 36px); .nav-list, .nav-actions { display: flex; align-items: center; gap: clamp(14px, 2.5vw, 28px); list-style: none; } .nav-actions { gap: 14px; .btn { font-size: 0.8rem; padding: 12px 24px; } .nav-link { padding: 6px 2px; } } .nav-link { text-decoration: none; color: color-mix(in srgb, var(--on-background) 70%, transparent); font-size: 0.9rem; font-weight: 600; position: relative; transition: color .2s ease; padding: 6px 0; box-shadow: none; &::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 0; height: 2px; background: var(--primary); transition: width .3s ease; } &:hover, &.active { box-shadow: none; color: var(--on-background); } &:hover::after, &.active::after { width: 100%; } } } .hamburger { display: none; flex-direction: column; justify-content: space-between; width: 28px; height: 20px; background: transparent; border: none; cursor: pointer; padding: 0; z-index: 101; .hamburger-line { width: 100%; height: 3px; border-radius: 3px; background: var(--on-background); transition: transform .3s ease, opacity .3s ease; } &.active .hamburger-line:nth-child(1) { transform: translateY(9px) rotate(45deg); } &.active .hamburger-line:nth-child(2) { opacity: 0; } &.active .hamburger-line:nth-child(3) { transform: translateY(-9px) rotate(-45deg); } }}@media(max-width:900px){.navbar{.hamburger { display: flex; } .nav-menu { position: fixed; top: 0; right: -100%; height: 100vh; width: min(340px, 85vw); background: var(--background); flex-direction: column; align-items: stretch; justify-content: flex-start; padding: calc(var(--nav-height) + 24px) 28px 28px; gap: 24px; box-shadow: -8px 0 24px rgba(0, 0, 0, .12); transition: right .35s cubic-bezier(0.4, 0, 0.2, 1); &.active { right: 0; } .nav-list { flex-direction: column; align-items: stretch; gap: 0; } .nav-item { border-bottom: 1px solid var(--accent); } .nav-link { display: block; padding: 14px 0; font-size: 1rem; &::after { display: none; } } .nav-actions { flex-direction: column; align-items: stretch; .btn { width: 100%; text-align: center; } } }}}footer{background-color:var(--surface);color:var(--on-surface);padding:30px;h4 { font-weight: bold; } section .content { display: flex; flex-direction: row; justify-content: center; gap: 65px; .col { display: flex; flex-direction: column; gap: 10px; } div a { transition: .3s color; } a:hover, a:active { color: var(--primary); } } .logo { display: flex; flex-direction: row; justify-content: start; align-items: center; gap: 10px; img { width: 55px; height: 55px; } } .socials { margin-top: 10px; display: flex; flex-direction: row; gap: 10px; .icon { --size: 24px; --main: var(--on-background); } .icon:hover, .icon:active { --main: var(--primary); } } .foot { padding-top: 1em; text-align: center; }}dialog,.widget{padding:1.5rem;background-color:var(--background);border-radius:4px;box-shadow:var(--shadow);border:solid 1px var(--accent);h3 { padding: .1em 0px .4em 0px; } input, textarea, select { width: 100%; }}dialog{outline:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:1100px;min-height:400px;max-height:90vh;.close { --main: var(--primary); --main-alt: var(--success); --img: url('/assets/icons/check.svg'); --size: 2em; border-radius: 4px; position: absolute; top: 15px; right: 20px; padding: 8px; }}dialog::backdrop{background-color:#0009}body:has(dialog[open]){overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;outline:none;border:none;background:0 0;text-decoration:none;font-size:16px;font-weight:600;padding:1em 2em;border-radius:5px;transition:box-shadow .3s,background-color .3s,color .3s,transform .3s}.btn:active{transform:translateY(2px)}.btn:disabled,.btn.disabled{pointer-events:fill;cursor:not-allowed;color:var(--secondary);filter:grayscale(.1)brightness(.75);opacity:.9}.ag-cell-value{.btn--primary, .btn--secondary { line-height: 1; font-size: 11px; width: 100%; height: 100%; }}.btn--primary{color-scheme:dark;color:#fff;background:var(--primary);box-shadow:var(--shadow)}.btn--primary:hover,.btn--primary.active{color:var(--secondary);background:#001b50;box-shadow:var(--shadow-hov)}.btn--primary:disabled,.btn--primary.disabled{background:#001b50}.btn--secondary{--border-size:2px;border:var(--border-size)solid var(--primary);padding-top:calc(1em - var(--border-size));padding-bottom:calc(1em - var(--border-size));color:var(--primary);box-shadow:var(--shadow)}.btn--secondary:hover,.btn--secondary.active{color:#fff;background:var(--primary);box-shadow:var(--shadow-hov); *{ color: #FFF; } .icon { --main: #FFF !important; }}.btn--secondary:disabled,.btn--secondary.disabled{color:var(--primary);background:0 0;box-shadow:var(--shadow)}.btn--tertiary{color:var(--on-background);box-shadow:inset 0 -3px 0 0 var(--accent);border-radius:0;padding-left:1em;padding-right:1em}.btn--tertiary:hover,.btn--tertiary.active{color:var(--primary);box-shadow:inset 0 -3px 0 0 var(--primary)}.btn--tertiary:disabled,.btn--tertiary.disabled{color:var(--on-background)}.btn--tag{color:#fff;font-weight:400;border-radius:100px;padding:.6em 1em;font-size:12px;background:var(--primary);box-shadow:var(--shadow)}.btn--tag.clickable:hover,.btn--tag.clickable.active{background:color-mix(in srgb,var(--primary) 15%,#001B50)}.btn--icon{--main-alt:var(--secondary);--opacity:20%;position:relative;width:var(--size);height:var(--size);padding:0;border-radius:300px;border:solid 1px color-mix(in srgb,var(--main) var(--opacity),transparent);background:color-mix(in srgb,var(--main) var(--opacity),transparent);transition:background-color .3s}.btn--icon:hover{--main:var(--main-alt) !important}.btn--icon::after{content:" ";mask-size:contain;mask-position:center;mask-repeat:no-repeat;display:block;height:70%;width:70%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);mask-image:var(--img);background:var(--main);transition:background-color .3s}.btn--icon.check{--img:url('/assets/icons/check.svg');--main-alt:var(--success)}.btn--icon.trash{--img:url('/assets/icons/trash.svg');--main-alt:var(--error)}.btn--icon.download{--img:url('/assets/icons/download.svg')}.btn--icon.copy{--img:url('/assets/icons/clipboard.svg')}.btn--icon.info{--img:url('/assets/icons/info.svg')}.btn--icon.highlight{--img:url('/assets/icons/highlight.svg')}.btn--icon.pubchem{--img:url('/assets/icons/pubchem.svg')}.btn--icon.view{--img:url('/assets/icons/eye.svg')}.btn--icon.overview{--img:url('/assets/icons/overview.svg')}.status-icon{--size:1.5em;width:var(--size);height:var(--size);margin:auto 0;padding:calc(var(--size)/5);border-radius:2em;color:var(--main);background:color-mix(in srgb,var(--main) 20%,transparent)}.status-icon::after{content:" ";mask-size:contain;mask-position:center;mask-repeat:no-repeat;display:block;height:100%;width:100%;mask-image:var(--img);background:var(--main);transition:background-color .3s}.status-icon.success{--main:var(--success);--img:url('/assets/icons/check.svg')}.status-icon.progress{--main:var(--warn);--img:url('/assets/icons/progress.svg')}.status-icon.error{--main:var(--error);--img:url('/assets/icons/cross.svg')}.status-icon.trash{--main:var(--error);--img:url('/assets/icons/trash.svg')}.status-icon.blue{--main:var(--primary);--img:url('/assets/icons/check.svg')}.loading-spinner{height:24px;width:24px;background-image:url(/assets/icons/loading.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;filter:var(--primary-filter);animation:loading 2s infinite linear}@keyframes loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.icon{--size:2rem;width:var(--size);height:var(--size);margin:auto 0;color:var(--main)}.icon::after{content:" ";mask-size:contain;mask-position:center;mask-repeat:no-repeat;display:block;height:100%;width:100%;mask-image:var(--img);background:var(--main);transition:background-color .3s}.floating-toolbar{--size:34px;position:absolute;top:calc(var(--size)/6);right:calc(var(--size)/6);display:flex;flex-direction:row-reverse;align-items:center;gap:calc(var(--size)/6);.btn--icon { --main: var(--on-surface); }}.focus-text{display:flex;flex-direction:row;align-items:center;gap:.5em;padding:.5em;line-height:1.25;border-radius:5px;border:solid 1px var(--main);color:var(--on-background);background:color-mix(in srgb,var(--main) 25%,transparent);transition:.3s color,.3s background-color,.3s border-color,.3s opacity,.3s height}.focus-text::before{display:none;width:1.2em;aspect-ratio:1/1;flex-shrink:0;content:" ";mask-size:contain;mask-position:center;mask-repeat:no-repeat;background:var(--main);mask-image:var(--img)}.focus-text:is(.success,.warn,.error,.info,.loading)::before{display:inline-block}.focus-text.success{--main:var(--success);--img:url("/assets/icons/check.svg")}.focus-text.warn{--main:var(--warn);--img:url("/assets/icons/warn-triangle.svg")}.focus-text.error{--main:var(--error);--img:url("/assets/icons/cross.svg")}.focus-text.info{--main:var(--primary);--img:url("/assets/icons/info.svg")}.focus-text.loading{--main:var(--secondary);--img:url("/assets/icons/loading.svg")}.focus-text.loading::before{animation:loading 2s infinite linear}.info-box{--main:var(--primary);background:var(--surface);border-left:solid 5px var(--main);border-radius:0 6px 6px 0;margin:1em 0;padding:.5em;padding-left:1em}.menu-bar-horizontal{display:flex;position:relative;flex-direction:row;justify-content:center;background-color:var(--surface);border-top:solid 1px var(--accent);border-bottom:solid 1px var(--accent);overflow:hidden;user-select:none;>p { width: 18ch; padding: 10px; display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 8px; font-weight: 600; font-size: 18px; cursor: pointer; box-shadow: inset 0 -4px 0 0 var(--accent); transition: .2s box-shadow ease-in-out, .2s background-color ease-in-out; >.icon { height: 1.2em; width: 1.2em; --main: var(--on-background); } } p:hover { box-shadow: inset 0 -4px 0 0 var(--primary); background-color: color-mix(in srgb, var(--primary) 10%, #00000000); } p.active { box-shadow: inset 0 -4px 0 0 var(--primary); background-color: color-mix(in srgb, var(--primary) 20%, #00000000); } p:active { box-shadow: inset 0 -4px 0 0 var(--primary); background-color: color-mix(in srgb, var(--primary) 30%, #00000000); }}.search{position:relative;input, textarea { background: var(--surface); } input { width: 100%; padding-left: 60px; padding-right: 60px; } input[type=file] { display: none; } .btn--icon, .status-icon { --main: var(--primary); --main-alt: var(--success); --size: 2em; border-radius: 4px; position: absolute; top: 50%; transform: translateY(-50%); } .btn--icon.upload { --img: url('/assets/icons/upload.svg'); left: 10px; padding: 8px; } .btn--icon.search-submit { --img: url('/assets/icons/arrow-right.svg'); right: 10px; } .status-icon.search { --main: var(--primary); --img: url('/assets/icons/search.svg'); left: 10px; background: none; }}.card{width:400px;display:flex;flex-direction:column;overflow:hidden;border-radius:4px;background:var(--surface);text-decoration:none;box-shadow:var(--shadow);transform:scale(1);transition:box-shadow .3s ease,transform .3s ease;div.head { position: relative; width: 100%; height: auto; aspect-ratio: 5 / 3; background-size: cover; background-position: center; transition: transform .3s; } .body { display: flex; flex-direction: column; justify-content: start; color: #111; padding: 20px; flex-grow: 1; h3 { font-size: 22px; margin: 0px; } p { font-weight: 500; font-size: 17px; margin-top: .6em; margin-bottom: 1em; } }}.card:hover,.card:focus{transform:scale(1.04);box-shadow:var(--shadow-hov)}.card:hover div.head,.card:focus div.head{transform:scale(1.05)}.background-blur{position:absolute;border-radius:1e3px;filter:blur(80px);aspect-ratio:1.3/1;width:39vw;opacity:.6;animation:shimmer alternate infinite 20s;z-index:0}@keyframes shimmer{0%{transform:rotate(0)translate(0,0);filter:scale(1)}12%{transform:rotate(-22deg)translate(-3vw,2vw);filter:scale(1.18)}30%{transform:rotate(37deg)translate(5vw,-1vw);filter:scale(.92)}52%{transform:rotate(-68deg)translate(-4vw,5vw);filter:scale(1.27)}75%{transform:rotate(83deg)translate(2vw,-4vw);filter:scale(.88)}100%{transform:rotate(18deg)translate(-3vw,-2vw);filter:scale(1.15)}}.slider{overflow:hidden;.slide-track { width: 100%; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: center; margin-top: 2rem; animation: scroll 50s linear infinite; width: max-content; } .slide { margin: auto 25px; justify-self: center; flex: 0 0 auto; } img { max-width: 200px; width: auto; height: 40px; margin: auto; }}@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(calc(-100%/3))}}.typewrite{border-right:2px solid var(--primary);animation:blink-caret .75s step-end infinite}#cta{background:var(--surface);color:var(--on-surface);padding:50px;.content { padding: 70px 20px; border-radius: 16px; text-align: center; background-size: cover; background-attachment: fixed; background-position: center; border: 2px solid var(--primary); transition: border-color .3s; } .content:hover { border-color: var(--secondary); } h2 { font-size: 48px; line-height: 56px; } p { font-size: 22px; font-weight: 500; line-height: 1.3; a { color: inherit; padding: 1px 2px; box-shadow: inset 0 0 0 0 var(--accent); border-bottom: solid var(--accent) 1px; transition: box-shadow .2s, border-color .2s; } a:hover, a:active { box-shadow: inset 0 -2px 0 0 var(--accent); border-bottom: solid var(--accent) 1px; } } .btn { margin: auto; margin-top: 20px; font-size: 20px; line-height: 1; }}#cta-model-req>div{color-scheme:dark;padding:70px 20px;margin-bottom:50px;border-radius:16px;text-align:center;background:linear-gradient(0deg,#00000055,#000000c2,#00000055),url(/assets/backgrounds/dark_bio.webp);background-size:cover;background-attachment:fixed;background-position:50%;h2 { font-size: 44px; line-height: 56px; } p { font-size: 26px; font-weight: 500; line-height: 1.3; } .btn { margin: auto; margin-top: 12px; font-size: 17px; line-height: 1; }}.cf-turnstile{padding:4px}.ag-theme-alpine,.js-plotly-plot,.msa-preview{position:relative}.ag-theme-alpine:not(.element-ready)::before,.js-plotly-plot:not(.element-ready)::before,.msa-preview:not(.element-ready)::before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--surface) 82%,transparent);border:solid 1px var(--accent);border-radius:4px;z-index:1}.ag-theme-alpine:not(.element-ready)::after,.js-plotly-plot:not(.element-ready)::after,.msa-preview:not(.element-ready)::after{content:"";position:absolute;top:50%;left:50%;width:24px;height:24px;transform:translate(-50%,-50%);background:url(/assets/icons/loading.svg)50%/contain no-repeat;filter:var(--primary-filter);animation:loading 2s linear infinite;pointer-events:none;z-index:2}