@import url("https://fonts.googleapis.com/css?family=Poppins&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Monofett&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Paytone+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Rampart+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Nova+Mono&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Rammetto+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Righteous&display=swap");
:root {
  --font-family-sans: "Poppins", "Paytone One", "Rampart One", "Nova Mono", "Rammetto One", "Righteous", "Monofett", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --line-height-headers: 1.1;
  --line-height-body: 1.5;
  --font-size-xxs: 0.6rem;
  --font-size-xs: 0.75rem;
  --font-size-s: 0.875rem;
  --font-size-m: 1rem;
  --font-size-l: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-xxl: 1.5rem;
  --font-size-xxxl: 2rem;
  --font-size-xxxxl: 2.5rem;
  --font-size-xxxxxl: 3rem;
  --color-text-header: hsl(0, 1%, 16%);
  --color-text-body: hsl(0, 5%, 25%);
  --color-text-white: hsl(0, 0%, 100%);
  --color-text-muted: hsl(0, 1%, 44%);
  --space-xxxs: 0.25rem;
  --space-xxs: 0.375rem;
  --space-xs: 0.5rem;
  --space-s: 0.75rem;
  --space-m: 1rem;
  --space-l: 1.5rem;
  --space-xl: 2rem;
  --space-xxl: 2.5rem;
  --space-xxxl: 3rem;
  --space-xxxxl: 4rem;
  --space-xxxxxl: 5rem;
  --color-primary: rgb(213, 42, 71);
  --color-primary-rotate: rgb(223, 81, 52);
  --color-secondary: rgb(247, 238, 199);
  --color-secondary-rotate: hsl(120, 45%, 56%);
  --color-tertiary: hsl(217, 22%, 12%);
  --color-alert: #F04037;
  --color-confirm: #2ba54a;
  --color-white: hsl(0, 0%, 100%);
  --color-background: hsl(30, 50%, 98%);
  --color-light: rgba(194, 194, 194, 0.308);
  --color-dark: var(--color-text-header);
  --border-radius: 0.375rem;
  --border-radius-round: 50%;
  --border: solid 1px var(--color-dark);
  --border-light: solid 1px var(--color-light);
  --shadow-large: 2px 4px 5px hsla(0, 0%, 0%, 0.685);
  --shadow-small: 1px 3px 6px hsl(0 0% 0% / 0.1);
  --shadow-btn: 5px 5px 5px hsla(0, 100%, 1%, 0.329);
  --shadow-card: 8px 8px 5px hsl(0, 0%, 0%);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  overflow-y: scroll;
  height: 100%;
}

body {
  background-color: var(--color-background);
  color: var(--color-text-body);
  line-height: var(--line-height-body);
  font-family: var(--font-family-sans);
}

img,
picture,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-text-header);
  line-height: var(--line-height-headers);
}

h1 {
  padding-top: var(--space-l);
  font-size: var(--font-size-xxxl);
}

h2 {
  font-size: var(--font-size-xxl);
}

h3 {
  font-size: var(--font-size-xl);
}

h4 {
  font-size: var(--font-size-l);
}

a {
  color: var(--color-primary-rotate);
  text-decoration: none;
  transition: color 200ms;
}
a:hover, a:focus, a:active {
  color: var(--color-primary);
  filter: brightness(0.9);
}

hr {
  height: 3px;
  border: none;
  background-color: rgb(202, 202, 202);
  margin-top: var(--space-xxs);
  margin-bottom: var(--space-xxs);
}

body {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

header {
  width: 100%;
  background-color: hsl(217, 22%, 12%);
  margin: 0 auto;
}

.content {
  max-width: 1100px;
  width: 100%;
  display: grid;
  grid-template-columns: 70% auto;
  padding: var(--space-l);
  gap: var(--space-l);
  flex-grow: 1;
}

footer {
  width: 100%;
  height: 200px;
  background-color: var(--color-tertiary);
  margin: 0 auto;
  padding: var(--space-l);
  color: white;
  display: flex;
  justify-content: space-between;
}

/* Media Query for small screens */
@media (max-width: 768px) {
  .content {
    grid-template-columns: 100%;
  }
}
@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.1);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes yScale {
  from {
    opacity: 0;
    transform: scale(0.5) translateY(100px); /* Start below (move from down to up) */
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0px); /* End at normal position */
  }
}
/* Keyframes for the animated glowing effect */
@keyframes glow {
  0% {
    box-shadow: 0 0 10px 5px rgba(255, 215, 0, 0.1); /* Light glow at start */
  }
  50% {
    box-shadow: 0 0 100px 5px rgb(255, 215, 0); /* Stronger glow in the middle */
  }
  100% {
    box-shadow: 0 0 10px 5px rgba(255, 215, 0, 0.1); /* Light glow at the end */
  }
}
.content-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
  height: 100%;
}
.content-main .content-main-banner {
  border: var(--border-light);
  background-color: var(--color-white);
  padding: var(--space-m);
  border-radius: var(--border-radius);
}
.content-main .content-main-container {
  border: var(--border-light);
  background-color: var(--color-white);
  padding: var(--space-l);
  height: 100%;
  border-radius: var(--border-radius);
}

.content-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}

/* Media Query for small screens */
header .header-container {
  display: flex;
  justify-content: start;
  align-items: center;
  padding-left: var(--space-m);
  padding-right: var(--space-m);
  height: 65px;
  max-width: 1100px;
  margin: 0 auto;
  gap: 30px;
  position: relative;
}
header .header-container .logo {
  color: var(--color-text-white);
}
header .header-container .logins {
  display: inline-flex;
  margin-left: auto;
  gap: var(--space-m);
}
header .header-container .logins .btn {
  vertical-align: middle;
}
header .header-container a {
  color: white;
  font-size: var(--font-size-m);
}
header .header-container a:hover {
  color: var(--color-primary-rotate);
}

nav {
  display: flex;
  align-items: center;
  gap: var(--space-l);
  z-index: 2;
  position: relative;
}

.create-button-container {
  position: relative;
  z-index: 2;
}

/* Hamburger icon - hidden by default */
.hamburger {
  display: none;
  cursor: pointer;
}

/* Media Query for small screens */
@media (max-width: 768px) {
  /* Hide the navigation links on small screens */
  nav {
    position: absolute;
    top: 60px;
    left: -20px;
    gap: 0px;
    display: none;
    flex-direction: column;
    align-items: start;
    width: 110%;
    background-color: hsl(217, 22%, 12%);
    color: var(--color-primary-rotate);
    padding: 20px;
    box-shadow: var(--shadow-btn);
  }
  nav a {
    color: white;
    font-weight: bold;
    font-size: var(--font-size-s);
    padding: 20px;
  }
  nav a:hover {
    color: var(--color-primary-rotate);
    background-color: white;
    width: 100%;
    padding: 20px;
  }
  .create-button-container {
    position: relative;
    margin-left: auto;
    z-index: 2;
  }
  .create-button-container .btn.btn-create-post {
    font-size: var(--font-size-xxxl);
    position: relative;
    align-items: center;
    padding-right: 30px;
  }
  /* Show hamburger on small screens */
  .hamburger {
    display: block;
  }
  /* Show the menu when active class is added */
  nav.active {
    display: flex;
  }
}
.footer-info h3 {
  color: #e0e8ff;
}

.footer-logo {
  display: flex;
  justify-content: end;
  align-items: end;
  width: 100px;
}

.sidebar-box {
  display: flex;
  flex-direction: column;
  border: var(--border-light);
  padding: var(--space-l);
  background-color: var(--color-white);
  border-radius: var(--border-radius);
}
.sidebar-box .box-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxxs);
}
.sidebar-box .box-content .cover-image-thumb {
  margin-top: var(--space-xxxs);
  transition: transform 0.3s ease; /* Smooth transition for scale effect */
  overflow: hidden; /* Hide parts of the image that scale outside the container */
  position: relative; /* Ensure positioning context */
  border-radius: var(--border-radius);
}
.sidebar-box .box-content .cover-image-thumb img {
  transition: transform 0.3s ease; /* Apply smooth transition to the image itself */
  width: 100%; /* Ensure the image is responsive */
  height: auto; /* Maintain aspect ratio */
}
.sidebar-box .box-content .title {
  font-family: "Paytone One", sans-serif;
  color: var(--color-tertiary);
}
.sidebar-box .box-content .description {
  color: var(--color-text-header);
  font-size: var(--font-size-xs);
}
.sidebar-box .box-content .created-by {
  font-size: var(--font-size-xs);
  gap: var(--space-xxs);
}
.sidebar-box .box-content .created-by .author {
  gap: var(--space-xxs);
}
.sidebar-box .box-content .created-by .created {
  gap: var(--space-xxs);
}
.sidebar-box .box-content .created-by .svg {
  width: 15px;
  height: 15px;
}
.sidebar-box .box-content:hover {
  filter: brightness(1.1);
}
.sidebar-box .box-content:hover .cover-image-thumb img {
  transform: scale(1.1); /* Zoom in by 10% on hover */
  cursor: pointer;
}
.sidebar-box.popular .box-content {
  border-left: solid 4px var(--color-tertiary);
  border-radius: var(--border-radius);
  margin-top: var(--space-xxs);
  margin-bottom: var(--space-xxs);
  padding: var(--space-xxs);
  background-color: rgba(128, 128, 128, 0.158);
}
.sidebar-box.popular .title {
  padding-left: 10px;
  font-size: var(--font-size-s);
  overflow: hidden;
}
.sidebar-box.popular .box-content:hover {
  background-color: var(--color-tertiary);
  border-radius: var(--border-radius);
  cursor: pointer;
}
.sidebar-box.popular .box-content:hover .title {
  color: rgb(255, 255, 255);
  text-shadow: 1px 1px 2px rgba(8, 8, 8, 0.212);
}

.form-container {
  display: flex;
  flex-direction: column;
  border: var(--border-light);
  background-color: var(--color-white);
  padding: var(--space-m);
}

.form {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  font-size: var(--font-size-m);
  color: grey;
}
.form .field {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
}
.form .field input {
  padding: var(--space-xs);
  font-size: var(--font-size-xl);
  outline: none;
}
.form .field input:focus {
  border-bottom: 2px solid var(--color-primary-rotate); /* Add a bottom border on focus */
  font-size: var(--font-size-xl); /* Add a soft blue shadow */
}
.form .field input::placeholder {
  font-size: var(--font-size-s);
}
.form .title {
  max-width: 50%;
}
.form .title input {
  border-top: none;
  border-left: none;
  border-right: none;
}
.form .description {
  max-width: 100%;
}
.form .description input {
  border-top: none;
  border-left: none;
  border-right: none;
}
.form .cover-image {
  display: flex;
  flex-direction: column;
  max-width: 300px;
  /* Hide the actual file input */
  /* Style the custom label */
}
.form .cover-image .file-input {
  display: none;
}
.form .cover-image .file-label {
  display: inline-block;
  background-color: transparent;
  color: var(--color-primary-rotate);
  font-size: var(--font-size-s);
  cursor: pointer;
  font-weight: bold;
}
.form .cover-image .file-label:hover {
  filter: brightness(1.1);
}
.form .cover-image img {
  max-width: 300px;
  height: auto;
}
.form .category {
  display: flex;
  flex-direction: row;
}
.form .category .check-box {
  display: flex;
  flex-direction: row;
  padding-right: var(--space-s);
  gap: var(--space-xxs);
}
.form .category .check-box input[type=checkbox] {
  transform: scale(1.3); /* Increase size by 1.5 times */
  margin: 2px;
  cursor: pointer;
}
.form .category .check-box label {
  cursor: pointer;
}
@media (max-width: 768px) {
  .form .category {
    display: flex;
    flex-direction: column;
  }
}
.form .sub-container {
  display: flex;
  gap: var(--space-m);
}
.form .sub-container .keyword {
  display: flex;
  flex-direction: row;
  position: relative;
}
.form .sub-container .keyword .keyword-wrapper {
  position: relative; /* This makes sure the suggestions are positioned relative to the input */
}
.form .sub-container .keyword .keyword-wrapper ul {
  list-style-type: none; /* Remove bullets */
}
.form .sub-container .keyword .keyword-wrapper ul li {
  color: var(--color-text-body);
  padding: var(--space-xxxs);
  text-decoration: none; /* Remove text decoration */
}
.form .sub-container .keyword .keyword-wrapper ul li .add {
  color: var(--color-primary-rotate);
}
.form .sub-container .keyword input {
  border-top: none;
  border-left: none;
  border-right: none;
  font-size: var(--font-size-s);
}
.form .sub-container .keyword input:focus {
  border-bottom: 2px solid var(--color-primary-rotate); /* Add a bottom border on focus */
  font-size: var(--font-size-s); /* Add a soft blue shadow */
}
.form .sub-container .keyword .keyword-suggestions {
  position: absolute;
  width: 100%;
  top: 100%;
  padding-left: var(--space-xxs);
  background-color: white;
  box-shadow: var(--shadow-btn);
  border-top: none;
  z-index: 100;
  cursor: pointer;
}
.form .sub-container .difficulty {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.form .sub-container .difficulty select {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: solid 2px grey;
  padding: var(--space-xs);
  font-size: var(--font-size-s);
}
.form .sub-container .difficulty select:focus {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid var(--color-primary-rotate); /* Add a bottom border on focus */
  font-size: var(--font-size-s); /* Add a soft blue shadow */
}
@media (max-width: 768px) {
  .form .sub-container {
    display: flex;
    flex-direction: column;
  }
}
.form .keywords-list {
  display: flex;
  flex-direction: row;
  gap: var(--space-s);
}
.form .keywords-list .keyword-item {
  display: inline-block;
  position: relative;
  padding: var(--space-xxxs);
  border: solid 1px rgb(131, 131, 131);
  color: white;
  padding-left: 10px;
  padding-right: 10px;
  box-shadow: var(--shadow-btn);
  transform: skew(-20deg);
  background-color: var(--color-primary);
  font-size: var(--font-size-xs);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.form .keywords-list .keyword-item:hover {
  cursor: pointer;
}
.form .keywords-list .remove-keyword {
  position: absolute;
  display: flex;
  justify-content: center;
  left: 81%;
  top: -15%;
  color: white;
  font-size: var(--font-size-xs);
  font-weight: bold;
  margin-left: 10px;
  cursor: pointer;
}
.form .section .btn.btn-secondary {
  margin-top: -20px;
}

.form.login .field {
  display: inline-block;
  gap: var(--space-xxs);
}
.form.login .title {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  color: white;
  background-color: none;
  font-weight: bold;
  max-width: 100%;
}
.form.login input {
  width: 100%;
  padding: var(--space-xs);
  font-size: var(--font-size-m);
  outline: none;
  border: none;
  border-bottom: 2px solid hsl(217, 22%, 12%);
}
.form.login input:focus {
  border-bottom: 2px solid var(--color-primary-rotate); /* Add a bottom border on focus */
  font-size: var(--font-size-m); /* Add a soft blue shadow */
}
.form.login input::placeholder {
  font-size: var(--font-size-s);
}
.form.login hr {
  margin-top: -10px;
}

trix-editor {
  resize: vertical; /* Enables both horizontal and vertical resizing */
  overflow: hidden; /* Ensures content doesn't overflow when resized */
  min-width: auto;
  max-width: 650px; /* Minimum width */
  min-height: 150px; /* Minimum height */
  background-color: white;
}

.rich-text-image {
  display: block; /* Make the image block-level */
  margin-left: auto; /* Automatically adjust the left margin */
  margin-right: auto;
  max-width: 600px; /* Prevent the image from overflowing horizontally */
  max-height: 300px; /* Set the maximum height */
  border: solid 1px grey;
}

.trix-button--icon-strike,
.trix-button-group--history-tools {
  display: none !important;
}

/* Toolbar and Buttons */
fieldset {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding: var(--space-l);
  background-color: var(--color-background);
}

legend {
  font-size: var(--font-size-xl);
  padding-left: var(--space-s);
  padding-right: var(--space-s);
}

.post-container {
  border: var(--border-light);
  padding: 20px;
}

hr.mid {
  height: 1px;
  background-color: rgb(230, 230, 230);
}

.post-header {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.post-header .title {
  font-family: "Paytone One", cursive;
  font-size: var(--font-size-xxxl);
}
.post-header .desc {
  font-size: var(--font-size-l);
}

.created-by {
  display: flex;
  flex-direction: row;
  gap: var(--space-l);
  color: grey;
  font-size: var(--font-size-s);
}
.created-by .author {
  display: inline-flex;
  gap: var(--space-xs);
  align-items: center;
}
.created-by .created {
  display: inline-flex;
  gap: var(--space-xs);
  align-items: center;
}
.created-by .svg {
  width: 20px;
  height: 20px;
}
.created-by .share {
  display: inline-flex;
  justify-content: space-between;
  color: red;
}

.post-cover {
  border: solid 1px black;
  display: flex;
  justify-content: center;
  max-width: 600px;
  margin-left: auto; /* Automatically adjust the left margin */
  margin-right: auto;
}
.post-cover img {
  display: flex;
}

.keyword-item {
  display: inline-block;
  padding: var(--space-xxxs);
  color: white;
  font-weight: bold;
  padding-left: 10px;
  padding-right: 10px;
  box-shadow: var(--shadow-btn);
  transform: skew(-20deg);
  background-color: var(--color-primary);
  font-size: var(--font-size-xs);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.btn {
  position: relative;
  display: inline-block;
  border: none;
}
.btn.btn-primary {
  background-color: transparent;
}
.btn.btn-primary img {
  filter: brightness(0) saturate(100%) invert(30%) sepia(100%) saturate(100%) hue-rotate(180deg);
}
.btn.btn-primary:hover {
  cursor: pointer;
}
.btn.btn-primary:hover img {
  filter: none;
}
.btn.btn-create-post {
  position: absolute;
  display: inline-flex;
  justify-content: center;
  align-items: end;
  font-size: var(--font-size-xxl);
  width: 50px;
  height: 50px;
  top: 40%;
  left: 100%;
  z-index: -1;
  border-radius: var(--border-radius-round);
  background-color: hsl(217, 22%, 12%);
}
.btn.btn-secondary {
  display: inline-block;
  background-color: transparent;
  color: var(--color-primary-rotate);
  font-size: var(--font-size-s);
  cursor: pointer;
  text-align: start;
  font-weight: bold;
}
.btn.btn-secondary:hover {
  filter: brightness(1.1);
}
.btn.back {
  color: var(--color-primary-rotate);
  font-size: var(--font-size-s);
}
.btn.edit {
  color: var(--color-primary-rotate);
  font-size: var(--font-size-s);
  padding-right: var(--space-m);
}
.btn.delete {
  color: var(--color-primary-rotate);
  font-size: var(--font-size-s);
}
.btn.login {
  color: white;
  font-weight: bold;
  background-color: var(--color-primary-rotate);
}
.btn.forgot {
  padding-top: var(--space-s);
  font-size: var(--font-size-xxs);
  color: var(--color-primary-rotate);
}

/* Tooltip styles */
.btn[data-tooltip]:hover::after {
  content: attr(data-tooltip); /* The content will be the text from data-tooltip */
  position: absolute;
  top: 130%; /* Position the tooltip above the button */
  left: -30%;
  transform: translateX(-50%);
  background-color: #333;
  color: white;
  font-size: var(--font-size-xs);
  padding: 5px;
  border-radius: 5px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
}

.btn[data-tooltip]:hover::after {
  opacity: 1;
  visibility: visible;
}

ol.breadcrumb {
  border-radius: 5px;
  font-size: var(--font-size-s);
}

ol.breadcrumb li {
  display: inline;
}

ol.breadcrumb li + li::before {
  content: ">";
  margin: 0 10px;
  color: #777;
}

ol.breadcrumb li a {
  text-decoration: none;
  color: var(--color-primary-rotate);
}

ol.breadcrumb li.active {
  color: #6c757d;
}

.nprogress .bar {
  background: #29d;
  height: 3px;
}

.nprogress .peg {
  box-shadow: 0 0 10px #29d, 0 0 5px #29d;
}

.nprogress .spinner-icon {
  border-top-color: #29d;
  border-left-color: #29d;
}

.post-index {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}
.post-index hr {
  height: 1px;
  background-color: rgb(230, 230, 230);
}

.post-index-item {
  display: flex;
  gap: var(--space-l);
}
.post-index-item .post-index-image {
  max-width: 300px;
  max-height: 200px;
  transition: transform 0.3s ease; /* Smooth transition for scale effect */
  overflow: hidden; /* Hide parts of the image that scale outside the container */
  position: relative; /* Ensure positioning context */
  margin-right: 5px;
  border-radius: var(--border-radius);
}
.post-index-item .post-index-image img {
  transition: transform 0.3s ease; /* Apply smooth transition to the image itself */
  width: 100%; /* Ensure the image is responsive */
  height: auto; /* Maintain aspect ratio */
}

.post-index-item:hover {
  cursor: pointer;
  background-color: rgba(236, 236, 236, 0.2470588235);
  border-radius: var(--border-radius);
}
.post-index-item:hover .post-index-image img {
  filter: brightness(1.3);
  transform: scale(1.1); /* Zoom in by 10% on hover */
}
.post-index-desc {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}
.post-index-desc .title {
  font-family: "Paytone One", sans-serif;
  letter-spacing: 1px;
  color: var(--color-text-body);
  font-size: var(--font-size-xl);
}
.post-index-desc .desc {
  color: var(--color-text-body);
}
.post-index-desc .keyword-item {
  font-size: var(--font-size-xxs);
  background-color: green;
}
.post-index-desc .created-by {
  font-size: var(--font-size-xs);
  font-weight: bold;
}

@media (max-width: 768px) {
  .post-index-item {
    display: flex;
    flex-direction: column;
    gap: var(--space-l);
  }
  .post-index-item .post-index-image {
    max-width: 500px;
    max-height: 200px;
    transition: transform 0.3s ease; /* Smooth transition for scale effect */
    overflow: hidden; /* Hide parts of the image that scale outside the container */
    position: relative; /* Ensure positioning context */
  }
  .post-index-item .post-index-image img {
    transition: transform 0.3s ease; /* Apply smooth transition to the image itself */
    width: 100%; /* Ensure the image is responsive */
    height: auto; /* Maintain aspect ratio */
  }
  .post-index-desc {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    gap: 5px;
  }
  .post-index-desc .title {
    color: var(--color-text-body);
    font-size: var(--font-size-l);
    font-weight: bold;
  }
  .post-index-desc .desc {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
  }
  .post-index-desc .keyword-item {
    font-size: var(--font-size-xxs);
    background-color: green;
  }
  .post-index-desc .created-by {
    font-size: var(--font-size-xxs);
    color: rgba(128, 128, 128, 0.623);
  }
}
.canvas {
  position: relative;
  max-width: 100%;
  height: 400px; /* Or any required height */
}

canvas {
  position: absolute;
  left: 0;
  top: 0;
  display: block; /* Remove any unwanted padding/margins */
  width: 100%; /* Responsive width */
  height: 100%; /* Responsive height */
}

.textMeshClass {
  font-size: var(--font-size-xxxl);
  filter: brightness(0.5);
}

/* Add keyframes for the animation */
@keyframes slideDown {
  from {
    opacity: 0.7;
    transform: translateY(-5%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Update your .login-dialog styles to include the animation */
.login-dialog-box {
  padding: var(--space-l);
  padding-top: var(--space-s);
  max-width: 250px;
  position: absolute;
  margin-left: auto; /* This pushes the dialog to the right */
  left: 0;
  top: 90%;
  background-color: hsl(217, 22%, 12%);
  border: none;
  z-index: 90;
  animation: slideDown 0.5s ease-out; /* Apply the animation */
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(167, 29, 29, 0.774); /* Semi-transparent background */
  z-index: 988; /* Below the dialog */
  display: none; /* Hidden by default */
}

.flash {
  position: fixed;
  left: 0;
  height: 85px;
  background-color: var(--color-primary-rotate);
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  color: var(--color-white);
  animation: fadeOut 3s forwards; /* Apply the fade-out animation */
}

@keyframes fadeOut {
  0% {
    opacity: 1; /* Fully visible at the start */
  }
  90% {
    opacity: 1; /* Stay visible for most of the animation */
  }
  100% {
    opacity: 0; /* Fully transparent at the end */
    display: none; /* Hide the element after the animation */
  }
}
.content-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.content-header h3 {
  font-family: "Monofett";
  letter-spacing: 2px;
  font-weight: normal;
  font-size: var(--font-size-xxxxl);
}
.content-header .svg {
  padding-right: 5px;
}
