:root {
  --bs-blue: #3763f4;
  --bs-indigo: #24285b;
  --bs-purple: #6f42c1;
  --bs-pink: #e33cd1;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffd200;
  --bs-green: #00b779;
  --bs-teal: #00b4c9;
  --bs-cyan: #00b4c9;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #4e5d78;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f5f6f8;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #4e5d78;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #2d2d2d;
  --bs-primary: #24285b;
  --bs-secondary: #ffd200;
  --bs-success: #00b779;
  --bs-info: #00b4c9;
  --bs-warning: #ffd200;
  --bs-danger: #dc3545;
  --bs-light: #f5f6f8;
  --bs-dark: #343a40;
  --bs-primary-rgb: 36, 40, 91;
  --bs-secondary-rgb: 255, 210, 0;
  --bs-success-rgb: 0, 183, 121;
  --bs-info-rgb: 0, 180, 201;
  --bs-warning-rgb: 255, 210, 0;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 245, 246, 248;
  --bs-dark-rgb: 52, 58, 64;
  --bs-primary-text-emphasis: #0e1024;
  --bs-secondary-text-emphasis: #665400;
  --bs-success-text-emphasis: #004930;
  --bs-info-text-emphasis: #004850;
  --bs-warning-text-emphasis: #665400;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #d3d4de;
  --bs-secondary-bg-subtle: #fff6cc;
  --bs-success-bg-subtle: #ccf1e4;
  --bs-info-bg-subtle: #ccf0f4;
  --bs-warning-bg-subtle: #fff6cc;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fafbfc;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #a7a9bd;
  --bs-secondary-border-subtle: #ffed99;
  --bs-success-border-subtle: #99e2c9;
  --bs-info-border-subtle: #99e1e9;
  --bs-warning-border-subtle: #ffed99;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  /* --bs-font-sans-serif: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; */
  --bs-font-sans-serif:  -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  /* --bs-font-sans-serif: "Inter Variable", "Inter", ui-rounded, -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"; */
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.6;
  --bs-body-color: #121643;
  --bs-body-color-rgb: 18, 22, 67;
  --bs-body-bg: #ffffff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(18, 22, 67, 0.75);
  --bs-secondary-color-rgb: 18, 22, 67;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(18, 22, 67, 0.5);
  --bs-tertiary-color-rgb: 18, 22, 67;
  --bs-tertiary-bg: #f5f6f8;
  --bs-tertiary-bg-rgb: 245, 246, 248;
  --bs-heading-color: inherit;
  --bs-link-color: #24285b;
  --bs-link-color-rgb: 36, 40, 91;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #1d2049;
  --bs-link-hover-color-rgb: 29, 32, 73;
  --bs-code-color: #e33cd1;
  --bs-highlight-color: #121643;
  --bs-highlight-bg: #fff6cc;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #b1b1bc;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0;
  --bs-border-radius-sm: 0;
  --bs-border-radius-lg: 0;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(36, 40, 91, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(36, 40, 91, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(36, 40, 91, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(36, 40, 91, 0.25);
  --bs-form-valid-color: #00b779;
  --bs-form-valid-border-color: #00b779;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545
}

body {
  background: var(--bs-body-bg);
  /* padding-top: 80px; */
}

.main-content-wrapper {
  padding-top: 80px;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5c636a;
  --bs-btn-hover-border-color: #565e64;
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #565e64;
  --bs-btn-active-border-color: #51585e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #157347;
  --bs-btn-hover-border-color: #146c43;
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #146c43;
  --bs-btn-active-border-color: #13653f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #198754;
  --bs-btn-disabled-border-color: #198754;
}

.bg-gray-100 {
  /* --bs-bg-opacity: 1; */
  background-color: var(--bs-gray-100) !important
}

.bg-gray-200 {
  /* --bs-bg-opacity: 1; */
  background-color: var(--bs-gray-200) !important
}

.bg-gray-300 {
  /* --bs-bg-opacity: 1; */
  background-color: var(--bs-gray-300) !important
}

.bg-gray-400 {
  /* --bs-bg-opacity: 1; */
  background-color: var(--bs-gray-400) !important
}

.bg-gray-500 {
  /* --bs-bg-opacity: 1; */
  background-color: var(--bs-gray-500) !important
}

.bg-gray-600 {
  /* --bs-bg-opacity: 1; */
  background-color: var(--bs-gray-600) !important
}

.bg-gray-700 {
  /* --bs-bg-opacity: 1; */
  background-color: var(--bs-gray-700) !important
}

a {
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
  color: blue;
}

/* .navbar-brand {
  font-family: 'Inter', Raleway, sans-serif;
} */

.placeholder-italic::placeholder {
  font-style: italic;
}

.form-label, .form-check-label {
  font-weight: 600;  /* Makes the label text semi-bold */
  color: #333;        /* Changes the text color */
  font-size: 1rem;    /* Adjusts the font size */
  margin-bottom: 0.5rem;  /* Adds space below the label */
}


.text-strong {
  font-weight: bold;
}
/******************************************************/
/* Used for the drag handle in the sortable templates */
/******************************************************/
.drag-handle {
  cursor: grab;
  margin-right: 10px;
}

/******************************************************/
/* Design reports */
/******************************************************/
.table-dark thead th {
    background-color: #343a40;   /* $dark */
    color: #fff;                 /* white text */
    border-color: #454d55;       /* $gray-600 */
    font-weight: 500;            /* Bootstrap default */
  }

/* Used for the vertical heading in the design reports */
.vert-heading {
  position: relative;
  width: 40px;                    /* Fixed width for the column */
  height: 100%;                   /* Fill available height */
  padding: 0 !important;
  overflow: hidden;               /* Critical: clip overflow */
  border: none !important;
}

.vert-heading span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  width: auto;
}

/* Remove borders for the header row */
/* .finish-table th {
  border: none !important;
} */

/* Keep borders for the rest of the table */
.finish-table td,
.finish-table th {
  border: 1px solid #000 !important; 
  border-top: 1px solid;
}

.no-padding {
  padding-left: 0;
  padding-right: 0;
}

.no-margin {
  margin-left: 0;
  margin-right: 0;
}

/**************************/
/* Simulate striped table */
/**************************/
.forum-row {
  background-color: white;
  padding: 0;
  margin-bottom: 3px;
  margin-top: 3px;
  /* width: calc(100% - 3px); */
  margin-right: 0;  /* Override default row margin */
  margin-left: 0;   /* Override default row margin */
}

.forum-col.col-4 {
  width: calc(33.33333% - 2px);
}

.forum-col.col-8 {
  width: calc(66.66667% - 2px);
}

.forum-col {
  margin-right: 3px;
  padding: 3px;
  background-color: var(--bs-gray-100);
  box-sizing: border-box;
}

.forum-col:last-child {
  margin-right: 0;
}

/* .forum-row:nth-child(even) .forum-col{
  background-color: var(--bs-gray-200);
} */

.thread-row {
  background-color: white;
  padding: 0;
  margin-bottom: 3px;
  margin-top: 3px;
  /* width: calc(100% - 3px); */
  margin-right: 0;  /* Override default row margin */
  margin-left: 0;   /* Override default row margin */
}

.thread-col.col-4 {
  width: calc(33.33333% - 2px);
}

.thread-col.col-8 {
  width: calc(66.66667% - 2px);
}
.thread-col {
  margin-right: 3px;
  padding: 3px;
  background-color: var(--bs-gray-100);
  box-sizing: border-box;
}

/* This doesn't work inside htmx */
/* .thread-row:nth-child(even) .thread-col{
  background-color: var(--bs-gray-200);
} */

.thread-col:last-child {
  margin-right: 0;
}

.post-row {
  margin-right: 0;
  margin-left: 0;
}

.post-col {
  background-color: var(--bs-gray-100);
  padding-right: 0;
}

.post-header {
  color: var(--bs-gray-500);
  /* color: #dc3545;  */
  font-weight: 600;
  font-size: 0.9rem;
}

.post-buttons {
  background-color: var(--bs-gray-200);
  margin-right: 0;
  margin-left: 0;
}

.pairs {
  display: flex;
  /* flex-wrap: wrap; */
  align-items: center;
  gap: 0.5em;
  /* padding: 0;s */
  /* margin-bottom: 0px; */
  margin-block-end: 0;
}

.pairs dt {
  font-weight: 700;
  color: var(--bs-gray-500);
}

.pairs dt::after {
  content: ":";
  margin-right: 0.25em;
}

.pairs dd {
  margin: 0;
  font-weight: normal;
}

.message-inner {
  display: flex;
  flex-direction: column; /* Stack the columns on small screens */
}

.message-cell {
  padding: 12px;
}

.message-cell--user {
  order: -1; /* Ensure .message-cell--user appears above .message-cell--main */
  width: 100%; /* Take full width on small screens */
  background-color: #f9f9f9;
}

.message-name {
  font-weight: 700;
  /* font-size: inherit; */
  text-align: center;
  margin: 0;
  margin-bottom: 6px;
  color: #204e7f;
}

/* Base styles for message-userExtras */
.message-userExtras {
  display: block; /* Display by default on larger screens */
  font-size: 12px;
}

.message-userExtras dl.pairs {
  border-bottom: 1px dotted #e4e4e4;
}

.message-cell--main {
  width: 100%; /* Full width on small screens */
}

@media (min-width: 751px) {
  .message-inner {
      flex-direction: row; /* Arrange side by side on larger screens */
  }

  .message-cell--user {
      width: 20%; /* Adjust width as desired */
      order: 0; /* Normal ordering */
      display: block; /* Ensure it’s visible on larger screens */
  }

  .message-cell--main {
      width: 80%; /* Adjust width as desired */

  }
}

/* Hide message-userExtras on screens smaller than 751px */
@media (max-width: 750px) {
  .message-userExtras {
      display: none;
  }
}
