/*! * Bootstrap v4.3.1 (https://getbootstrap.com/) * Copyright 2011-2019 The Bootstrap Authors * Copyright 2011-2019 Twitter,Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */:root {
  --blue:#007bff;
  --indigo:#6610f2;
  --purple:#6f42c1;
  --pink:#e83e8c;
  --red:#dc3545;
  --orange:#fd7e14;
  --yellow:#ffc107;
  --green:#28a745;
  --teal:#20c997;
  --cyan:#17a2b8;
  --white:#fff;
  --gray:#6c757d;
  --gray-dark:#343a40;
  --primary:#007bff;
  --secondary:#6c757d;
  --success:#28a745;
  --info:#17a2b8;
  --warning:#ffc107;
  --danger:#dc3545;
  --light:#f8f9fa;
  --dark:#343a40;
  --breakpoint-xs:0;
  --breakpoint-sm:576px;
  --breakpoint-md:768px;
  --breakpoint-lg:992px;
  --breakpoint-xl:1200px;
  --font-family-sans-serif:-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";
  --font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}
*,*::before,*::after {
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
html {
  font-family:sans-serif;
  line-height:1.15;
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
section {
  display: block;
}
body {
  margin:0;
  padding-bottom:4%;
  font-family:-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";
  font-size:1rem;
  font-weight:400;
  line-height:1.5;
  /*color:#212529;*/
  color:black;
  text-align:left;
  background-color:#F6F6E4;
}
h1 {
  margin-top:0;
  margin-bottom:0.75rem;
}
p {
  margin-top:0;
  margin-bottom:1rem;
}
b {
  font-weight:bolder;
}
a {
  color:#007bff;
  text-decoration:none;
  background-color:transparent;
}
img {
  vertical-align:middle;
  border-style:none;
}
svg {
  overflow:hidden;
  vertical-align:middle;
}
button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled) {
  cursor:pointer;
}
::-webkit-file-upload-button {
  font:inherit;
  -webkit-appearance:button;
}
h1 {
  margin-bottom:0.75rem;
  /*font-weight:500;line-height:1.2;*/;
}
h1 {
  font-size:2.5rem;
}
.container {
  position: relative;
  display: inline-block;
}

.row {
  display:-webkit-flex;
  display:-ms-flexbox;
  /*display:flex;*/
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  /*margin-right:-15px;margin-left:-15px;*/;
}
.col-md-auto {
  position:relative;
  width:100%;
  padding-right:15px;
  padding-left:15px;
}
@media (min-width:768px) {
  .col-md-auto {
    -webkit-box-flex:0;
    -ms-flex:0 0 auto;
    flex:0 0 auto;
    width:auto;
    max-width:100%;
  }
}
.btn {
  display:inline-block;
  font-weight:400;
  text-align:center;
  vertical-align:middle;
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
  background-color:transparent;
  border:1px solid transparent;
  padding:0.375rem 0.75rem;
  font-size:1rem;
  line-height:1.5;
  border-radius:0.25rem;
  -webkit-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
  transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
  -o-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
  transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
  transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
}
.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus {
  opacity:.75;
}
.d-flex {
  display:-webkit-box !important;
  display:-ms-flexbox !important;
  display:flex !important;
  justify-content:center;
}
@media (min-width:768px) {
  .justify-content-md-center {
    -webkit-box-pack:center !important;
    -ms-flex-pack:center !important;
    justify-content:center !important;
  }
}
@supports ((position:-webkit-sticky) or (position:sticky)) {
}
.py-3 {
  padding-top:0.832rem !important;
}
.px-3 {
  padding-right:1rem !important;
}
.py-3 {
  padding-bottom:0.832rem !important;
}
.px-3 {
  padding-left:1rem !important;
}
@media print {
  *,*::before,*::after {
    text-shadow:none !important;
    -webkit-box-shadow:none !important;
    box-shadow:none !important;
  }
  a:not(.btn) {
    text-decoration:underline;
  }
  img {
    page-break-inside:avoid;
  }
  body {
    min-width:992px !important;
  }
  .container {
    min-width:992px !important;
  }
}
body {
  font-family:'Space Mono',monospace;
  font-size:1em;
  line-height:1.8;
  font-weight:400;
  letter-spacing:0.1px;
}

/* ==========================================================================
   PAGE BACKGROUND PATTERN
   This is the tiled "old-school" pattern that shows behind the panel.
   It's built from two things layered on the body:
     1. background-color: the base tone of the wallpaper
     2. background-image: a small repeating dot grid drawn with a gradient

   HOW TO CHANGE IT LATER:
   - Dot color/opacity: edit the rgba(...) value below (last number = opacity, 0-1)
   - Dot size: change the "1.5px" values (both of them, keep them equal)
   - Spacing between dots: change background-size (currently 24px 24px)
   - Base wallpaper color: change background-color
   - Swap to a picture-based tile instead of dots: replace the whole
     background-image line with e.g. background-image:url('images/your-tile.png');
     and make sure background-repeat stays "repeat"
   ========================================================================== */
html {
  background-color:#FFFFFF;
  /* background-image:url('images/your-tile.png'); */
  background-image:radial-gradient(circle, rgba(0,0,0,0.18) 1.5px, transparent 1.5px);
  background-size:24px 24px;
  background-repeat:repeat;
}
body {
  overflow:auto;
  background-color:#FFFFFF;
  background-image:radial-gradient(circle, rgba(0,0,0,0.18) 1.5px, transparent 1.5px);
  background-size:24px 24px;
  background-repeat:repeat;
  min-height:100vh;
}

/* ==========================================================================
   CONTENT PANEL
   Wraps the site's sections so the content sits inside a white, rounded
   "window" on top of the background pattern above.

   The outline is layered sticker-style (moodboard-inspired): a black border,
   then a white ring (the box-shadow with no offset), then the hard black
   drop-shadow further out. The white ring is what gives it that "cut out"
   sticker look against the dotted background.
   ========================================================================== */
.site-panel {
  position:relative;
  width:92%;
  max-width:700px;
  margin:0;
  background-color:#FFFFFF;
  border:3px solid black;
  border-radius:24px;
  -webkit-box-shadow:0 0 0 4px #FFFFFF, 10px 10px 0px 4px black;
  box-shadow:0 0 0 4px #FFFFFF, 10px 10px 0px 4px black;
  padding:2.5em 2em;
}
@media (max-width:600px) {
  .site-panel {
    width:94%;
    margin:0 auto;
    padding:1.75em 1.25em;
    border-radius:16px;
    -webkit-box-shadow:0 0 0 3px #FFFFFF, 6px 6px 0px 3px black;
    box-shadow:0 0 0 3px #FFFFFF, 6px 6px 0px 3px black;
  }
}

/* ==========================================================================
   VISITOR COUNTER
   Classic "hit counter" look: dark box, monospace digits in counter-green.
   The number itself comes from a script at the bottom of index.html — this
   just styles the box. Counts page loads (like real 90s hit counters did),
   not unique visitors.
   ========================================================================== */
.visitor-counter {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  gap:0.3em;
  width:-webkit-fit-content;
  width:-moz-fit-content;
  width:fit-content;
  margin:1em auto 0;
}
.counter-label {
  font-family:'Space Mono',monospace;
  font-size:0.75em;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#4a4a40;
}
.counter-digits {
  background:#111111;
  color:#39FF14;
  font-family:'Space Mono',monospace;
  font-weight:700;
  font-size:1.3em;
  letter-spacing:4px;
  padding:0.35em 0.7em;
  border:3px solid black;
  border-radius:6px;
  -webkit-box-shadow:0 0 0 2px #FFFFFF, 3px 4px 0px 2px black;
  box-shadow:0 0 0 2px #FFFFFF, 3px 4px 0px 2px black;
}
@media (max-width:600px) {
  .visitor-counter {
    margin-top:1.5em;
  }
}
/* Visitor counter, site design credit, and Neocities credit stack below the panel */
.site-credit {
  text-align:center;
  margin:1em auto 0;
  width:92%;
  max-width:700px;
  font-size:0.9em;
  color:#4a4a40;
}
.neocities-credit {
  margin-top:3em;
}
@media (max-width:600px) {
  .site-credit {
    margin-top:1.5em;
  }
  .neocities-credit {
    margin-top:0.6em;
  }
}
a {
  -webkit-transition:.3s all ease;
  -o-transition:.3s all ease;
  transition:.3s all ease;
  font-weight: bold;
  color: black;
}
a:hover,a:focus {
  text-decoration:none;
  color:#de8789;
  outline:none !important;
}
/* Golden ratio type scale: title = body text × 1.618 × 1.618 (two increments) ≈ ×2.618 */
h1 {
  line-height:normal;
  color:black;
  font-family:'Bagel Fat One',sans-serif;
  font-weight:400;
  font-size:2.618em;
  letter-spacing:0.3px;
}
/*.navbar-brand:after{position:absolute;top:50%;left:-12px;width:40px;height:40px;content:'';background:#3e64ff;z-index:-1;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius: 50%;}*/
.btn {
  cursor:pointer;
  -webkit-border-radius:20px;
  -moz-border-radius:20px;
  -ms-border-radius:20px;
  border-radius:20px;
  font-size:1em;
  text-transform:uppercase;
  letter-spacing:1px;
  font-weight:700;
  /* icon-on-the-right layout */
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  text-align:left;
  gap:0.6em;
}
.btn .btn-text {
  text-align:left;
}
.btn i,
.btn .icon {
  -webkit-box-flex:0;
  -ms-flex:0 0 auto;
  flex:0 0 auto;
}
.btn:hover,.btn:active,.btn:focus {
  outline: none;
}
.btn.btn-primary {
  background:#FFFFFF;
  /*border:1px solid black !important;*/
  color:black !important;
  border:3px solid black !important;
  box-shadow: 0 0 0 2px #FFFFFF, 6px 10px 0px 2px black;
}
.tilt-left {
  -webkit-transform:rotate(-0.75deg);
  transform:rotate(-0.75deg);
}
.tilt-right {
  -webkit-transform:rotate(0.75deg);
  transform:rotate(0.75deg);
}
.btn.btn-primary:hover {
  background:#de8789 !important;
  color:black !important;
  /*box-shadow: 0px 0px 0px 0px black;*/
  -webkit-animation:btn-wobble 0.35s ease-in-out;
  animation:btn-wobble 0.35s ease-in-out;
}
@-webkit-keyframes btn-wobble {
  25% { -webkit-transform:rotate(-1.5deg); transform:rotate(-1.5deg); }
  75% { -webkit-transform:rotate(1.5deg); transform:rotate(1.5deg); }
}
@keyframes btn-wobble {
  25% { -webkit-transform:rotate(-1.5deg); transform:rotate(-1.5deg); }
  75% { -webkit-transform:rotate(1.5deg); transform:rotate(1.5deg); }
}
@media (prefers-reduced-motion:reduce) {
  .btn.btn-primary:hover {
    -webkit-animation:none;
    animation:none;
  }
}
.page {
  width:100%;
  /*margin-bottom:7em;*/;
}
.ftco-animate {
  opacity:0;
  visibility:hidden;
}
.ftco-no-pt {
  /*padding-top:0 !important;*/;
}
.ftco-no-pb {
  padding-bottom:0 !important;
}
/* Blog*/
#ftco-loader {
  position:fixed;
  width:96px;
  height:96px;
  left:50%;
  top:50%;
  -webkit-transform:translate(-50%,-50%);
  -ms-transform:translate(-50%,-50%);
  transform:translate(-50%,-50%);
  background-color:rgba(255,255,255,0.9);
  -webkit-box-shadow:0px 24px 64px rgba(0,0,0,0.24);
  box-shadow:0px 24px 64px rgba(0,0,0,0.24);
  border-radius:16px;
  opacity:0;
  visibility:hidden;
  -webkit-transition:opacity .2s ease-out,visibility 0s linear .2s;
  -o-transition:opacity .2s ease-out,visibility 0s linear .2s;
  transition:opacity .2s ease-out,visibility 0s linear .2s;
  z-index:1000;
}
#ftco-loader.fullscreen {
  padding:0;
  left:0;
  top:0;
  width:100%;
  height:100%;
  -webkit-transform:none;
  -ms-transform:none;
  transform:none;
  background-color:#fff;
  border-radius:0;
  -webkit-box-shadow:none;
  box-shadow:none;
}
#ftco-loader.show {
  -webkit-transition:opacity .4s ease-out,visibility 0s linear 0s;
  -o-transition:opacity .4s ease-out,visibility 0s linear 0s;
  transition:opacity .4s ease-out,visibility 0s linear 0s;
  visibility:visible;
  opacity:1;
}
#ftco-loader .circular {
  -webkit-animation:loader-rotate 2s linear infinite;
  animation:loader-rotate 2s linear infinite;
  position:absolute;
  left:calc(50% - 24px);
  top:calc(50% - 24px);
  display:block;
  -webkit-transform:rotate(0deg);
  -ms-transform:rotate(0deg);
  transform:rotate(0deg);
}
#ftco-loader .path {
  stroke-dasharray:1,200;
  stroke-dashoffset:0;
  -webkit-animation:loader-dash 1.5s ease-in-out infinite;
  animation:loader-dash 1.5s ease-in-out infinite;
  stroke-linecap:round;
}
@-webkit-keyframes loader-rotate {
  100% {
    -webkit-transform:rotate(360deg);
    transform:rotate(360deg);
  }
}
@keyframes loader-rotate {
  100% {
    -webkit-transform:rotate(360deg);
    transform:rotate(360deg);
  }
}
@-webkit-keyframes loader-dash {
  0% {
    stroke-dasharray:1,200;
    stroke-dashoffset:0;
  }
  50% {
    stroke-dasharray:89,200;
    stroke-dashoffset:-35px;
  }
  100% {
    stroke-dasharray:89,200;
    stroke-dashoffset:-136px;
  }
}
@keyframes loader-dash {
  0% {
    stroke-dasharray:1,200;
    stroke-dashoffset:0;
  }
  50% {
    stroke-dasharray:89,200;
    stroke-dashoffset:-35px;
  }
  100% {
    stroke-dasharray:89,200;
    stroke-dashoffset:-136px;
  }
}
i {
  font-size:20px;
}
.links {
  width:95%;
  max-width:625px;
}
.avatar-frame {
  position:relative;
  display:inline-block;
  width:47.5%;
  max-width:312.5px;
  margin-bottom:1.5em;
}
.linksPP {
  width:100%;
  display:block;
  border-radius:50%;
}
.links a {
  width:100%;
}

/* ==========================================================================
   STICKER CLUSTER (moodboard-inspired)
   Decorative stars + a placeholder "open for work" badge scattered around
   the profile photo at slight angles, like stickers on a laptop lid.
   Stars cast a small drop-shadow and spin continuously while hovered.

   HOW TO CHANGE IT LATER:
   - Swap images/CATA_star_Sticker.svg for any other sticker art
   - Add more by copying a .star-N rule (set --base-rot + position) and
     adding "sticker star star-N" as the class on a new <img>
   - The badge-placeholder is plain text/CSS — replace it with an <img>
     pointing at your real "open for work" artwork whenever it's ready
   ========================================================================== */
.sticker {
  position:absolute;
  z-index:2;
  -webkit-user-select:none;
  user-select:none;
}
.star {
  pointer-events:auto;
  -webkit-transform:rotate(var(--base-rot));
  transform:rotate(var(--base-rot));
}
.star:hover {
  -webkit-animation:star-spin 2.2s linear infinite;
  animation:star-spin 2.2s linear infinite;
}
@-webkit-keyframes star-spin {
  from { -webkit-transform:rotate(var(--base-rot)); }
  to { -webkit-transform:rotate(calc(var(--base-rot) + 360deg)); }
}
@keyframes star-spin {
  from { transform:rotate(var(--base-rot)); }
  to { transform:rotate(calc(var(--base-rot) + 360deg)); }
}
@media (prefers-reduced-motion:reduce) {
  .star:hover {
    -webkit-animation:none;
    animation:none;
  }
}
.star-1 {
  --base-rot:-18deg;
  width:17%;
  top:-7%;
  left:-9%;
}
.star-2 {
  --base-rot:15deg;
  width:13%;
  top:4%;
  right:-6%;
}
.star-3 {
  --base-rot:-32deg;
  width:12%;
  bottom:-3%;
  left:-6%;
}
.badge-placeholder {
  bottom:-4%;
  right:1%;
  width:24%;
  aspect-ratio:1/1;
  border-radius:50%;
  background:#FFFFFF;
  border:3px solid black;
  -webkit-box-shadow:0 0 0 2px #FFFFFF, 4px 6px 0px 2px black;
  box-shadow:0 0 0 2px #FFFFFF, 4px 6px 0px 2px black;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  text-align:center;
  font-family:'Space Mono',monospace;
  font-weight:700;
  font-size:0.55em;
  text-transform:uppercase;
  letter-spacing:0.5px;
  line-height:1.2;
  -webkit-transform:rotate(-9deg);
  transform:rotate(-9deg);
  padding:8%;
}
.badge-placeholder:hover {
  -webkit-animation:btn-wobble 0.35s ease-in-out;
  animation:btn-wobble 0.35s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
  .badge-placeholder:hover {
    -webkit-animation:none;
    animation:none;
  }
}
@media (max-width:480px) {
  .star-1 { width:20%; }
  .star-2 { width:16%; }
  .star-3 { width:15%; }
  .badge-placeholder { width:27%; font-size:0.5em; }
}
.divider {
  display:;
  margin:0;
  color:black;
  font-weight:700;
  text-align: left;
}
.divider:before,.divider:after {
   content:"";
   flex:1;
}
.services-list {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  gap:0.6em;
  -webkit-box-pack:start;
  -ms-flex-pack:start;
  justify-content:flex-start;
  width:95%;
  max-width:625px;
  margin:0 0 0.5em;
}
.service-pill {
  background:#FFFFFF;
  border:2px solid black;
  border-radius:999px;
  padding:0.4em 1em;
  font-family:'Space Mono',monospace;
  font-weight:700;
  font-size:0.85em;
  text-transform:uppercase;
  letter-spacing:0.5px;
  box-shadow:3px 4px 0px 0px black;
}
.line {
   align-items:center;
   margin:0.5em -1em;
}
.line:before,.line:after {
   height:1px;
}
.one-line:before,.one-line:after {
   background:#DE8789;
}
/* ==========================================================================
   CUSTOM CURSORS
   - Default page cursor: Normal_Select.cur (static)
   - Links/buttons: an animated 2-frame cursor built from Link_Select_4.ani

   Real browsers (Chrome/Firefox/Safari) do NOT animate .ani or .cur files
   through plain CSS `cursor: url(...)` — you'd only ever see frame one.
   To get an actual animation, the two frames were extracted from the .ani
   and are flipped by a small script (see the bottom of index.html) that
   toggles a class on <body> every ~167ms (matching the .ani's own frame
   rate). CSS below just defines what each frame looks like; the JS just
   swaps which one is showing.

   HOW TO CHANGE IT LATER:
   - Swap the base64 strings for new cursor files (re-export each frame)
   - Change the toggle speed in the script tag at the bottom of index.html
   - Add more selectors to the "link cursor" list below if you want the
     animated cursor on more than just <a> elements
   ========================================================================== */
body {
  cursor:url("data:image/x-icon;base64,AAACAAEAICAAAAEAAgCoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAFQAAACYAAAAuAAAAJwAAABYAAAAIAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAwAAAAjAAAANwAAAD8AAAA6AAAAJgAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAcAAAAIAAAACAAAAAcAAAALAAAAHwAAADgFBQVZFxcXbgEBAVkAAABBAAAAKQAAABAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgAAAA0AAAAYAAAAIgAAACYAAAAlAAAAIwAAACYAAAA3FBQUYFpaWrh2dnbUUVFRtg4ODmgAAABBAAAAJwAAABAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAkAAAAaAAAALQAAADwAAABFAAAASAAAAEcAAABHAAAASwEBAVNmZma6p6en/cXFxf+ysrL+a2trxQ4ODmYAAAA/AAAAJwAAAA8AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAMAAAAIAAAADkAAABJAAAAWgcHB20PDw96CwsLdwEBAWwAAABcMTExh5qamvi/v7//1tbW/87Ozv/ExMT/cXFxxAsLC2QAAAA+AAAAJQAAAA4AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACQAAACEAAAA7AAAAVCgoKIVKSkq0aGhoz4KCgtqBgYHYa2tryk1NTbF7e3vdnJyc/srKyv/Pz8//19fX/9ra2v/Jycn/bGxswAkJCWAAAAA6AAAAHwAAAAoAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAbAAAANwUFBVlISEioh4eH5KysrP/IyMj/0tLS/9PT0//Pz8//ubm5/qOjo/+YmJj/ysrK/93d3f/y8vL/8fHx/+Dg4P/Hx8f/aGhovAkJCVgAAAAvAAAAEwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAEgAAAC4HBwdSW1tbsaqqqvjCwsL/zMzM/9DQ0P/V1dX/29vb/9TU1P/R0dH/xcXF/6urq/+3t7f/8/Pz////////////9fX1/+Dg4P/Hx8f/YmJiswMDA0QAAAAdAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAfAAAAPlJSUqS9vb37zs7O/9XV1f/g4OD/4eHh//Dw8P/29vb/6Ojo/9ra2v/T09P/xsbG/7e3t//5+fn/////////////////9fX1/+zs7P/Dw8P7LS0tdQAAAB8AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAACwICAiE0NDR0pqam8tvb2//l5eX/8vLy//39/f/9/f3/////////////////9vb2/+jo6P/b29v/ycnJ/+vr6////////////////////////v7+//X19f+IiIi/CgoKJAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAJDAwML4qKis/ExMT/5ubm////////////7e3t//r6+v////////////////////////////b29v/i4uL/1dXV//7+/v///////////////////////////9PT0/kmJiZFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMnJydFsLCw/tfX1//9/f3/8fHx/8DAwP/Hx8f/7e3t//////////////////////////////////v7+//i4uL/4uLi/+/v7//////////////////4+Pj/ysrK/Dc3NzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OUy+vr7/+fn5//Dw8P+rq6v/m5ub/8bGxv/u7u7///////////////////////////////////////v7+//h4eH/zc3N/9vb2///////9vb2/8XFxf6enp6kOzs7BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEJiYmQ7CwsPzOzs7/qKio/5iYmP+8vLz/29vb//r6+v////////////////////////////////////////////r6+v/c3Nz/sbGx/76+vv/ExMT/jo6OxENDQycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAABYNDQ08g4OD05KSkv+YmJj/wcHB/97e3v/29vb//////////////////f39/+Hh4f/8/Pz///////////////////////f39/+7u7v/nZ2d+3d3d5aAgIAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAWAAAAMgEBAURmZma5o6Oj/8LCwv/e3t7/9vb2/////////////v7+/9vb2/+8vLz/zc3N////////////////////////////8fHx/7e3t/6SkpKiWlpaDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAC0BAQFHNzc3iZiYmOfDw8P/3d3d//f39//////////////////g4OD/m5ub/7q6uv/z8/P//v7+/+Dg4P/+/v7////////////p6en/ra2t9lpaWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAQEBPS4uLoCgoKDoysrK/9zc3P/39/f//////////////////////+fn5//Q0ND/9vb2//n5+f/FxcX/zs7O/////////////////+vr6/+pqanjQUFBIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBASQoKChpl5eX4czMzP/d3d3/9/f3///////////////////////////////////////+/v7/0dHR/5qamv/x8fH/+Pj4/97e3v/+/v7/0NDQ/rCwsMsxMTENAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx8fNYqKis3Kysr/3t7e//f39//////////////////+/v7/1dXV/+np6f////////////7+/v/i4uL/1tbW//Dw8P+6urr/19fX//f39/+wsLD7mZmZdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPT09fvLy8/93d3f/4+Pj//////////////////v7+/9PT0/+ysrL/6+vr/////////////f39///////+/v7/ysrK/56env/5+fn/7u7u/qWlpdU8PDwRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtbW1nIyMj/+vr6//////////////////7+/v/h4eH/s7Oz/9vb2/////////////n5+f/o6Oj/+vr6//7+/v/j4+P/4ODg//7+/v/Z2dn7gICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwHbm5udb+/v7////////////+/v7/4ODg+4yMjJGTk5Oq39/f//X19f/v7+//09PT/+zs7P/////////////////+/v7/6urq/JaWlqpoaGgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4Cb29vTNHR0evq6ur/7e3t/9TU1PiPj499ZGRkCHh4eBqysrJ/sbGxuLCwsN63t7f/7Ozs/+Xl5f7ExMTn0tLS/Nzc3POlpaWoc3NzGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJSUkDn5+fU66urqarq6u3pKSkdGlpaQQAAAAAAAAAAKGhoQGNjY0jkJCQRK+vr5S8vLzDoqKiiZWVlUimpqZbvr6+U3x8fBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////wB///8Af//AAD//AAAf/gAAD/wAAAf4AAAD8AAAA/AAAAPwAAAD4AAAA+AAAAPwAAAH+AAAB+AAAA/gAAAfwAAAP8AAAH/AAAB/wAAAf8AAAP/AAAD/wAAB/8AAAf/AAAP/4GAH/8="), auto;
}
a, .btn.btn-primary {
  cursor:url("data:image/x-icon;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf39/BpmZmUuQkJBsoKCgKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+AP//7gD//4AAf/4AAD/4AAAf+AAAD/AAAAfgAAAHwAAAB8AAAAfAAAAHwAAAB+AAAA/wAAAPwAAAH8AAAD+AAAB/AAAA/wAAAP8AAAD+AAABfAAAAfwAAAP8AAAD/AAAB/wBwA/8A////gf///8P///////////////////8="), pointer;
}
/* ==========================================================================
   LAYOUT WRAP
   Holds the left side menu + the main site-panel side by side on wide
   screens. On narrow screens the side menu is hidden entirely and the
   burger button (inside .site-panel) takes over navigation instead.
   ========================================================================== */
.layout-wrap {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:horizontal;
  -webkit-box-direction:normal;
  -ms-flex-direction:row;
  flex-direction:row;
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  gap:1.5em;
  width:96%;
  max-width:1400px;
  margin:1.5em auto 3.5em;
}
@media (max-width:600px) {
  .layout-wrap {
    margin:1em auto 1.5em;
  }
}

/* ==========================================================================
   TOP BANNER
   Sits above the layout-wrap, full width of the panels together on
   desktop (matches .layout-wrap's own max-width) and of the single
   site-panel on mobile. Links back to index.html.
   ========================================================================== */
.top-banner {
  display:block;
  width:96%;
  max-width:1400px;
  margin:2.5em auto 0;
  overflow:hidden;
  border-radius:24px; /* same as your panels */
}
.top-banner img {
  display:block;
  width:100%;
  height:auto;
  max-height:240px;
  object-fit:cover;
  object-position:center;
}
/*.top-banner:hover {
  -webkit-animation:btn-wobble 0.35s ease-in-out;
  animation:btn-wobble 0.35s ease-in-out;}*/
@media (prefers-reduced-motion:reduce) {
  .top-banner:hover {
    -webkit-animation:none;
    animation:none;
  }
}
@media (max-width:600px) {
  .top-banner {
    width:94%;
    margin:1.5em auto 0;
    border-radius:16px;
    -webkit-box-shadow:0 0 0 3px #FFFFFF, 6px 6px 0px 3px black;
    box-shadow:0 0 0 3px #FFFFFF, 6px 6px 0px 3px black;
  }
}

/* ==========================================================================
   LEFT SIDE MENU (desktop)
   Same cutout-sticker look as .site-panel, just narrower, with a
   vertical stack of link buttons. Sticks in place while the main
   panel scrolls past it.
   ========================================================================== */
.side-panel {
  -webkit-box-flex:0;
  -ms-flex:0 0 320px;
  flex:0 0 320px;
  -webkit-box-ordinal-group:0;
  -ms-flex-order:-1;
  order:-1;
  -webkit-align-self:flex-start;
  -ms-flex-item-align:start;
  align-self:flex-start;
  position:-webkit-sticky;
  position:sticky;
  top:3.5em;
  background-color:#FFFFFF;
  border:3px solid black;
  border-radius:24px;
  -webkit-box-shadow:0 0 0 4px #FFFFFF, 8px 8px 0px 4px black;
  box-shadow:0 0 0 4px #FFFFFF, 8px 8px 0px 4px black;
  padding:1.75em 1.35em;
  -webkit-transform:rotate(-0.6deg);
  transform:rotate(-0.6deg);
}
.side-panel-title {
  font-family:'Bagel Fat One',sans-serif;
  font-size:1.3em;
  text-align:center;
  color:black;
  margin:0 0 0.85em;
}
.side-nav-list {
  list-style:none;
  margin:0;
  padding:0;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  gap:0.75em;
}
.side-nav-link {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  gap:0.5em;
  width:100%;
  background:#FFFFFF;
  border:3px solid black !important;
  border-radius:18px;
  padding:0.55em 0.85em;
  font-family:'Space Mono',monospace;
  font-weight:700;
  font-size:0.72em;
  text-transform:uppercase;
  letter-spacing:0.4px;
  color:black !important;
  -webkit-box-shadow:0 0 0 2px #FFFFFF, 4px 5px 0px 2px black;
  box-shadow:0 0 0 2px #FFFFFF, 4px 5px 0px 2px black;
}

/* ==========================================================================
   RIGHT SIDE PANELS (desktop)
   Same width as the left .side-panel, sitting to the right of the main
   .site-panel. This is a vertical stack so more widgets can be added
   later below the music one - each is its own .side-widget with the
   same cutout-sticker look as the rest of the site. Markup lives in
   partials/right-panel.html and is injected on every page.
   ========================================================================== */
.right-panel-stack {
  -webkit-box-flex:0;
  -ms-flex:0 0 320px;
  flex:0 0 320px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  gap:1.5em;
  -webkit-align-self:flex-start;
  -ms-flex-item-align:start;
  align-self:flex-start;
}
.side-widget {
  width:100%;
  background-color:#FFFFFF;
  border:3px solid black;
  border-radius:24px;
  -webkit-box-shadow:0 0 0 4px #FFFFFF, 8px 8px 0px 4px black;
  box-shadow:0 0 0 4px #FFFFFF, 8px 8px 0px 4px black;
  padding:1.25em 1em;
  -webkit-transform:rotate(0.6deg);
  transform:rotate(0.6deg);
}
.side-widget .side-panel-title {
  font-size:1.05em;
}
.widget-embed {
  overflow:hidden;
  border-radius:12px;
  line-height:0;
}
.widget-embed iframe {
  display:block;
  width:100%;
  border:none;
}
@media (max-width:600px) {
  .side-widget {
    border-radius:16px;
    padding:1em 0.85em;
    -webkit-box-shadow:0 0 0 3px #FFFFFF, 6px 6px 0px 3px black;
    box-shadow:0 0 0 3px #FFFFFF, 6px 6px 0px 3px black;
  }
  .right-panel-stack {
    width:94%;
    margin-top:1em;
    gap:1em;
  }
}

/* ==========================================================================
   GUESTBOOK PAGE
   Header row holds the section title + a back-to-home button; the iframe
   below it embeds the atabook.org guestbook.
   ========================================================================== */
.guestbook-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0.75em;
  flex-wrap:wrap;
  margin-bottom:1em;
}
.guestbook-header .btn {
  font-family:'Space Mono',monospace;
  width:auto;
}
.guestbook-frame {
  display:block;
  width:100%;
  min-height:700px;
  border:1px solid black;
  border-radius:18px;
  /*-webkit-box-shadow:0 0 0 2px #FFFFFF, 6px 10px 0px 2px black;
  box-shadow:0 0 0 2px #FFFFFF, 6px 10px 0px 2px black;*/
  background:#FFFFFF;
}
@media (max-width:600px) {
  .guestbook-frame {
    min-height:520px;
    border-radius:14px;
  }
}

.side-nav-link:hover {
  background:#de8789;
  color:black !important;
  text-decoration:none;
  -webkit-animation:btn-wobble 0.35s ease-in-out;
  animation:btn-wobble 0.35s ease-in-out;
}
body.page-guestbook .guestbook-link {
  background:#de8789;
}
@media (prefers-reduced-motion:reduce) {
  .side-nav-link:hover {
    -webkit-animation:none;
    animation:none;
  }
}

/* ==========================================================================
   MOBILE MENU BUTTON + DROPDOWN
   Hidden on wide screens (the side panel above is used instead).
   The burger sits in the top-left corner of the main panel; clicking
   it drops down a small menu with the same links.
   ========================================================================== */
.menu-toggle {
  display:none;
  position:absolute;
  top:1.1em;
  left:1.1em;
  z-index:20;
  width:40px;
  height:40px;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -ms-flex-direction:column;
  flex-direction:column;
  gap:5px;
  background:#FFFFFF;
  border:3px solid black;
  border-radius:12px;
  -webkit-box-shadow:0 0 0 2px #FFFFFF, 3px 4px 0px 2px black;
  box-shadow:0 0 0 2px #FFFFFF, 3px 4px 0px 2px black;
  padding:0;
  cursor:pointer;
  -webkit-transform:rotate(-1.5deg);
  transform:rotate(-1.5deg);
}
.menu-toggle-bar {
  display:block;
  width:18px;
  height:3px;
  background:black;
  border-radius:2px;
  -webkit-transition:.25s all ease;
  -o-transition:.25s all ease;
  transition:.25s all ease;
}
.menu-toggle.is-open .menu-toggle-bar:nth-child(1) {
  -webkit-transform:translateY(8px) rotate(45deg);
  transform:translateY(8px) rotate(45deg);
}
.menu-toggle.is-open .menu-toggle-bar:nth-child(2) {
  opacity:0;
}
.menu-toggle.is-open .menu-toggle-bar:nth-child(3) {
  -webkit-transform:translateY(-8px) rotate(-45deg);
  transform:translateY(-8px) rotate(-45deg);
}
.mobile-menu {
  position:absolute;
  top:4.1em;
  left:1.1em;
  z-index:19;
  width:min(230px, calc(100% - 2.2em));
  background:#FFFFFF;
  border:3px solid black;
  border-radius:16px;
  -webkit-box-shadow:0 0 0 3px #FFFFFF, 5px 5px 0px 3px black;
  box-shadow:0 0 0 3px #FFFFFF, 5px 5px 0px 3px black;
  padding:1em;
  opacity:0;
  visibility:hidden;
  -webkit-transform:translateY(-8px);
  -ms-transform:translateY(-8px);
  transform:translateY(-8px);
  pointer-events:none;
  -webkit-transition:.2s all ease;
  -o-transition:.2s all ease;
  transition:.2s all ease;
}
.mobile-menu.open {
  opacity:1;
  visibility:visible;
  -webkit-transform:translateY(0);
  -ms-transform:translateY(0);
  transform:translateY(0);
  pointer-events:auto;
}
.mobile-menu .side-nav-list {
  gap:0.55em;
}
.mobile-menu .side-nav-link {
  font-size:0.68em;
  padding:0.5em 0.75em;
}

@media (max-width:900px) {
  .side-panel {
    display:none;
  }
  .menu-toggle {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
  }
  .site-panel {
    padding-top:4.5em;
  }
  /* Right panels drop below the main panel instead of beside it */
  .layout-wrap {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
  }
  .right-panel-stack {
    -webkit-box-flex:0;
    -ms-flex:0 0 auto;
    flex:0 0 auto;
    width:92%;
    max-width:700px;
    margin:1.5em auto 0;
  }
}

body.cursor-frame-b a, body.cursor-frame-b .btn.btn-primary {
  cursor:url("data:image/x-icon;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////AH///wB//8AAP/8AAB/+AAAP/AAAB/gAAAPwAAAD8AAAA/AAAAPgAAAD4AAAA/AAAAf4AAAH4AAAD+AAAB/AAAA/wAAAf8AAAH/AAAB/wAAA/8AAAP/AAAH/wAAB/8AAA//gYAf//////////////////////8="), pointer;
}

.TrackWidget_widgetContainer__gADzr {
  max-width:10px;
}