html,body{margin:0;padding:0;font-family:"Libre Franklin",Arial,sans-serif;font-size:1.1em}html.ReactModal__Body--open,body.ReactModal__Body--open{overflow:hidden}.repository--nav--links--search{font-size:0.9em}.repository--main-content--no-filter-results-text{display:block;margin:1em auto;color:#aaa;text-align:center}.copy-button{display:inline-block;margin:0.5em}

html,body{margin:0;padding:0;font-family:"Libre Franklin",Arial,sans-serif;font-size:1.1em}html.ReactModal__Body--open,body.ReactModal__Body--open{overflow:hidden}.layout--wrapper{min-height:100vh;display:flex;flex-direction:column}.layout--content{flex-grow:1}.layout--footer{flex-grow:0}.repository--item-list--collection:last-child{border-top:0}.repository--item-list--collection--item-wrapper{margin-left:-0.5em;margin-right:-0.5em}.repository--item-list--row{font-size:0.8em;font-family:"Noto Serif",serif;width:100%;position:relative;padding-bottom:10px;margin-bottom:20px}.repository--item-list--row .avatar,.repository--item-list--row>.repository--module-icon{float:left}.repository--item-list--row>a{text-decoration:none;color:black;font-weight:600}.repository--item-list--row>em{font-style:normal;font-weight:700}.repository--item-list--row::after{position:absolute;bottom:0;left:8%;margin:0 auto;border-bottom:1px solid #ccc;content:'';display:block;width:84%}.repository--item-list--row:last-child::after{display:none}.repository--item-list--collection--item--multi-wrapper{display:flex;flex-wrap:wrap;box-sizing:border-box;justify-content:flex-start;position:relative;padding-bottom:10px;margin-bottom:20px}.repository--item-list--collection--item--multi-wrapper::after{position:absolute;bottom:0;left:8%;margin:0 auto;border-bottom:1px solid #ccc;content:'';display:block;width:84%}.repository--item-list--collection--item--multi-wrapper:last-child::after{display:none}@media (min-width: 0.0625em) and (max-width: 26.5525em){.repository--item-list--collection--item--multi-wrapper{justify-content:space-around}}.repository--item-list--collection--item--multi-wrapper.fade{-webkit-animation:fade-out 1s;animation:fade-out 1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0.5}}@keyframes fade-out{from{opacity:1}to{opacity:0.5}}.repository--main-content{box-sizing:border-box;max-width:42em;margin:0 auto;padding-left:1.5em;padding-right:1.5em}.repository--main-content code{background-color:#eeeeee;padding:2px}.repository--main-content img{max-width:100%}.repository--main-content--title{font-family:"Libre Franklin",Arial,sans-serif;text-align:left;font-size:1.2em;display:flex;white-space:nowrap;margin-bottom:0.8em;width:100%;position:relative;justify-content:space-between}.repository--main-content--title>span{background:#fff;position:relative;padding-right:1em;padding-top:0.05em}@media (min-width: 0.0625em) and (max-width: 26.5525em){.repository--main-content--title{flex-direction:column;align-items:center}.repository--main-content--title>span{padding-right:0}}.repository--main-content--title::before{border-top:1px solid #ccc;content:'';display:table-cell;position:absolute;top:0.7em;left:0;right:7.5em}@media (min-width: 0.0625em) and (max-width: 26.5525em){.repository--main-content--title::before{display:none}}.repository--main-content--title.stretch-width::before{right:0}.repository--main-content--title .repository--main-content--sort{display:flex;align-items:center}@media (min-width: 0.0625em) and (max-width: 26.5525em){.repository--main-content--title .repository--main-content--sort{margin-top:0.8em}}.repository--main-content--title .repository--main-content--sort>span{margin-right:0.7em;font-size:0.7em}.repository--main-content--title .repository--main-content--sort select{font-family:"Libre Franklin",Arial,sans-serif;border-radius:.25em;background-color:#fff;padding:0.7em 3em 0.7em 0.5em;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg, transparent 50%, gray 50%),linear-gradient(135deg, gray 50%, transparent 50%);background-position:calc(100% - 1.5em) 1.1em,calc(100% - 1.1em) 1.1em,calc(100% - 2.5em) 0.5em;background-size:0.4em 0.4em, 0.4em 0.4em, 0.1em 1.5em;background-repeat:no-repeat;cursor:pointer;position:relative;align-self:center;font-size:0.5em}

footer{background:#fff;color:#888;padding-top:2em;font-size:0.7em;border-top:1px solid #f9f4f4;margin-top:2em;margin-bottom:2em}footer div{text-align:center;display:block;margin:0 auto;padding-left:1em;padding-right:1em;box-sizing:border-box}.ucf-open-footer{margin-bottom:2.5em}.ucf-open-logo{overflow:hidden;display:inline-block;text-indent:-40000px;width:13em;height:3.5em;background:url(/static/e504b054022f32377014.svg) center center no-repeat;margin-bottom:1.5em}.ucf-open-desc{margin-bottom:0.5em}.ucf-open-links>a{display:inline-block;padding:0.2em 0;color:#888}.ucf-open-links>a:hover{color:#484848}.ucf-open-links>a+a::before{content:'·';padding:0 0.75em;display:inline-block}.copyright>span{font-size:0.8em;display:block;margin-bottom:0.5em}.copyright>span a{color:gray}.copyright>span a:hover{color:#333333}

body #dedication{width:400px;height:auto;padding:2em;border:1px solid rgba(0,0,0,0.05);border-bottom:1px solid rgba(0,0,0,0.2);box-shadow:0 1px 1px rgba(0,0,0,0.1);text-align:center;font-size:9pt;border-radius:5px;display:none;align-items:center;flex-direction:column;justify-content:center;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:99999;background:white;cursor:pointer;gap:2em}body #dedication img{width:132px;height:64px}body.is-showing-dedication .layout--wrapper{opacity:0.2}body.is-showing-dedication #dedication{display:flex}

html,body{margin:0;padding:0;font-family:"Libre Franklin",Arial,sans-serif;font-size:1.1em}html.ReactModal__Body--open,body.ReactModal__Body--open{overflow:hidden}.repository--section-wrapper{max-width:42em;margin:0 auto}.repository--stick-to-top{position:sticky;top:0;background:#ffffff;min-width:100%;z-index:100;border-bottom:1px solid #ccc}.repository--nav{max-width:42em;padding-left:1.5em;padding-right:1.5em;box-sizing:border-box;min-height:3.75em;margin:0.25em auto;display:flex;flex-wrap:nowrap;justify-content:space-between;align-content:flex-start;align-items:center}.repository--nav>div{font-size:0.85em;margin-left:0.4em;margin-right:0.4em;text-align:center}@media (min-width: 0.0625em) and (max-width: 19.99em){.repository--nav>div{font-size:0.65em}}@media (min-width: 20em) and (max-width: 26.5525em){.repository--nav>div{font-size:0.7em}}@media (min-width: 26.5625em) and (max-width: 48.0525em){.repository--nav>div{font-size:0.75em}}.repository--nav a:link,.repository--nav a:visited{color:#0d4fa7}.repository--nav a:active,.repository--nav a:hover{color:#93c6ff}.repository--nav--logo{background-image:url(/static/84e4efdeff37ff98d7c2.svg);background-position:center left;background-repeat:no-repeat;background-size:contain;box-sizing:border-box;display:block;height:25px;overflow:hidden;text-indent:-1000px;width:6em;margin:0}.repository--nav--current-user--menu{display:none;position:absolute;left:-1em;top:3.7em;background:#ffffff;padding:20px;border-radius:3px;width:100%;text-align:left}.repository--nav--current-user--menu.is-open{display:block}.repository--nav .repository--nav--current-user{position:relative;height:3.75em;text-align:right;padding:0 3.75em 0 0;box-sizing:border-box;margin-right:0}.repository--nav .repository--nav--current-user:hover .repository--nav--current-user--menu{display:block}.repository--nav .repository--nav--current-user button{border:none;font-size:1em;background:#fff;font-family:"Libre Franklin",Arial,sans-serif;height:3.75em;margin:0}.repository--nav .repository--nav--current-user .avatar{position:absolute;right:0;top:50%;transform:translate(0, -50%);height:2.9em;width:2.9em;margin:0}.repository--nav--links--link:last-child{padding-right:20px}

html,body{margin:0;padding:0;font-family:"Libre Franklin",Arial,sans-serif;font-size:1.1em}html.ReactModal__Body--open,body.ReactModal__Body--open{overflow:hidden}.avatar{position:relative;height:90px;width:90px;margin:0.6em}.avatar--image{position:absolute;height:100%;width:100%;top:0;right:0}.avatar--image img{height:100%;border-radius:50%}.avatar--notice{cursor:default;position:absolute;bottom:0;right:0;background:red;border-radius:1em;color:white;padding:0.25em;min-width:1.2em;text-align:center;font-size:0.8em}

html,body{margin:0;padding:0;font-family:"Libre Franklin",Arial,sans-serif;font-size:1.1em}html.ReactModal__Body--open,body.ReactModal__Body--open{overflow:hidden}.repository--section-wrapper--full-width{margin-bottom:40px;position:relative;z-index:1;box-sizing:border-box}.repository--section-wrapper--full-width>section{max-width:42em;margin:0 auto}.repository--section-wrapper--full-width.default-bg .repository--section-wrapper--full-width-bg{content:' ';position:absolute;display:block;height:100%;width:100%;background-repeat:no-repeat;background-size:auto;background-attachment:fixed;background-position-x:right;background-position-y:top;top:0;z-index:-1;background-image:url(/static/0a4bc960c716140de8fe.png);filter:none;opacity:0.6}.repository--section-wrapper--grey{background-color:#e8e3eb;border-bottom:1px solid #ccc}.repository--title-banner{display:flex;position:relative;z-index:1;padding:1.5em;box-sizing:border-box;align-items:center;color:#555555;overflow:hidden}.repository--title-banner .repository--module-icon--image{margin-right:1em}.repository--title-banner .repository--module-icon--image svg{height:135px}.repository--title-banner--title{font-family:"Libre Franklin",Arial,sans-serif;color:#4e0f8f;font-weight:700;font-size:2.5em;white-space:pre-wrap;margin:0;padding:0;z-index:1;margin-left:-3px;word-break:break-word;position:relative}.default-bg .repository--title-banner--title::before{position:absolute;content:attr(data-title);z-index:-1;-webkit-text-stroke:10px #e8e3eb;text-shadow:-1px -1px 0 #e8e3eb,1px -1px 0 #e8e3eb,-1px 1px 0 #e8e3eb,1px 1px 0 #e8e3eb}

html,body{margin:0;padding:0;font-family:"Libre Franklin",Arial,sans-serif;font-size:1.1em}html.ReactModal__Body--open,body.ReactModal__Body--open{overflow:hidden}.repository--module-icon{position:relative;font-family:"Libre Franklin",Arial,sans-serif;width:90px;padding:.8em;border-radius:0.25em;background-color:none;font-size:0.75em;text-align:center;border:1px solid rgba(0,0,0,0);-webkit-animation:repository-module-slide-up 0.4s ease;animation:repository-module-slide-up 0.4s ease;cursor:pointer}.repository--module-icon>button{padding:0;font:inherit;background:none;border:none;cursor:pointer;width:100%;word-wrap:break-word}.repository--module-icon :focus{outline-offset:.8em}.repository--module-icon>a{text-decoration:none;color:black;font-weight:600}.repository--module-icon>a .repository--module-icon--menu-control-button{display:none}.repository--module-icon input{position:absolute;display:none;z-index:1;left:0.3em;top:0.3em}.repository--module-icon input.is-multi-select-mode{display:block}.repository--module-icon.is-open,.repository--module-icon.is-selected{background-color:#e8e3eb}.repository--module-icon.is-open input,.repository--module-icon.is-selected input{display:block}.repository--module-icon.is-new{background-color:#dbcdea}.repository--module-icon.is-new .repository--module-icon--title{font-weight:bold}.repository--module-icon:hover{border-color:#e8e3eb}.repository--module-icon:hover .repository--module-icon--image{transform:translate(0, -2px)}.repository--module-icon:hover .repository--module-icon--menu-control-button{display:block}.repository--module-icon .repository--module-icon--menu-control-button.is-visible{display:block}@-webkit-keyframes repository-module-slide-up{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}@keyframes repository-module-slide-up{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}

html,body{margin:0;padding:0;font-family:"Libre Franklin",Arial,sans-serif;font-size:1.1em}html.ReactModal__Body--open,body.ReactModal__Body--open{overflow:hidden}.repository--module-icon--image{filter:saturate(2);height:10em}

html,body{margin:0;padding:0;font-family:"Libre Franklin",Arial,sans-serif;font-size:1.1em}html.ReactModal__Body--open,body.ReactModal__Body--open{overflow:hidden}.repository--module-icon--menu-wrapper{position:relative;box-sizing:border-box;margin-left:-0.8em;width:100%}.repository--module-icon--menu-control-button{height:2.6em;width:2.6em;line-height:2.6em;position:absolute;border-radius:2.6em;background-color:#e8e3eb;border:3px solid white;top:6.8em;right:1.3em;color:white}.repository--module-icon--menu-control-button>svg{vertical-align:middle;height:50%;width:50%;stroke:#6714bd;fill:#6714bd}.repository--module-icon--menu-control-button:hover{background-color:#6714bd;transform:scale(1.2);transform-origin:center}.repository--module-icon--menu-control-button:hover>svg{stroke:white;fill:white}.repository--module-icon--menu{display:block;position:absolute;width:100%;top:0.8em;background-color:#e8e3eb;border-radius:0 0 0.25em 0.25em;padding:0.7em 0.8em;z-index:100;border:1px solid #e8e3eb;border-top:0;transform:translate(-1px)}.repository--module-icon--menu hr{margin:0 0 0.6em 0;border:0;border-top:1px solid #d0c5d6}.repository--module-icon--menu .repository--button{display:inline-block;margin-bottom:0.7em;width:100%;position:relative;font-size:1em}.repository--module-icon--menu .repository--button.more{margin-bottom:0;color:#6714bd;background-color:inherit;text-decoration:underline}.repository--module-icon--menu .repository--button.more:hover{background-color:rgba(255,255,255,0.5)}

html,body{margin:0;padding:0;font-family:"Libre Franklin",Arial,sans-serif;font-size:1.1em}html.ReactModal__Body--open,body.ReactModal__Body--open{overflow:hidden}.repository--button{border:0;background:#7e18e7;color:white;border-radius:0.25em;padding:0.8em 1.1em;box-sizing:border-box;cursor:pointer;text-decoration:none;font-size:0.7em}.repository--button:disabled{border:1px solid rgba(0,0,0,0);border-bottom:1px solid rgba(0,0,0,0);opacity:0.4;pointer-events:none}.repository--button:hover{background:#6714bd}.repository--button.close-button{min-width:1.6em;height:1.6em;line-height:1.6em;padding:0;border-radius:1.6em;color:#b497d3;background-color:white;font-weight:900;font-size:1.1em}.repository--button.close-button:hover{color:#6714bd}.repository--button.secondary-button{border:0.1em solid #6714bd;background-color:white;color:#6714bd}.repository--button.secondary-button:hover{background-color:#6714bd;color:white}.repository--button.dangerous-button{background-color:#d40000}.repository--button.dangerous-button:hover{background-color:#bf1515}.repository--button.secondary-button.dangerous-button{border:0.1em solid #d40000;background-color:white;color:#d40000}.repository--button.secondary-button.dangerous-button:hover{background-color:#d40000;color:white}.repository--button.multi-select{padding:0.6em 0.8em}

html,body{margin:0;padding:0;font-family:"Libre Franklin",Arial,sans-serif;font-size:1.1em}html.ReactModal__Body--open,body.ReactModal__Body--open{overflow:hidden}.repository--nav--links--search{position:relative}.repository--nav--links--search .repository--nav--links--search--icon{position:absolute;fill:#ccc;height:calc(100% - 4px);z-index:2;top:50%;transform:translate(0, -54%);left:0.4em;width:0.6em;pointer-events:none}.repository--nav--links--search .repository--nav--links--search--icon svg{height:40%}.repository--nav--links--search form{display:flex;align-items:center;justify-content:center}.repository--nav--links--search form input{box-sizing:border-box;font-family:"Roboto Mono",monospace;font-size:0.7em;padding:0.4em;z-index:1;background:none;top:0;left:0;width:100%;line-height:30px;border:solid 0.0625em #ccc;background-color:white;border-radius:0.2em;height:30px;padding-left:1.5em;padding-right:1.45em;outline:none;position:relative;-webkit-appearance:none}.repository--nav--links--search form input::-webkit-search-cancel-button{-webkit-appearance:none}.repository--nav--links--search form input:focus{outline-width:0}.repository--nav--links--search form button{border:0.1em solid transparent;background-color:transparent;cursor:pointer;width:0.6em;height:0.6em;position:absolute;right:-0.75em}.repository--nav--links--search form button::after{content:'';width:0.6em;height:0.6em;position:absolute;background-color:white;z-index:1;right:1.25em;top:0;bottom:0;margin:auto;padding:0.125em;border-radius:50%;font-size:1.1em;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23777'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>")}.repository--nav--links--search.is-not-empty>input{border-color:#6714bd;background-color:#6714bd;color:white}.repository--nav--links--search.is-not-empty>input:-webkit-autofill{-webkit-text-fill-color:white;-webkit-box-shadow:0 0 0 1000px #6714bd inset}.repository--nav--links--search.is-not-empty .repository--nav--links--search--icon{fill:white}.repository--nav--links--search.is-empty>input:active,.repository--nav--links--search.is-empty>input:hover,.repository--nav--links--search.is-empty>input:focus{border-color:#6714bd}.repository--nav--links--search.is-empty>input:active+.repository--nav--links--search--icon,.repository--nav--links--search.is-empty>input:hover+.repository--nav--links--search--icon,.repository--nav--links--search.is-empty>input:focus+.repository--nav--links--search--icon{fill:#6714bd}.repository--nav--links--search.is-empty>input:active::-moz-placeholder, .repository--nav--links--search.is-empty>input:hover::-moz-placeholder, .repository--nav--links--search.is-empty>input:focus::-moz-placeholder{color:#6714bd}.repository--nav--links--search.is-empty>input:active:-ms-input-placeholder, .repository--nav--links--search.is-empty>input:hover:-ms-input-placeholder, .repository--nav--links--search.is-empty>input:focus:-ms-input-placeholder{color:#6714bd}.repository--nav--links--search.is-empty>input:active::placeholder,.repository--nav--links--search.is-empty>input:hover::placeholder,.repository--nav--links--search.is-empty>input:focus::placeholder{color:#6714bd}

