@charset "UTF-8";/*
! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}::before,
::after {
  --tw-content: '';
}/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
*/html {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
}/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}/*
Remove the default font size and weight for headings.
*/h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}/*
Reset links to optimize for opt-in styling instead of opt-out.
*/a {
  color: inherit;
  text-decoration: inherit;
}/*
Add the correct font weight in Edge and Safari.
*/b,
strong {
  font-weight: bolder;
}/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-size: 1em; /* 2 */
}/*
Add the correct font size in all browsers.
*/small {
  font-size: 80%;
}/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}sub {
  bottom: -0.25em;
}sup {
  top: -0.5em;
}/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}/*
Remove the inheritance of text transform in Edge and Firefox.
*/button,
select {
  text-transform: none;
}/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}/*
Use the modern Firefox focus style for all focusable elements.
*/:-moz-focusring {
  outline: auto;
}/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/:-moz-ui-invalid {
  box-shadow: none;
}/*
Add the correct vertical alignment in Chrome and Firefox.
*/progress {
  vertical-align: baseline;
}/*
Correct the cursor style of increment and decrement buttons in Safari.
*/::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}/*
Remove the inner padding in Chrome and Safari on macOS.
*/::-webkit-search-decoration {
  -webkit-appearance: none;
}/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}/*
Add the correct display in Chrome and Safari.
*/summary {
  display: list-item;
}/*
Removes the default spacing and border for appropriate elements.
*/blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}fieldset {
  margin: 0;
  padding: 0;
}legend {
  padding: 0;
}ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}/*
Prevent resizing textareas horizontally by default.
*/textarea {
  resize: vertical;
}/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}/*
Set the default cursor for buttons.
*/button,
[role="button"] {
  cursor: pointer;
}/*
Make sure disabled buttons don't get the pointer cursor.
*/:disabled {
  cursor: default;
}/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/img,
video {
  max-width: 100%;
  height: auto;
}/* Make elements with the HTML hidden attribute stay hidden by default */[hidden] {
  display: none;
}*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}/*****************  Global Styles  ******************/* {
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  scroll-behavior: smooth;
}body {
  font-family: "Inter", "Arial", sans-serif;
  letter-spacing: 1px;
  background: var(--off-white);
}p {
  margin-bottom: 1em;
  line-height: 1.5em;
}h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.15em;
}.page-wrapper {
  width: 100%;
  padding-top: 1.25rem;
  padding-inline: 1.25rem;
  padding-bottom: 4rem;
}.prevent-scroll {
  overflow-y: hidden;
}article p{
  margin-bottom: 0px;
  font-size: 1rem;
  line-height: 1.75rem;
}article p + p{
  margin-top: 1.75rem;
}@media only screen and (min-width: 1025px) {
  .page-wrapper {
    padding-top: 1.5rem;
    padding-inline: 1.5rem;
    max-width: 1280px;
    margin: 0 auto;
  }
}/*****************  Header  ******************/.homepage{
  background-color: var(--midnight-blue);
}.masthead {
  width: calc(100vw - 32px);
  left: 50%;
  transform: translateX(-50%);
}.header-mask{
  position: fixed;
  top: 0px;
  z-index: 10;
  height: 5rem;
  width: 100%;
  background-color: var(--off-white);
}.brand-logo{
  height: 1.75rem;
  width: 1.75rem;
}.brand-logo svg{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  transition-delay: 600ms;
}.svg-green{
  fill: var(--blue-green);
}.svg-white{
  fill: #fff;
}.burger-bar {
  display: block;
  width: 20px;
  height: 4px;
  border-radius: 8px;
  background: var(--white);
  pointer-events: none;
}.rotate-burger-top {
  margin: 0;
  transform: rotate(45deg) translate(3px, 3px);
}.rotate-burger-bottom {
  margin: 0;
  transform: rotate(-45deg) translate(3px, -3px);
}.burger-bar:first-of-type {
  margin-bottom: 5px;
}.circle {
  width: 48px;
  height: 48px;
  background: var(--dark-blue);
  border-radius: 50%;
  transform: scale(1, 1);
  visibility: visible;
  transition: transform 0.5s, visibility 0.5s ease-in;
}.circle-expanded {
  transform: scale(3, 3);
  visibility: hidden;
  transition: transform 1s, visibility 0.64s ease-in;
}.nav_main {
  color: var(--white);
  background: var(--dark-blue);
  clip-path: circle(0 at 100% 0%);
  transition: clip-path 1s ease-in;
}.nav_main a{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}.nav_main a:hover{
  color: var(--teal);
}.nav_main a:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}.nav_main a:focus-visible{
  outline-width: 2px;
  outline-offset: 2px;
  outline-color: #c026d3;
}.nav_active {
  clip-path: circle(200% at 100% 0%);
  transition: clip-path 1s ease-in;
}.nav_links li{
  font-size: 2.25rem;
  line-height: 2.5rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}@media (min-width: 769px){.nav_links li{
    font-size: 3rem;
    line-height: 1;
  }
}.social_links {
  font-size: 1.25em;
}.perm {
  display: block !important;
}.content_intro {
  color: var(--white);
}.content_intro h1 {
  font-size: var(--header-lg);
  font-weight: var(--bold);
}h2.cta {
  font-size: var(--text-md);
  font-weight: var(--bold);
}.footer_copyright {
  color: var(--white);
  border-top: 1px solid var(--mid-blue);
}@media only screen and (min-width: 1025px) {
  .masthead {
    width: calc(100vw - 48px);
  }
}@media only screen and (min-width: 641px) and (max-width: 768px) {
  .content_intro h1 {
    font-size: var(--header-md);
  }
}@media only screen and (max-width: 640px) {
  .content_intro h1 {
    font-size: var(--header-xs);
  }

  .homepage .social_links {
    display: none;
  }

  .homepage h2.cta {
    font-size: var(--text-sm);
  }

  .nav_links li{
    max-width: 300px;
  }
}/*****************  End of Header  ******************//*****************  Footer  ******************/.footer_main .social_links {
  font-size: 1.15em;
}.footer_main{
  font-weight: 500;
  color: var(--steel-grey);
}.homepage .footer_main{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}@media only screen and (max-width: 400px) {
  .homepage .footer_main {
    flex-direction: row;
  }

  .homepage .footer_main small {
    margin-bottom: 0;
  }

  .footer_main {
    flex-direction: column;
  }

  .footer_main small {
    margin-bottom: 1.25rem;
  }
}/*****************  End of Footer  ******************//*****************  About ******************/.hero_wrapper {
  background: var(--dark-blue);
}.page_hero {
  color: var(--white);
  min-height: 650px;
}.about_heading h1 {
  font-size: var(--header-md);
  font-weight: var(--bold);
}.about_heading h2 {
  font-size: var(--text-xs);
  font-weight: var(--bold);
}.skill-inner {
  background: var(--dark-blue);
}.grid-item {
  max-width: 144px;
  max-height: 68px;
  width: 50%;
  height: 100%;
}.grid-item:nth-child(n + 2):nth-child(-n + 3) {
  width: 30%;
}.grid-item img {
  max-height: 100%;
  margin: auto;
}.content-medium{
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
}.content-medium,
.article-content{
  color: var(--dark-blue);
}.avatar {
  width: 77px;
  height: 77px;
  border-radius: 50%;
  border: 3px solid var(--dark-blue);
  overflow: hidden;
}.external-url {
  color: var(--light-blue);
}@media only screen and (max-width: 640px) {
  .about_heading h1 {
    font-size: var(--header-xs);
  }

  .skill-inner {
    font-size: var(--text-xs);
  }
}/*****************  End of About ******************//*****************  Projects ******************/.hero_wrapper.project {
  min-height: 650px;
  height: 100%;
}.project_title-block {
  color: var(--white);
}.project_title-block h1 {
  font-size: var(--header-xl);
  font-weight: var(--bold);
}.project_title-block h2 {
  font-size: var(--text-xs);
  font-weight: var(--medium);
}.article-content div{
  border-radius: 0.5rem;
  border-width: 12px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding: 1rem;
  --tw-shadow: 2px 2px 12px var(--blue-grey);
  --tw-shadow-colored: 2px 2px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}.article-content p + div{
  margin-top: 60px;
}.article-content div + div{
  margin-top: 3rem;
}.post-highlight {
  color: var(--light-blue);
}@media only screen and (max-width: 768px) {
  .project_title-block h1 {
    font-size: var(--header-lg);
  }
}@media only screen and (max-width: 640px) {
  .project_title-block h1 {
    font-size: var(--header-md);
  }
}/*****************  End of Projects ******************//*****************  Articles ******************/.isArticle{
  scroll-padding-top: 7rem;
}.article-page code:not([class*="language-"]){
  border-radius: 0.25rem;
  background-color: var(--code-block);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  color: var(--dark-blue);
}.article-page pre{
  border-radius: 0.375rem;
}.article-page p + pre{
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}.article-page p + h2{
  margin-top: 1.75rem;
}.article-page article a:not(.button){
  font-weight: 600;
  color: var(--blue-green);
  text-decoration-line: underline;
}.article-page article a:not(.button):hover{
  color: var(--teal);
}.article-page article h2{
  margin-bottom: 1rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  color: var(--dark-blue);
}.article-page details{
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  border-radius: 0.375rem;
  border-width: 2px;
  border-color: var(--dark-blue);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}.article-page details h3,
  .article-page details ul,
  .article-page details p{
  padding-left: 2rem;
}.article-page details h3{
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--dark-blue);
}.article-page details h3:first-of-type{
  margin-top: 2.5rem;
}.article-page details ul{
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
}.article-page details li + li{
  margin-top: 1.25rem;
}.article-page summary{
  display: flex;
  cursor: pointer;
  list-style-type: none;
  align-items: center;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 600;
  color: var(--dark-blue);
}.article-page summary::before{
  margin-right: 0.5rem;
  height: 1.5rem;
  width: 1.5rem;
  --tw-content: url(874190cc41081cc1aa7f.svg);
  content: var(--tw-content);
}.article-page summary::-webkit-details-marker{
  display: none;
}/*****************  End of Articles ******************//*****************  404 Page ******************/.message-404{
  text-align: center;
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--dark-blue);
}@media (min-width: 769px){.message-404{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}/*****************  End of 404 Page ******************/.button{
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  white-space: nowrap;
  border-style: none;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}.button:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}.button:focus-visible{
  outline-width: 2px;
  outline-offset: 4px;
  outline-color: #c026d3;
}.button svg{
  height: 1rem;
  width: 1rem;
  fill: currentColor;
}.button_nav{
  position: relative;
  z-index: 50;
  height: 3rem;
  width: 3rem;
  flex-direction: column;
  border-radius: 9999px;
  padding: 0.5rem;
}.button_nav,
  .button_primary{
  background-color: var(--blue-green);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}.button_nav:hover,
  .button_primary:hover,
  .button_secondary:hover{
  background-color: var(--teal);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}.button_nav:active,
  .button_primary:active,
  .button_secondary:active{
  background-color: var(--blue-green);
}.button_primary,
  .button_secondary{
  border-radius: 1.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}.button_primary--full, .button_secondary--full{
  width: 100%;
}.button_secondary{
  border-width: 2px;
  border-style: solid;
  border-color: var(--blue-green);
  background-color: transparent;
  color: var(--blue-green);
}.button_secondary:hover{
  border-color: transparent;
}.button_icon{
  background-color: transparent;
  padding: 0px;
}.button_icon--green{
  color: var(--blue-green);
}.button_icon--green:active{
  color: var(--blue-green);
}.button_icon--white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}.button_icon--white:active{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}.button_icon--green:hover,
    .button_icon--white:hover{
  color: var(--teal);
}.button_icon--lg svg{
  height: 1.25rem;
  width: 1.25rem;
}.button--small{
  font-size: 0.875rem;
  line-height: 1.25rem;
}.button_link{
  color: var(--blue-green);
}.button_link:hover{
  color: var(--teal);
  text-decoration-line: underline;
}.button_link:active{
  color: var(--blue-green);
}.info-tag{
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 240px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 1.5rem;
  background-color: var(--background-green);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--dark-blue);
}.info-tag--list{
  border-width: 2px;
  border-color: var(--dark-blue);
  background-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 13px;
  text-transform: lowercase;
  color: var(--dark-blue);
}/**
 * MIT License
 * Copyright (c) 2018 Sarah Drasner
 * Sarah Drasner's[@sdras] Night Owl
 * Ported by Sara vieria [@SaraVieira]
 * Added by Souvik Mandal [@SimpleIndian]
 */code[class*="language-"],
pre[class*="language-"] {
	color: #d6deeb;
	font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;
	font-size: 1em;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	hyphens: none;
}pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
	text-shadow: none;
	background: rgba(29, 59, 83, 0.99);
}pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
	text-shadow: none;
	background: rgba(29, 59, 83, 0.99);
}pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
	text-shadow: none;
	background: rgba(29, 59, 83, 0.99);
}@media print {
	code[class*="language-"],
	pre[class*="language-"] {
		text-shadow: none;
	}
}/* Code blocks */pre[class*="language-"] {
	padding: 1em;
	margin: 0.5em 0;
	overflow: auto;
}:not(pre) > code[class*="language-"],
pre[class*="language-"] {
	color: white;
	background: #011627;
}:not(pre) > code[class*="language-"] {
	padding: 0.1em;
	border-radius: 0.3em;
	white-space: normal;
}.token.comment,
.token.prolog,
.token.cdata {
	color: rgb(99, 119, 119);
	font-style: italic;
}.token.punctuation {
	color: rgb(199, 146, 234);
}.namespace {
	color: rgb(178, 204, 214);
}.token.deleted {
	color: rgba(239, 83, 80, 0.56);
	font-style: italic;
}.token.symbol,
.token.property {
	color: rgb(128, 203, 196);
}.token.tag,
.token.operator,
.token.keyword {
	color: rgb(127, 219, 202);
}.token.boolean {
	color: rgb(255, 88, 116);
}.token.number {
	color: rgb(247, 140, 108);
}.token.constant,
.token.function,
.token.builtin,
.token.char {
	color: rgb(130, 170, 255);
}.token.selector,
.token.doctype {
	color: rgb(199, 146, 234);
	font-style: italic;
}.token.attr-name,
.token.inserted {
	color: rgb(173, 219, 103);
	font-style: italic;
}.token.string,
.token.url,
.token.entity,
.language-css .token.string,
.style .token.string {
	color: rgb(173, 219, 103);
}.token.class-name,
.token.atrule,
.token.attr-value {
	color: rgb(255, 203, 139);
}.token.regex,
.token.important,
.token.variable {
	color: rgb(214, 222, 235);
}.token.important,
.token.bold {
	font-weight: bold;
}.token.italic {
	font-style: italic;
}.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}.fixed{
  position: fixed;
}.absolute{
  position: absolute;
}.relative{
  position: relative;
}.top-0{
  top: 0px;
}.bottom-0{
  bottom: 0px;
}.right-0{
  right: 0px;
}.z-50{
  z-index: 50;
}.z-40{
  z-index: 40;
}.row-end-1{
  grid-row-end: 1;
}.mx-auto{
  margin-left: auto;
  margin-right: auto;
}.my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}.mb-4{
  margin-bottom: 1rem;
}.-ml-1{
  margin-left: -0.25rem;
}.mt-auto{
  margin-top: auto;
}.mb-12{
  margin-bottom: 3rem;
}.ml-2{
  margin-left: 0.5rem;
}.mt-6{
  margin-top: 1.5rem;
}.mt-24{
  margin-top: 6rem;
}.mt-2{
  margin-top: 0.5rem;
}.mb-5{
  margin-bottom: 1.25rem;
}.mt-12{
  margin-top: 3rem;
}.mb-10{
  margin-bottom: 2.5rem;
}.mt-4{
  margin-top: 1rem;
}.mb-3{
  margin-bottom: 0.75rem;
}.mb-6{
  margin-bottom: 1.5rem;
}.mt-14{
  margin-top: 3.5rem;
}.mb-20{
  margin-bottom: 5rem;
}.mb-2{
  margin-bottom: 0.5rem;
}.-ml-2{
  margin-left: -0.5rem;
}.mt-2\.5{
  margin-top: 0.625rem;
}.mt-1{
  margin-top: 0.25rem;
}.mb-1\.5{
  margin-bottom: 0.375rem;
}.mb-1{
  margin-bottom: 0.25rem;
}.block{
  display: block;
}.inline-block{
  display: inline-block;
}.flex{
  display: flex;
}.grid{
  display: grid;
}.hidden{
  display: none;
}.h-2{
  height: 0.5rem;
}.h-full{
  height: 100%;
}.h-3{
  height: 0.75rem;
}.h-1\.5{
  height: 0.375rem;
}.h-1{
  height: 0.25rem;
}.h-screen{
  height: 100vh;
}.h-5{
  height: 1.25rem;
}.min-h-screen{
  min-height: 100vh;
}.min-h-\[calc\(100vh-12\.125rem\)\]{
  min-height: calc(100vh - 12.125rem);
}.w-2{
  width: 0.5rem;
}.w-full{
  width: 100%;
}.w-3{
  width: 0.75rem;
}.w-1\.5{
  width: 0.375rem;
}.w-1{
  width: 0.25rem;
}.max-w-2xl{
  max-width: 42rem;
}.max-w-\[420px\]{
  max-width: 420px;
}.grow{
  flex-grow: 1;
}.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}.grid-cols-nav{
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}.grid-rows-3{
  grid-template-rows: repeat(3, minmax(0, 1fr));
}.grid-rows-\[repeat\(2\2c _auto\)\]{
  grid-template-rows: repeat(2, auto);
}.flex-col{
  flex-direction: column;
}.flex-wrap{
  flex-wrap: wrap;
}.items-center{
  align-items: center;
}.items-baseline{
  align-items: baseline;
}.justify-end{
  justify-content: flex-end;
}.justify-center{
  justify-content: center;
}.justify-between{
  justify-content: space-between;
}.justify-items-center{
  justify-items: center;
}.gap-8{
  gap: 2rem;
}.gap-x-2{
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}.gap-y-2{
  row-gap: 0.5rem;
}.gap-x-7{
  -moz-column-gap: 1.75rem;
       column-gap: 1.75rem;
}.gap-y-6{
  row-gap: 1.5rem;
}.gap-x-0\.5{
  -moz-column-gap: 0.125rem;
       column-gap: 0.125rem;
}.gap-x-0{
  -moz-column-gap: 0px;
       column-gap: 0px;
}.gap-x-8{
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}.gap-y-12{
  row-gap: 3rem;
}.gap-x-3{
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}.gap-y-4{
  row-gap: 1rem;
}.overflow-y-auto{
  overflow-y: auto;
}.rounded-full{
  border-radius: 9999px;
}.rounded-lg{
  border-radius: 0.5rem;
}.rounded-3xl{
  border-radius: 1.5rem;
}.border{
  border-width: 1px;
}.border-2{
  border-width: 2px;
}.border-dark-blue{
  border-color: var(--dark-blue);
}.bg-transparent{
  background-color: transparent;
}.bg-blue-green{
  background-color: var(--blue-green);
}.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}.from-blue-green{
  --tw-gradient-from: var(--blue-green);
  --tw-gradient-to: rgb(255 255 255 / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}.to-lime-green{
  --tw-gradient-to: var(--lime-green);
}.bg-clip-text{
  -webkit-background-clip: text;
          background-clip: text;
}.p-7{
  padding: 1.75rem;
}.py-0\.5{
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}.py-0{
  padding-top: 0px;
  padding-bottom: 0px;
}.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}.pt-20{
  padding-top: 5rem;
}.pb-4{
  padding-bottom: 1rem;
}.text-center{
  text-align: center;
}.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}.text-7xl{
  font-size: 4.5rem;
  line-height: 1;
}.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}.font-bold{
  font-weight: 700;
}.font-semibold{
  font-weight: 600;
}.font-medium{
  font-weight: 500;
}.uppercase{
  text-transform: uppercase;
}.lowercase{
  text-transform: lowercase;
}.text-blue-green{
  color: var(--blue-green);
}.text-dark-blue{
  color: var(--dark-blue);
}.text-transparent{
  color: transparent;
}.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}.text-slate-600{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity));
}.text-red-800{
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity));
}.shadow-\[2px_2px_12px_var\(--blue-grey\)\]{
  --tw-shadow: 2px 2px 12px var(--blue-grey);
  --tw-shadow-colored: 2px 2px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}.\[grid-template-areas\:\'\._label_suffix\'\]{
  grid-template-areas: '. label suffix';
}.\[grid-area\:label\]{
  grid-area: label;
}.\[grid-area\:suffix\]{
  grid-area: suffix;
}/*****************  Global Variables  ******************/:root {
  --midnight-blue: #041018;
  --dark-blue: #051621;
  --highlight-blue: #7898ad;
  --light-blue: #197abe;
  --mid-blue: #022a47;
  --royal-blue: #084976;
  --green: #047d82;
  --blue-green: #086c89;
  --background-green: #d5f9e4;
  --lime-green: #b8ff82;
  --indigo: #782272;
  --code-block: #CFD9D9;
  --dark-grey: #242424;
  --steel-grey: #434343;
  --mid-grey: #555555;
  --light-grey: #a4a4a4;
  --border-grey: #e3e3e3;
  --blue-grey: #eef0f0;
  --white: #ffffff;
  --off-white: #fbfcf5;
  --light-yellow: #fdf7dd;
  --teal: #0a87ab;
  --gradient-blue: #782272, #084976;
  --gradient-green: #782272, #047d82;
  --gradient-blue-green: #782272, #084976, #047d82;
  --gradient-purple-green: #047d82, #084976, #782272;
  --header-xxl: 8.75em;
  --header-xl: 6.75em;
  --header-lg: 5.375em;
  --header-md: 4.5em;
  --header-sm: 3.375em;
  --header-xs: 2.75em;
  --text-xxl: 2.5em;
  --text-xl: 2.25em;
  --text-lg: 2em;
  --text-xmd: 1.75em;
  --text-md: 1.5em;
  --text-sm: 1.125em;
  --text-xs: 0.8125em;
  --text-default: 1em;
  --bold: 700;
  --medium: 500;
  --regular: 400;
  --light: 300;
}.placeholder\:text-sm::-moz-placeholder{
  font-size: 0.875rem;
  line-height: 1.25rem;
}.placeholder\:text-sm::placeholder{
  font-size: 0.875rem;
  line-height: 1.25rem;
}.after\:absolute::after{
  content: var(--tw-content);
  position: absolute;
}.after\:inset-0::after{
  content: var(--tw-content);
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
}.after\:text-white::after{
  content: var(--tw-content);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}.after\:content-\[\'\.\'\]::after{
  --tw-content: '.';
  content: var(--tw-content);
}.hover\:text-highlight-green:hover{
  color: var(--teal);
}.focus\:outline-2:focus{
  outline-width: 2px;
}.focus\:outline-offset-4:focus{
  outline-offset: 4px;
}.focus\:outline-fuchsia-600:focus{
  outline-color: #c026d3;
}.group:hover .group-hover\:bg-highlight-green{
  background-color: var(--teal);
}.group:hover .group-hover\:bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}.group:focus-visible .group-focus-visible\:bg-highlight-green{
  background-color: var(--teal);
}.group:focus-visible .group-focus-visible\:bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}@media (min-width: 641px){.sm\:-ml-2{
    margin-left: -0.5rem;
  }.sm\:flex{
    display: flex;
  }.sm\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.sm\:grid-rows-2{
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }.sm\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }.sm\:text-left{
    text-align: left;
  }.sm\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}@media (min-width: 769px){.md\:static{
    position: static;
  }.md\:sticky{
    position: sticky;
  }.md\:top-24{
    top: 6rem;
  }.md\:row-span-full{
    grid-row: 1 / -1;
  }.md\:h-3{
    height: 0.75rem;
  }.md\:w-3{
    width: 0.75rem;
  }.md\:grid-flow-col{
    grid-auto-flow: column;
  }.md\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }.md\:grid-cols-\[repeat\(2\2c _1fr\)\]{
    grid-template-columns: repeat(2, 1fr);
  }.md\:grid-cols-\[1fr_2fr\]{
    grid-template-columns: 1fr 2fr;
  }.md\:grid-rows-1{
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }.md\:gap-y-0{
    row-gap: 0px;
  }.md\:self-start{
    align-self: flex-start;
  }.md\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }.md\:text-\[140px\]{
    font-size: 140px;
  }.md\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }.md\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }.md\:after\:static::after{
    content: var(--tw-content);
    position: static;
  }
}@media (min-width: 1025px){.lg\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}@media (min-width: 1281px){.xl\:w-9\/12{
    width: 75%;
  }
}.\[\&\>a\]\:m-0>a{
  margin: 0px;
}.\[\&\>a\]\:rounded-full>a{
  border-radius: 9999px;
}.\[\&\>a\]\:p-0>a{
  padding: 0px;
}.\[\&\>\.button\]\:h-8>.button{
  height: 2rem;
}.\[\&\>\.button\]\:w-8>.button{
  width: 2rem;
}.\[\&\>\.button_svg\]\:h-5>.button svg{
  height: 1.25rem;
}.\[\&\>\.button_svg\]\:w-5>.button svg{
  width: 1.25rem;
}.\[\&\>\.button_svg\]\:fill-none>.button svg{
  fill: none;
}.\[\&\>svg\]\:mr-\[2px\]>svg{
  margin-right: 2px;
}.\[\&\>svg\]\:ml-\[2px\]>svg{
  margin-left: 2px;
}.\[\&\>span\]\:block>span{
  display: block;
}.\[\&\>span\]\:font-semibold>span{
  font-weight: 600;
}.\[\&\>span\]\:text-blue-green>span{
  color: var(--blue-green);
}

