@font-face {
  font-family: "Red Hat Display";
  src:
    url("../fonts/redhatdisplay-regular.woff2") format("woff2"),
    url("../fonts/redhatdisplay-regular.woff") format("woff");
  font-display: swap;
  font-weight: 400;
}

@font-face {
  font-family: "Abordage";
  src:
    url("../fonts/abordage-regular.woff2") format("woff2"),
    url("../fonts/abordage-regular.woff") format("woff");
  font-display: swap;
}

:root {
  --color-fg: #eee;
  --color-bg: #470038;
  --color-body-bg: #39002d; /*rgba(0, 0, 0, 0.2);*/
  --color-secondary: #d1006a;
  --color-selection: var(--color-fg);
  --color-selection-bg: #000;
  --color-socials: #fff;
  --color-blockquote-bg: rgba(0, 0, 0, 0.4);
  --color-homealert-bg: #2d0126;
  --color-redacted: #000;
  --font: 1.15em/1.7 var(--font-family);
  --font-family: "Red Hat Display", Helvetica, Arial, sans-serif;
  --font-family-titles: "Abordage", "Times New Roman", Times, serif;
  --font-family-fullname: "Testimonia", "Abordage", sans-serif;
  --titles-line-height: 1;
  --titles-letter-spacing: 0;
  scrollbar-color: var(--color-fg) var(--color-bg);
  scrollbar-width: thin;
  scroll-behavior: smooth;
  color-scheme: dark;
}

html {
  min-height: 100vh;
  width: 100vw;
  color: var(--color-fg);
  font: var(--font);
  overflow-x: hidden;
  background: var(--color-bg);
  letter-spacing: .3px;
}

.page {
  background-color: var(--color-body-bg);
  border: 1px solid var(--color-secondary);
  box-shadow: 4px 6px 4px rgba(0, 0, 0, 0.5);
  max-width: 750px;
  margin: 20px auto;
  padding: 1em;
  border-radius: 20px;
}

@media (max-width: 850px) {
  html {
    background-color: var(--color-body-bg);
  }
  body {
    margin: 0;
  }
  .page {
    border-radius: 0;
    box-shadow: none;
    border: none;
    margin: 0 auto;
    min-height: 100vh;
    background: transparent;
  }
}

.skiplink {
  position: absolute;
  transform: translate3d(0, -1000%, 0);
  color: #fff;
  background: #000;
  font-weight: bold;
  height: 20px;
  padding: 10px;
}

.skiplink:focus {
  transform: translate3d(0, 0, 0);
  z-index: 999;
}

h1, h2, h3, h4, h5 {
  font-family: var(--font-family-titles);
  line-height: var(--titles-line-height);
  letter-spacing: var(--titles-letter-spacing);
  font-weight: normal;
}

a, a:visited, a:active {
  color: var(--color-fg);
  text-decoration: underline;
  transition: .3s;
}

a:hover {
  color: var(--color-selection);
  background: var(--color-selection-bg);
  text-decoration: none;
  transition: .3s;
}

a.titlelink, a.titlelink:visited, a.titlelink:active {
  text-decoration: none;
}

a.titlelink:hover {
  text-decoration: underline;
}

ul.numbers {
  list-style-type: decimal;
}

iframe {
  width: 100%;
  height: auto;
}

hr {
  margin: 20px 0px;
  opacity: 60%;
}

ul {
  list-style-type: disc;
}

.center {
  text-align: center;
}

.note {
  font-size: 80%;
  opacity: 80%;
}

.button {
  background: transparent;
  border: 2px solid var(--color-secondary);
  padding: 10px 24px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 80%;
  border-radius: 30px;
  margin: 3px 0;
  transition: .3s;
}

.button:hover {
  background-color: var(--color-secondary);
  transition: .3s;
}

::selection {
  color: var(--color-selection);
  background: var(--color-selection-bg);
}

img, br, hr, .redacted {
  -webkit-user-select: none;
  user-select: none;
}

cite {
  font-style: normal;
}

.spin {
  animation: spin 7s linear infinite;
}

blockquote {
  background: var(--color-blockquote-bg);
  border-radius: 20px;
  font-size: 90%;
}

blockquote pre {
  padding: 20px;
}

.smolnote {
  opacity: 60%;
  font-size: 75%;
}

.block {
  display: block;
}

.downloadhash {
  opacity: 70%;
  font-size: 70%;
  word-wrap: break-word;
}

.redacted {
  color: var(--color-redacted);
  word-wrap: break-word;
}

.text-blur {
  filter: blur(15px);
  transition: .3s;
}

.text-blur:hover {
  filter: unset;
  transition: .3s;
}

video {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* emojis */

img.emoji {
  margin: 0 2px;
  padding: 0;
  display: inline-block;
  height: 20px;
  width: 20px;
  transition: .2s;
}

img.emoji:hover {
  transform: scale3d(3, 3, 3);
  filter: drop-shadow(0 0 3px #202020);
  transition: .2s;
}

/* blog styles */

.blog-img {
  border-radius: 25px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 8px auto;
}

.ikudaweekly-wrapper {
  text-align: center;
}

.ikudaweekly {
  max-width: 100%;
  width: 300px;
  height: auto;
}

/* newsroom */

.newsroom-posts {
  padding: 0;
  list-style-type: none;
}

.newsroom-posts li {
  display: block;
  list-style-type: none;
  overflow: hidden;
  padding: 10px;
  border-radius: 25px;
}

.newsroom-posts li .date {
  float: right;
  font-size: 85%;
  opacity: 65%;
}

.updatedate {
  margin-top: 8px;
}

/* home alerts */

.home-alert {
  background: var(--color-homealert-bg) url("../img/ikuda!signature_tiny.svg");
  text-align: center;
  padding: 5px;
  font-size: 90%;
}

.home-alert h2,
.home-alert h3 {
  padding: 5px;
}

/* alerts */

.alert-banner {
  text-shadow: 1px 1px #00040a;
  text-align: center;
  border-radius: 30px;
  margin-bottom: 5px;
}

.red-alert {
  border: 2px solid rgba(255, 0, 0, 0.7);
  background-color: rgba(255, 0, 0, 0.15);
  box-shadow: 0px 0px 2px #f00;
}

.blue-alert {
  border: 2px solid rgba(0, 0, 255, 0.7);
  background-color: rgba(0, 0, 255, 0.15);
  box-shadow: 0px 0px 2px #00f;
}

.pink-alert {
  border: 2px solid rgba(255, 0, 255, 0.7);
  background-color: rgba(255, 0, 225, 0.2);
  box-shadow: 0px 0px 2px #f0f;
}

.alert-banner p {
  margin: 0;
  padding: 5px;
}

.trans-rights {
  background: linear-gradient(to right, #00d2ff 20%, #ffa6b9 0 40%, #ffffff 0 60%, #ffa6b9 0 80%, #00d2ff 0);
  box-shadow: 0px 0px 2px #ffa6b9;
  overflow: hidden;
}

.trans-rights p {
  -webkit-backdrop-filter: brightness(0.3);
  backdrop-filter: brightness(0.3);
}

/* home styles */

html#home header {
  display: flex;
  background: var(--color-header-bg);
  justify-content: center;
  align-items: center;
  text-align: center;
  overflow: hidden;
  position: relative;
  flex-direction: column;
}

html#home header .headerbg {
  height: 100vh;
  width: 100vw;
  background-image: url("../img/header.webp");
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(.7em);
  transform: scale3d(1.05, 1.05, 1.05);
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
  overflow: hidden;
}

html#home header #moons-outer {
  padding: 15px;
  width: fit-content;
  height: fit-content;
  position: absolute;
}

html#home header #moons { 
  width: 100%;
  height: auto;
  max-width: 400px;
  pointer-events: none;
}

html#home #thingies {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  margin-top: 10px;
}

html#home .thingies {
  list-style-type: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  max-width: 540px;
  gap: 10px;
}

html#home .thingies li {
  margin: 0;
}

html#home .arrow {
  width: 60px;
  height: 60px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM2MCAzNjAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIAoJZD0iCk0yMjUuMTgzMDQ0LDE3MC4zMTM1OTkgCglDMjM0Ljc1OTk3OSwxNjIuMDE2MDM3IDI0NC4xMzYyNjEsMTU0LjAzNjMwMSAyNTMuNDEwMDgwLDE0NS45MzkyNTUgCglDMjYwLjIzNDY1MCwxMzkuOTgwNjgyIDI2Ni45ODM0OTAsMTMzLjkzMjA4MyAyNzMuNjU5MDU4LDEyNy44MDY5NjkgCglDMjgwLjE3ODk1NSwxMjEuODI0Njc3IDI5MC40NTUxNzAsMTIxLjE5MzI4MyAyOTYuMjA4MjUyLDEyNi43MzA4MTIgCglDMzA0LjMwNzg2MSwxMzQuNTI2OTAxIDMwMi43ODUyNDgsMTQ0Ljk0NTAyMyAyOTQuODc4NjYyLDE1MS42MTAwOTIgCglDMjg2LjI1OTE4NiwxNTguODc2MDY4IDI3Ny42NjI2MjgsMTY2LjE2OTE4OSAyNjkuMDUxMjA4LDE3My40NDQ2ODcgCglDMjU4LjQ0NTAzOCwxODIuNDA1NDU3IDI0Ny43NTkxMjUsMTkxLjI3MzcxMiAyMzcuMjQ3MzMwLDIwMC4zNDM3OTYgCglDMjI4LjE0MjgzOCwyMDguMTk5NTg1IDIxOS4zNjUwOTcsMjE2LjQzNjgyOSAyMTAuMTkyOTkzLDIyNC4yMTA1ODcgCglDMjAzLjY5MjM2OCwyMjkuNzIwMTg0IDE5Ny40MDc1MDEsMjM1LjY5MzU4OCAxODguODEzOTM0LDIzOC4wNzI0OTUgCglDMTc5LjAwOTg1NywyNDAuNzg2NTE0IDE2OS44MjczMTYsMjM4LjgyNDU3MCAxNjIuMjg5OTAyLDIzMi41ODQxOTggCglDMTQ0LjgyNzkxMSwyMTguMTI3MTIxIDEyNy45NDI5NDcsMjAyLjk3NTUxMCAxMTAuNzAzMDU2LDE4OC4yNDcwODYgCglDOTYuMTE0NDEwLDE3NS43ODM2NjEgODEuMzg2ODcxLDE2My40ODE5NjQgNjYuNjU4ODkwLDE1MS4xODI4MzEgCglDNTkuNzY1MDUzLDE0NS40MjU4NTggNTguNTA1OTI0LDEzMy43NDAwMzYgNjQuMjYwNDM3LDEyNy4zNzc3NTQgCglDNjkuNTM3NDUzLDEyMS41NDM0MDQgODEuMjA4MzM2LDEyMS41MTExNjIgODcuODE3NzI2LDEyNy4zMDc2NzggCglDMTAxLjM1NzI2OSwxMzkuMTgyMDIyIDExNC43ODg2NzMsMTUxLjE4Mjc1NSAxMjguNDY4NzY1LDE2Mi44OTI5NzUgCglDMTQ0LjY1NzgyMiwxNzYuNzUwODU0IDE2MS4yNjk2MzgsMTkwLjEyMzEyMyAxNzcuMjEyMzg3LDIwNC4yNTM5OTggCglDMTgwLjczOTMwNCwyMDcuMzgwMDk2IDE4MS4zNDA5ODgsMjA3LjQxMzA1NSAxODQuODExNjMwLDIwNC4yNDMzMzIgCglDMTk3LjExNzA5NiwxOTMuMDA0NzkxIDIxMC4wNzgyMzIsMTgyLjQ4MzczNCAyMjIuODEzMDM0LDE3MS43MTY5NjUgCglDMjIzLjQxMjg3MiwxNzEuMjA5ODU0IDIyNC4yMjUxMjgsMTcwLjk1Mzk5NSAyMjUuMTgzMDQ0LDE3MC4zMTM1OTkgCnoiLz4KPC9zdmc+");
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  opacity: 40%;
  pointer-events: none;
}

html#home .pronouns {
  font-size: 75%;
  opacity: 75%;
}

html#home .home-stuff {
  background: var(--color-body-bg);
  width: 100vw;
  overflow-x: hidden;
}

html#home footer {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1em;
}

html#home webrings-wrapper {
  display: block;
  margin: 0 auto;
}

html#home cool-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column;
}

html#home cool-buttons a:hover {
  background: transparent;
}

html#home rating-badge-wrapper {
  margin-bottom: 10px;
}

html#home buttons-prompt-bg {
  max-height: 154px;
  max-width: 100%;
  width: 100%;
  height: auto;
  border-radius: 20px;
}

html#home buttons-prompt {
  background-color: var(--color-blockquote-bg);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  height: 154px;
  max-height: 154px;
  border-radius: 20px;
}

html#home buttons-prompt a {
  cursor: pointer;
}

html#home buttons-prompt .button:hover {
  background-color: var(--color-secondary);
}

html#home its-late-and-im-eepy img {
  width: 88px;
  height: 31px;
}

html#home cool-buttons a {
  text-decoration: none;
}

html#home its-late-and-im-eepy {
  text-align: center;
}

html#home .socials * {
  margin: 0;
  padding: 0;
  -webkit-user-select: none;
  user-select: none;
}

html#home .socials {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  position: absolute;
  padding: 20px;
  z-index: 1;
  float: right;
  top: 0;
  right: 0;
}

@media (max-width: 360px) {
  html#home .socials {
    right: unset;
  }
}

html#home .socials ul li a {
  opacity: 50%;
  color: var(--color-socials);
  background: none;
  padding: 0;
  transition: .3s;
}

html#home .socials ul li a:hover {
  opacity: 90%;
  transition: .3s;
}

html#home .socials ul {
  flex-wrap: wrap;
  display: flex;
  gap: 15px;
  align-items: center;
}

html#home .socials ul li {
  list-style: none;
}

/* about page */

html#aboutpage .headerthingy {
  display: flex;
  gap: 0px 16px;
  align-items: center;
  justify-content: center;
}

html#aboutpage #main-pronouns {
  opacity: 70%;
  font-size: 90%;
  margin: 0;
}

html#aboutpage #me {
  width: 100px;
  height: 100px;
  border-radius: 100%;
}

html#aboutpage #identities {
  display: flex;
  flex-wrap: wrap;
  margin: 1em 0;
  align-items: center;
  justify-content: center;
}

html#aboutpage .identity {
  display: flex;
  align-items: center;
  margin-inline: 10px;
  gap: 6px;
}

html#aboutpage .prideflag {
  width: 30px;
  height: auto;
  border-radius: 5px;
  transition: .3s;
}

html#aboutpage .prideflag:hover {
  transform: scale3d(3, 3, 3);
  transition: .3s;
}

html#aboutpage .iname {
  margin: 0;
  padding: 0;
}

html#aboutpage .info {
  display: flex;
  flex-direction: column;
}

html#aboutpage #fullname {
  font-family: var(--font-family-fullname);
  font-size: 42px;
  margin: 0 0 -15px 0;
}

/* SOTM */

.sotm-link {
  display: inline;
  margin-left: 3px;
  opacity: 85%;
}

.sotm-link:hover {
  background: none;
  opacity: 30%;
}

.sotm-link img {
  width: 24px;
  height: 24px;
}

.smolnote .sotm-link img {
  width: 20px;
  height: 20px;
}

.sotm-month, .sotm-abbr {
  font-family: var(--font-family-titles);
}

/* TGW */

html#tgwpage .tgw-widgets {
  background-color: #b7006f;
  padding: 10px 0;
  border-radius: 20px;
  gap: 20px;
}

html#tgwpage .tgw-widgets,
html#tgwpage .tgw-widgets > div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

html#tgwpage .members {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

html#tgwpage .member {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px;
  backdrop-filter: brightness(.7);
  border-radius: 30px;
  margin-bottom: 10px;
}

html#tgwpage .member .pic-name {
  display: flex;
  align-items: center;
  gap: 10px;
}

html#tgwpage .member .pic-name img {
  width: 88px;
  height: 31px;
}

html#tgwpage .member .name {
  font-weight: bold;
}

html#tgwpage .member .webname {
  font-style: italic;
}

html#tgwpage .member p {
  margin: 0;
  padding: 0;
}

/* keyframes */

@keyframes spin {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(-360deg);
  }
}