/*----------------------------------------------

[Bootstrap 5.2.0 — subset]

Copyright 2011-2022 The Bootstrap Authors
Copyright 2011-2022 Twitter, Inc.
Licensed under MIT
https://github.com/twbs/bootstrap/blob/main/LICENSE

Only the rules this site actually reaches. Generated
by testing every selector against the markup of
index.html, project-os.html and portfolio-project.html
plus the classes assets/js/main.js toggles at runtime.

Kept regardless of apparent use:
  - the :root custom properties
  - reboot rules (element and universal selectors)
  - all responsive breakpoints for classes in use

Verified: with this file swapped in, the computed
layout and type of every element on all three pages
is byte-identical to the full build. 189KB -> 15KB.

Regenerate rather than hand-edit if the markup grows
new Bootstrap classes.

----------------------------------------------*/

:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#0d6efd;--bs-link-hover-color:#0a58ca;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd}
*,::after,::before{box-sizing:border-box}
@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}
body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}
.h1,h1{font-size:calc(1.375rem + 1.5vw)}
@media (min-width:1200px){.h1,h1{font-size:2.5rem}}
.h2,h2{font-size:calc(1.325rem + .9vw)}
@media (min-width:1200px){.h2,h2{font-size:2rem}}
.h3,h3{font-size:calc(1.3rem + .6vw)}
@media (min-width:1200px){.h3,h3{font-size:1.75rem}}
.h4,h4{font-size:calc(1.275rem + .3vw)}
@media (min-width:1200px){.h4,h4{font-size:1.5rem}}
.h5,h5{font-size:1.25rem}
.h6,h6{font-size:1rem}
p{margin-top:0;margin-bottom:1rem}
abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}
address{margin-bottom:1rem;font-style:normal;line-height:inherit}
ol,ul{padding-left:2rem}
dl,ol,ul{margin-top:0;margin-bottom:1rem}
ol ol,ol ul,ul ol,ul ul{margin-bottom:0}
dt{font-weight:700}
dd{margin-bottom:.5rem;margin-left:0}
blockquote{margin:0 0 1rem}
b,strong{font-weight:bolder}
.small,small{font-size:.875em}
.mark,mark{padding:.1875em;background-color:var(--bs-highlight-bg)}
sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
a{color:var(--bs-link-color);text-decoration:underline}
a:hover{color:var(--bs-link-hover-color)}
a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}
code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}
pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}
pre code{font-size:inherit;color:inherit;word-break:normal}
code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}
a>code{color:inherit}
kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}
kbd kbd{padding:0;font-size:1em}
figure{margin:0 0 1rem}
img,svg{vertical-align:middle}
table{caption-side:bottom;border-collapse:collapse}
caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}
th{text-align:inherit;text-align:-webkit-match-parent}
tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}
label{display:inline-block}
button{border-radius:0}
button:focus:not(:focus-visible){outline:0}
button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}
button,select{text-transform:none}
[role=button]{cursor:pointer}
select{word-wrap:normal}
select:disabled{opacity:1}
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}
[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}
[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}
::-moz-focus-inner{padding:0;border-style:none}
textarea{resize:vertical}
fieldset{min-width:0;padding:0;margin:0;border:0}
legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}
@media (min-width:1200px){legend{font-size:1.5rem}}
legend+*{clear:left}
::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}
::-webkit-inner-spin-button{height:auto}
[type=search]{outline-offset:-2px;-webkit-appearance:textfield}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-color-swatch-wrapper{padding:0}
::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}
::file-selector-button{font:inherit;-webkit-appearance:button}
output{display:inline-block}
iframe{border:0}
summary{display:list-item;cursor:pointer}
progress{vertical-align:baseline}
[hidden]{display:none!important}
.blockquote{margin-bottom:1rem;font-size:1.25rem}
.blockquote>:last-child{margin-bottom:0}
.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}
.blockquote-footer::before{content:"— "}
.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}
@media (min-width:576px){.container,.container-sm{max-width:540px}}
@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}
@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}
@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}
@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}
.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}
.col-6{flex:0 0 auto;width:50%}
.col-12{flex:0 0 auto;width:100%}
.g-4,.gx-4{--bs-gutter-x:1.5rem}
.g-4,.gy-4{--bs-gutter-y:1.5rem}
.g-5,.gx-5{--bs-gutter-x:3rem}
.g-5,.gy-5{--bs-gutter-y:3rem}
@media (min-width:768px){.col-md-3{flex:0 0 auto;width:25%}
.col-md-4{flex:0 0 auto;width:33.33333333%}
.col-md-5{flex:0 0 auto;width:41.66666667%}
.col-md-6{flex:0 0 auto;width:50%}
.col-md-7{flex:0 0 auto;width:58.33333333%}}
@media (min-width:992px){.col-lg-3{flex:0 0 auto;width:25%}
.col-lg-4{flex:0 0 auto;width:33.33333333%}
.col-lg-6{flex:0 0 auto;width:50%}}
.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}
.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}
@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}
.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}
.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:#dee2e6;--bs-nav-tabs-border-radius:0.375rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color:#495057;--bs-nav-tabs-link-active-bg:#fff;--bs-nav-tabs-link-active-border-color:#dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}
.nav-tabs .nav-link{margin-bottom:calc(var(--bs-nav-tabs-border-width) * -1);background:0 0;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}
.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}
.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}
.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}
.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}
.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}
.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}
.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}
.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}
.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--bs-navbar-active-color)}
.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}
.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}
@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}
.navbar-toggler:hover{text-decoration:none}
.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}
.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}
.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-border-width:1px;--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(0, 0, 0, 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#fff;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}
.card>hr{margin-right:0;margin-left:0}
.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}
.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:0.375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}
.badge:empty{display:none}
@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}
@keyframes progress-bar-stripes{0%{background-position-x:1rem}}
@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}
@keyframes spinner-border{to{transform:rotate(360deg)}}
@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}
@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}
@-webkit-keyframes placeholder-glow{50%{opacity:.2}}
@keyframes placeholder-glow{50%{opacity:.2}}
@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}
@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}
.opacity-75{opacity:.75!important}
.overflow-hidden{overflow:hidden!important}
.d-block{display:block!important}
.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}
.position-relative{position:relative!important}
.flex-column{flex-direction:column!important}
.mt-2{margin-top:.5rem!important}
.mb-0{margin-bottom:0!important}
.pt-1{padding-top:.25rem!important}
.pt-3{padding-top:1rem!important}
.pt-5{padding-top:3rem!important}
.pb-3{padding-bottom:1rem!important}
.pb-5{padding-bottom:3rem!important}
.text-center{text-align:center!important}
.rounded{border-radius:var(--bs-border-radius)!important}