@import url('fonts.css');

:root {
  --green-1: #378C25;
  --pink-1: #ED357D;
  --pink-2: #ce316d;
  --white-1: #FFFFFF;
  --black-1: #130802;
  --header-font-font-family: "Bowlby One";
  --heading-1-size-value: 4;
  --heading-2-size-value: 2.8;
  --body-font-font-family: "Libre Franklin";
  --body-text-size-value: 1;
}

/* Medium devices (tablets, 768px and up) */
@media (max-width: 991.98px) {
  :root {
    --heading-1-size-value: 3;
    --heading-2-size-value: 2.2;
  }
}

/* Small devices (landscape phones, 576px and up) */
@media (max-width: 767.98px) {
  :root {
    --heading-1-size-value: 2.5;
    --heading-2-size-value: 1.8;
  }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  :root {
    --heading-1-size-value: 2;
    --heading-2-size-value: 1.5;
  }
}

body {
  font-family: var(--body-font-font-family), Arial, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  background-image: url('../images/gw_background.jpg');
  background-size: cover;
  background-attachment: fixed;
  background-blend-mode: overlay;
}

main {
  min-height: 80vh;
  padding: 2rem;
}

h1 {
    font-size: calc(var(--heading-1-size-value) * 1rem);
    font-family: var(--header-font-font-family);
    background-color: var(--pink-1);
    color: var(--white-1);
    text-align: left;
    display: inline;
    padding: 0.1em 0.3em;
    box-decoration-break: clone;
    line-height: 1.2;
}

h2 {
    font-size: calc(var(--heading-2-size-value) * 1rem);
    font-family: var(--header-font-font-family);
    background-color: var(--pink-1);
    color: var(--white-1);
    text-align: left;
    display: inline;
    padding: 0.1em 0.3em;
    box-decoration-break: clone;
    line-height: 1.2;
}

p {
    font-family: var(--body-font-font-family);
    font-size: calc(var(--body-text-size-value) * 1rem);
    color: var(--black-1);
    text-align: left;
    font-weight: 400;
    margin-top: 2em;
}

ul {
    margin-top: 2em;
}

li{
    font-family: var(--body-font-font-family);
    font-size: calc(var(--body-text-size-value) * 1rem);
    color: var(--black-1);
    text-align: left;
    font-weight: 400;
}

.break {
    min-height: 2rem;
    display: inline-block;
}

/* Table styles */
.table-responsive {
    position: relative;
}

.table th.sortable:hover {
    background-color: #f8f9fa;
}

.table th.sortable.asc, .table th.sortable.desc {
    background-color: #e9ecef;
}

/* Image thumbnails in table */
.table img.img-thumbnail {
    max-width: 50px;
    max-height: 50px;
}

/* Sticky table header */
.table thead th {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: #f8f9fa;
}