/* Fonts */


@font-face {
    font-family: 'CMU Serif Roman';
    src: url('/assets/fonts/cmunrm.ttf') format('truetype'),
    url('/assets/fonts/cmunrm-webfont.woff2') format('woff2'),
         url('/assets/fonts/cmunrm-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: 'Times New Roman';
    src: url('/assets/fonts/timesnewromanpsmt.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
  }

  /*all pages*/
html {
    box-sizing: border-box;
}
body {
    margin: 0;
    font-size: 15px;
}
.uniform__potty {
    position: absolute;
    left: -9999px;
}

/*Serif Font*/
.ser, .header .tagline, .footer {
    font-family: 'Times New Roman', serif;
}

/*Sans serif Font*/
.sans, td, .header-nav{
   font-family: 'Gothic A1', sans-serif;
}


/* Font settings for Body text 
body, p, a, li, span {
    font-family: 'Quicksand', sans-serif;
    font-weight: 400; 
}
*/



/*Header*/
.header-holder {
    background: white;
    padding: 10px 15px;
    position: fixed;
    width: calc(100% - 15px);
    top: 0;
    border-bottom: 1px solid black;
    z-index: 20;
}
img.header-logo-img {
    width: inherit;
}
.header .tagline {
    font-family: serif;
}


.lang-tabs {
    position: fixed;
}
/* Hide/show blocks based on device width */
.desktop-only {
  display: block;
}
.mobile-only {
  display: none;
}


.page-individual-entry .accordion-content{
        display: contents !important;
}
.page-individual-entry th.col-1, .page-individual-entry td.col-1 {
    display: none;
}

.accordion-content {
    display: none;
    transition: all 0.3s ease-in-out;
}

.accordion-header {
    cursor: pointer;
    transition: background 0.2s ease-in-out;
}

.accordion-header:hover {
    background-color: #f5f5f5;
}

/* Active State */
.accordion-header.active,
.accordion-content.active {
    background-color:#c7c7c7b0 !important;
}
.accordion-header.active {

    box-shadow: 0 1px 0 black;
}



.entry-open {
    padding: 30px 5px;
}

.accordion-summary {
    padding-right: 20px;
}

.accordion-info table {
    width: 100%;
    border-collapse: collapse;
}

.accordion-info td {
    border-bottom: 1px solid #ddd;
}

/* Links Styling */
.entry-links, .entry-actions {
    margin: 13px 5px;
    border-bottom: 1px solid gainsboro;
}

.entry-links ul, .entry-actions ul {
    list-style-type: none;
    padding: 0;
}

.entry-links li, .entry-actions li {
    margin-bottom: 5px;
}

.accordion-info a {
    color: darkslategray;
    text-decoration: underline;
}

.entry-links a:hover, .entry-actions a:hover {
    text-decoration: underline;
}
tbody.accordion {
    font-size: 13px;
    line-height: 20px;
    font-family: sans-serif;
}
.accordion-info ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.accordion-info table tr:last-child td {
    border-bottom: none;
}
/* Chevron */
.accordion td.chevron {
    display: inline-block;
    transition: transform 0.3s ease-in-out;
    font-size: 12px;
    position: absolute;
    border: none !important;
}
tr.accordion-header.active .chevron {
    right: 19px !important;
}

@media (min-width: 860px){
    .accordion td.chevron {
    right: 19px;
}
}


@media (max-width: 860px){
    .accordion td.chevron, tr.accordion-header.active .chevron {
    right: 1px !important;
}
    .accordion-info td {
    min-width: 90px;
}

  /* container stays simple – no overflow here */
  .entries {
      display: flex;
      flex-direction: column;
      max-width: 100%;
  }

  .entries table {
      border-collapse: collapse;
      width: 100%;          /* fill viewport */
      /* min-width: 600px;  <-- remove this, it causes the overflow */
      table-layout: auto;   /* let columns size naturally */
  }

  .accordion-header {
      position: relative;
  }

  /* column widths */
  .entries-header .col-1,
  .accordion-header .col-1 {  /* Nr. */
      width: 10px;
      min-width: 30px;
      text-align: left;
      padding: 15px 0;
  }

  .entries-header .col-2,
  .accordion-header .col-2 {  /* Date */
      width: 16%;
      min-width: 80px;
  }

  .entries-header .col-3,
  .accordion-header .col-3 {  /* Institution */
      width: 20%;
              min-width: 76px;
  }

  .entries-header .col-4,
  .accordion-header .col-4 {  /* Silenced Person / Group */
      width: 46%;
  }
}

/* mobile tweaks */
@media (max-width: 768px) {
  .entries-header th,
  .accordion-header td,
  .accordion-content td {
      padding: 10px 4px;
      word-break: break-word;
      white-space: normal;
  }
}







@media (max-width:868px){
    .accordion-header.active {
     position: unset !important; 
    top: unset !important;
    box-shadow: 0 1px 0 black;
}

          .desktop-only {
    display: none;
  }
  .mobile-only {
    display: block;
  }
    /*Header*/
    .lang-tabs { 
        right: 10px;
        top: 10px;
    }
    .header .tagline {
        max-width: calc(100% - 50px);}
    .header-logo {
        width: 200px
    }
    .header .tagline {
        font-size: 11px;
    }
    a.lang-option {
        padding: 1px 7px;
        border-radius: 7px;
        text-decoration: none;
        font-size: 10px;
    }
    /*Main Contain*/
    main.main {
        margin: 166px 20px;
    }
    header nav {
        top: 30px;
        right: 0px;
    }
    

}
@media (min-width:869px){
    /*Header*/
    .header-col-1, .header-col-2 {
        display: inline-block;
        padding-right: 18px;
        vertical-align: top;
    }
    .lang-tabs { 
        right: 80px;
        top: 27px;
    }  
    .header-logo {
        width: 240px;
    }
    .header .tagline {
        font-size: 13px;
        padding-top: 11px;
        max-width: 200px;
        padding-left: 10px;
    }
    a.lang-option {
        padding: 2px 6px;
    }

    /*Main Contain*/
    .page-home main.main {
        margin: 116px 0;
}
.columns {
    display: flex
}
header nav {
    top: 16px;
    right: 15px;
}

}
.lang-tabs ul {
    margin: 0;
}
.lang-tabs li {
    list-style: none;
    display: inline-block;
}
a.lang-option {
    text-decoration: none;
    color: black;
    text-transform: lowercase;
    font-weight: 700;
    opacity: .5;
}
a.lang-option[aria-current] {
border: 2px solid black;
    background: #ebebeb;
        opacity: 1;
}




/* Navigation styles */
header nav {
    position: fixed;
    display: flex;
    justify-content: flex-end;
    padding: 10px;
    border-radius: 10px;
}

.hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
}
button:focus {
    outline: none;
  }
.bar {
    height: 4px;
    width: 100%;
    background-color: black;
}

.hamburger:focus {
    outline: 2px dashed #fff;
}

.nav-links {
    list-style: none;
    display: none;
    flex-direction: column;
    position: absolute;
    top: 70px;
    right: 0px;
    background-color: #fff;
    width: 200px;
    padding-bottom: 15px;
}

.nav-links li {
    text-align: right;
    padding: 15px;
}
.nav-links a {
    color: black;
    text-decoration: none;
    font-weight: bold;
}

.nav-links a:hover, .nav-links a:focus {
    color: lightgray;
    outline: 2px dashed lightgray;
}

/* Show active menu */
.nav-links.active {
    display: flex;
    border-left: 2px solid black;
    border-right: 2px solid black;
    border-bottom: 2px solid black;
}




/*Homepage Widget One*/
@media (min-width:869px){
    .column.left-column {
        border-right: 1px solid black;
    }
    .column {
        flex: 1;
        padding: 20px 20px 30px 20px;
        padding-top: 30px;
    }
}
.homepage-additional {
    display: flex;
    gap: 20px;
    border-bottom: 1px solid black;
    margin-top: -40px;
}

.columns {
    width: 100%;
}

.column {
    flex: 1
}
.homepage-additional .column .button{
    color: black;
    text-decoration: none;
    padding: 4px 20px;
    font-size: 20px;
    border-radius: 20px;
    display: inline-block;
    margin-bottom: 20px;
    font-weight: bolder;
    box-shadow: 3px 3px 0px #000;
}

.left-column .button {
    background-color: #e94f30;

}

.right-column .button {
    background-color: #1db811;
}

.column-text {
    margin-top: 15px;
    line-height: 1.4;
}

.column-text p {
    margin-bottom: 10px;
}

a {
    color: #636363;
}

/*Footer*/
footer.footer {
    margin: 160px 0 0px 0px;
    border-top: 1px solid black;
    padding: 0px 0 0 0;
}
footer.footer * {
    display: inline-block;
    vertical-align: middle;
    color: black;
}
.footer-logo {
    width: 80px;
    margin: 0 40px 0 0;
    padding: 30px 30px 30px 10px;
}
img.footer-logo-img {
    width: 100%;
}

@media (min-width:860px){
    .footer-logo {
    border-right: 1px solid black;
    }
}




/* Homepage Entries listed */
@media (min-width:860px){
    .col-1{
       width: 35px;
    }
    .col-2{
        width: 90px;
     }
     .col-3 {
        width: calc(50% - 205px);
    }
    .col-4 {
        width: 50%;
    }
    .col-5 {
        width: 20%;
    }
    .entries {
        padding: 0 15px;
    }
}
.entries {
    display: flex;
    flex-direction: column;
}
.entries table {
    border-collapse: collapse;
}

.entries-header {
    position: sticky;
    top: 76px;
    z-index: 10;
    background-color: white;
    box-shadow: 0px 2px black;
}

.entries-header table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; /* Ensures columns align properly */
}

.entries-header th {
    text-align: left;
    font-family: sans-serif;
    font-weight: 600;
    border-bottom: 2px solid black;
    padding: 15px 5px;
}

.entries-body table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    table-layout: fixed; /* Ensures consistent column widths */
}

.entries-body td {
    padding: 10px;
    vertical-align: top; /* Aligns content to the top of the cell */
    text-align: left; /* Matches header alignment */
}

.entry:nth-child(odd) {
    background-color: #f9f9f9;
}

.entries-body tr:hover {
    background-color: #f1f1f1;
}
.accordion td {
    padding: 13px 5px;
    border-bottom: 1px solid gainsboro;
}

/* Individual Entry Styling */
.entries-body tr {
    border: 1px solid #ddd;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
    gap: 15px;
}

.entry-header, .entry-body, .entry-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}

.entry-number, .entry-date, .entry-type-of-silencing,
.entry-silenced-person, .entry-identity, .entry-responsible,
.entry-place, .entry-type-of-institution {
    flex: 1 1 100%;
    font-size: 14px;
    font-weight: bold;
}

.entry-summary p, .entry-links a, .entry-direct-action a {
    margin: 5px 0;
    font-size: 14px;
}

.info-link, .action-link {
    display: inline-block;
    padding: 5px 10px;
    border: 1px solid #000;
    border-radius: 15px;
    font-size: 12px;
    text-decoration: none;
    color: #000;
    font-weight: bold;
    margin-right: 10px;
}

.info-link:hover, .action-link:hover {
    background-color: #f0f0f0;
}

.entry-footer {
    border-top: 1px solid #ddd;
    padding-top: 10px;
    margin-top: 10px;
}


/* Default Page */
@media (max-width:860px){
body.page-default .main, body.page-legal .main  {
    padding: 10px;
    padding-top: 0px;
        min-height: 100vh;
}
.nav-links.active{
    top: 37px;
}
a.nav-icon.instagram-icon {
    position: fixed;
    right: 102px;
    top: 9px;
}
}
@media (min-width:860px){
    a.nav-icon.instagram-icon {
    position: fixed;
    right: 202px;
    top: 24px;
}
    .nav-links.active{
        top: 46px;
}

body.page-default .main, body.page-legal .main {
    padding: 30px;
    padding-top: 100px;
    max-width: 1130px;
    margin: auto;
        min-height: 100vh;
}
}