@font-face {
    font-family: OverpassNerd;
    src: url("/style/fonts/overpass/OverpassNerdFont-Regular.otf") format("opentype");
}
:root {
  --main-bg-color: #111317;
  --main-fg-color: #d7afaf;
  --theme-white: #e4e4e4;
  --secondary-bg-color: color-mix(in srgb, var(--main-bg-color) 35%, var(--main-fg-color) 65%);
}

body {
  background-color: var(--main-bg-color);
  padding: 0 5vw;
  & > hr {
    margin: 2vh 0;
  }
}
.pagelayout{
  display: flex;
  justify-content: center;
  flex-wrap: wrap-reverse;
  margin: 0 2vw;
}
.sidebar {
  max-width: 400px;
  flex-grow: 1;
  &>div {
    background: rgba(from var(--secondary-bg-color) r g b / 0.2);
    padding: 10px 20px;
    margin: 10px 0px;
    border-radius: 8px;
  }
  height: fit-content;
  width: fit-content;
  margin: 0 1vw auto;
}
.pagecontent {
  min-width: 50%;
  flex: 1 1 0;
  margin: 0 1vw;
  &.exclusive {
    max-width: 60vmax;
  }
}
.sidebar-image {
  width: 75%;
  margin: 1vmax auto;
  display: block;
  border-radius: 8px;
}
.webrings{
  height: 110px;
  width: 100%;
  margin: auto;
  overflow: auto;
}
.sidebar-webring {
  width: 60%;
  aspect-ratio: 88 / 31;
  background-color: rgba(from var(--secondary-bg-color) r g b / 0.1);
  align-content: center;
  margin: 1vmin auto;
  display: block;
  border-radius: 4px;
  text-align: center;
  & > p {
    margin: 0px;    
    text-decoration: none;
  }
}
.sidebar-caption {
  text-align: center;
}
#random-buttons > img {
  width: 25%;
  margin: 1vmax auto;
  display: block;
  border-radius: 4px;
  text-align: center;
}
p.sidebar-caption,h3.sidebar-caption {
  margin: 1vmax auto;
}
h1,h2,h3,p,a,hr {
  color: var(--main-fg-color);
}
h1,h2,h3,p,a{
  font-family: 'OverpassNerd', sans-serif;
  font-weight: 300;
  margin-bottom: 0;
}
h1 {
  font-size: 3em;
  text-align: center;
}
h2 {
  font-size: 1.75em;
  text-align: center;
  margin-top: 0.15em;
}
h3 {
  &.pronouns {
    text-align: center;
    margin-top: 0;
  }
  &.timestamp {
    color: color-mix(in srgb, var(--main-fg-color) 50%, var(--main-bg-color) 50%);
    margin-top: 0;
    font-style: italic;
    font-size: 1em;
  }
}
p {
  font-size: 1.05em;
}
.button {
  margin: 1vh 1vw;
  transition: 0.5s;
  background-color: rgba(from var(--secondary-bg-color) r g b / 0.2);
  display:block;
  & > p {
    margin: 1vh 0vw;
  }
  &:hover{
    box-shadow: 0px 0px 20px rgba(from var(--main-bg-color) r g b / 1);
    transition: 0.25s;
  }
}
.flexrow,.wrapgroup{
  display:flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
}
.flexrow {
  margin: 1vh auto;
  &>.bubble {
    width: auto;
    margin-top: 0;
    flex-basis: min-content;
    flex-grow: 1;
    flex-direction: row;
    flex-basis: 50px;
    gap: 1vh;
    min-width: 25vh;
  }
  &:has(.bubble) {
    justify-content: space-between;
    margin-top: 0;
    gap: 1vmax;
  }
}
.wrapgroup {
  flex-wrap: nowrap;
  flex: 0 1 0px;
}
.footer {
  .wrapgroup > .flexobject > a {
    min-width: 35px;
  }
}
.hiddentext {
  color: var(--main-bg-color);
  font-size: 0.5em;
}
#footer {
  margin-bottom: 1vw;
  & > p {
    text-align: center;
  }
}
.flexobject,.flexobject > a {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pinkborder {
  border-style: solid;
  border-color: var(--main-fg-color);
  border-width: 0px;
  border-radius: 8px;
}
.bubble>*:first-child {
  margin-top: 0;
}
.bubble {
  background-color: rgba(from var(--secondary-bg-color) r g b / 0.1);
  border-radius: 8px;  
  padding: 1vmax 2vmax;
  margin: 1vmax 0;
  & > p {
/*    margin-left: 5vmin;
    margin-right: 5vmin;*/
    &:only-child {
      margin: 1vw auto;
      text-align: center;
    }
  }
  &:target {
    box-shadow: #d7afaf 0px 0px 10px 1px;
  }
}
.sociallist {
  text-decoration: none;
}
.sociallist > div {
  width: fit-content;
  @media screen and (orientation:landscape) {
    min-width: 300px;
    margin: 2vmax auto;
  }
  @media screen and (orientation:portrait) {
    min-width: 80%;
    margin: 2vmax auto;
  }
  img,h2 {
    padding: 0 1vmax;
  }
  img {
    width: 4em;
  }
  h2 {
    margin: auto;
  }
}
.unhider:hover {
  &::before {
    content: "beautiful and talented ";
  }
}
.flexobject {
  & > a {
    min-width: 75px;
    text-decoration: none;
    padding: 1.5vh;
    & > p {
      font-size: 1em;
      margin-bottom: 0px;
    }
  }
}
@font-face {
  font-family: 'Overpass';
  font-style: normal;
  font-weight: 400;
  src: url(/style/fonts/overpass/OverpassNerdFont-Regular.otf) format('opentype');
  /*unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;*/
}

/*@font-face {
  font-family: 'Overpass';
  font-style: normal;
  font-weight: 400;
  src: url(/style/fonts/overpass/latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}*/


/*LISTENBRAINZ NOWPLAYING*/
a.now-playing {
  text-decoration: none;
}
.now-playing .np-metadata > span {
  display: block;
  font-size: 14px;
  line-height: 180%;
}
.now-playing .np-metadata {
  margin: auto 1vw auto;
  height: fit-content;
  transition: opacity 0.4s ease-out;
  transition-delay: 0.5s;
}
.now-playing.loaded .np-metadata,.now-playing.loaded img {
  opacity: 1;
}
.np-title {
  font-weight: bold;
}
.now-playing img {
  border-radius: 8px;
  color: transparent;
  background-color: rgba(from var(--secondary-bg-color) r g b / 0.1);
  font-size: 0px;
  aspect-ratio: 1;
  width: 25%;
}
#np-heading, #np-timestamp {
  font-size: 11px;
  font-weight: 900;
  opacity: 0.5;
  text-transform: uppercase;
  letter-spacing: 0.11em;
}
.now-playing .np-metadata .breather {
  margin-right: 4px;
  display: inline-block;
  animation: pulsate 5s linear 0s infinite;
}
@keyframes pulsate {
  0% { transform: scale(0.1, 0.1); opacity: 0.0; }
  50% { transform: scale(1, 1); opacity: 1; }
  80% { transform: scale(1.5, 1.5); opacity: 0.2; }
  90% { transform: scale(2, 2); opacity: 0; }
  100% { transform: scale(2, 2); opacity: 0; }
}

/*EMFED*/
.toots {
  max-width: 400px;
  max-height: 300px;
  overflow: scroll;
  list-style: none;
  padding: 0;
  margin: 0;
  animation: show 600ms 100ms cubic-bezier(0.38, 0.97, 0.56, 0.76) both;
  height: 0;
  transform: rotateX(-90deg);
  transform-origin: top center;
}
.toot {
  padding: 1rem;
  &:not(:last-child) {
    border-bottom: 2px dotted var(--main-fg-color);
  }
}
@keyframes show {
  100% {
    height: auto;
    transform: none;
  }
}
.toot .user {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-evenly;
  align-content: flex-start;
  height: 46px;
  column-gap: 0.5rem;

  text-decoration: none;
}
.toot .avatar {
  border-radius: 4px;
}
.toot .display-name {
  font-weight: bold;
  display: block;
}
.toot .user:hover .display-name {
  text-decoration: underline;
}
.toot .username {
  display: block;
  margin-right: 1em;
  color: rgba(from var(--theme-white) r g b / 0.5);
}
.toot .boost {
  height: 23px;
  margin-bottom: 0.25rem;
  column-gap: 0.25rem;
}
.toot .boost:before {
  content: "♺";
  font-size: 140%;
}
.toot .boost .username {
  display: none;
}
.toot .permalink {
  text-decoration: none;
  display: block;
  color: rgba(from var(--theme-white) r g b / 0.5);
  float: right;
}
.toot .permalink:hover {
  text-decoration: underline;
}
.toot .body {
  clear: both;
  margin-top: 1em;
}
.toot .body a {
  overflow-wrap: anywhere;
}
.toot .body .invisible {
  display: inline-block;
  font-size: 0;
  line-height: 0;
  width: 0;
  height: 0;
  position: absolute;
}
.toot .body .ellipsis::after {
  content: "…";
}
.toot .attachment {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 4px;
}
.toot .attachment img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.toot time {
  display: none;
}
