/*

Theme Name: GSI Classic Theme

*/


.gsi-footer {
  font-family: Arial, sans-serif;
  background: #fff;
  color: #000;
  padding: 1rem 15%;
}

.footer-top {
  height: 4px;
  background: #77b255;
}

/* Main container with 15% side padding */
.footer-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
  gap: 2rem;
}

.footer-column h3 {
  font-size: 0.7rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
}

.footer-column ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-column ul li {
  margin: 1px;
}

.footer-column ul li a {
  color: #0088a9;
  text-decoration: none;
  font-size: 0.7rem;
}

.footer-column ul li a:hover {
  text-decoration: underline;
}

/* Bottom section with same side padding */
.footer-bottom {
  border-top: 3px solid #cde0de;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  font-size: 0.7rem;
}

.footer-bottom a {
  color: #0088a9;
  text-decoration: none;
}

.footer-bottom a:hover {
  text-decoration: underline;
}

.footer-logo img {
  max-height: 80px;
}

.publication-meta {
    margin-top: 40px;
    padding-top: 15px;
    border-top: 2px solid #d7e6ea;
    border-bottom: 2px solid #d7e6ea;
    padding-bottom: 15px;
}

.meta-row {
    display: flex;
    margin-bottom: 8px;
}

.meta-label {
    width: 110px;
    font-weight: bold;
}

.meta-value {
    flex: 1;
}


body,
button,
input,
select,
textarea {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
}

h1, h2, h3, h4, h5, h6,
.site-title,
.site-description,
nav,
.menu,
a {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
}

html {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
}

* {
    font-family: inherit;
}

/* ==========================================
   Publication Filters
========================================== */

.publication-filters {
    margin: 25px 0;
    padding-bottom: 15px;
    border-bottom: 4px solid #d8edf2;
}

.publication-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 20px;
}

.publication-filter {
    display: flex;
    flex-direction: column;
    min-width: 160px;
}

.publication-filter:first-child {
    min-width: 170px;
}

.publication-filter label {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
    color: #333;
}

.publication-filter input,
.publication-filter select {
    height: 36px;
    padding: 6px 10px;
    border: 1px solid #cfcfcf;
    border-radius: 0;
    background: #fff;
    font-size: 14px;
    width: 100%;
}

.publication-filter input:focus,
.publication-filter select:focus {
    outline: none;
    border-color: #6ca8b8;
}

.publication-filter-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.publication-filter-buttons button {
    background: #2f7d32;
    color: #fff;
    border: none;
    padding: 8px 18px;
    cursor: pointer;
    font-size: 14px;
}

.publication-filter-buttons button:hover {
    background: #256328;
}

.publication-filter-buttons a {
    color: #2f7d32;
    text-decoration: none;
    font-size: 14px;
}

.publication-filter-buttons a:hover {
    text-decoration: underline;
}

@media (max-width: 991px) {

    .publication-filter-row {
        flex-direction: column;
        align-items: stretch;
    }

    .publication-filter {
        width: 100%;
    }

}


/* ==========================================
   Event Filters
========================================== */

.event-filters {
    margin: 25px 0;
    padding-bottom: 15px;
    border-bottom: 4px solid #d8edf2;
}

.event-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 20px;
}

.event-filter {
    display: flex;
    flex-direction: column;
    min-width: 160px;
}

.event-filter:first-child {
    min-width: 170px;
}

.event-filter label {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
    color: #333;
}

.event-filter input,
.event-filter select {
    height: 36px;
    padding: 6px 10px;
    border: 1px solid #cfcfcf;
    border-radius: 0;
    background: #fff;
    font-size: 14px;
    width: 100%;
}

.event-filter input:focus,
.event-filter select:focus {
    outline: none;
    border-color: #6ca8b8;
}

.event-filter-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.event-filter-buttons button {
    background: #2f7d32;
    color: #fff;
    border: none;
    padding: 8px 18px;
    cursor: pointer;
    font-size: 14px;
}

.event-filter-buttons button:hover {
    background: #256328;
}

.event-filter-buttons a {
    color: #2f7d32;
    text-decoration: none;
    font-size: 14px;
}

.event-filter-buttons a:hover {
    text-decoration: underline;
}

@media (max-width: 991px) {

    .event-filter-row {
        flex-direction: column;
        align-items: stretch;
    }

    .event-filter {
        width: 100%;
    }

}

/* ==========================================
   Event List
========================================== */

.event-item{
    display:flex;
    align-items:flex-start;
    gap:20px;
    margin-bottom:30px;
    padding-bottom:30px;
    border-bottom:1px solid #e5e5e5;
}

.event-image{
    width:120px;
    flex-shrink:0;
}

.event-image img{
    width:120px;
    height:auto;
    display:block;
}

.event-content{
    flex:1;
}

.event-content h2{
    margin:0 0 10px;
    font-size:18px;
    line-height:1.3;
}

.event-content h2 a{
    color:#2f7d32;
    text-decoration:none;
}

.event-content h2 a:hover{
    text-decoration:underline;
}

.event-date{
    margin:0 0 15px;
    font-style:italic;
    color:#000;
}

.event-description{
    margin:0;
    line-height:1.6;
}


/* ==========================================
   news List
========================================== */

.news-item{
    display:flex;
    align-items:flex-start;
    gap:20px;
    margin-bottom:30px;
    padding-bottom:30px;
    border-bottom:1px solid #e5e5e5;
}

.news-image{
    width:120px;
    flex-shrink:0;
}

.news-image img{
    width:120px;
    height:auto;
    display:block;
}

.news-content{
    flex:1;
}

.news-content h2{
    margin:0 0 10px;
    font-size:18px;
    line-height:1.3;
}

.news-content h2 a{
    color:#2f7d32;
    text-decoration:none;
}

.news-content h2 a:hover{
    text-decoration:underline;
}

.news-date{
    margin:0 0 15px;
    font-style:italic;
    color:#000;
}

.news-description{
    margin:0;
    line-height:1.6;
}


/* ==========================================
   news Filters
========================================== */

.news-filters {
    margin: 25px 0;
    padding-bottom: 15px;
    border-bottom: 4px solid #d8edf2;
}

.news-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 20px;
}

.news-filter {
    display: flex;
    flex-direction: column;
    min-width: 160px;
}

.news-filter:first-child {
    min-width: 170px;
}

.news-filter label {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
    color: #333;
}

.news-filter input,
.news-filter select {
    height: 36px;
    padding: 6px 10px;
    border: 1px solid #cfcfcf;
    border-radius: 0;
    background: #fff;
    font-size: 14px;
    width: 100%;
}

.news-filter input:focus,
.news-filter select:focus {
    outline: none;
    border-color: #6ca8b8;
}

.news-filter-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.news-filter-buttons button {
    background: #2f7d32;
    color: #fff;
    border: none;
    padding: 8px 18px;
    cursor: pointer;
    font-size: 14px;
}

.news-filter-buttons button:hover {
    background: #256328;
}

.news-filter-buttons a {
    color: #2f7d32;
    text-decoration: none;
    font-size: 14px;
}

.news-filter-buttons a:hover {
    text-decoration: underline;
}

@media (max-width: 991px) {

    .news-filter-row {
        flex-direction: column;
        align-items: stretch;
    }

    .news-filter {
        width: 100%;
    }

}
/* ==========================================
   Cookie-popup
========================================== */

#cookie-popup {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    min-height: 333px;
    background: #2d4a70;
    color: #ffd400;
    z-index: 999999;
    box-sizing: border-box;

    display: flex;
    justify-content: center;
    align-items: center;
}

.cookie-content {
    width: 100%;
    max-width: 1350px;
    text-align: center;
    padding: 40px 30px;
    box-sizing: border-box;
}

.cookie-content p {
    margin: 0 0 12px 0;
    padding: 0;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.55;
    color: #ffd400;
}

.cookie-content a {
    color: #4f9b45;
    text-decoration: none;
}

.cookie-content a:hover {
    text-decoration: underline;
}

.cookie-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 54px;
    margin-top: 40px;
}

.cookie-buttons button {
    min-width: 178px;
    height: 31px;

    padding: 4px 15px;
    border: none;
    border-radius: 0;

    background: #52775f;
    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1;

    cursor: pointer;
}

.cookie-buttons button:hover {
    background: #62866f;
}


.feature-display {
    position: relative;
}

.feature-display img {
    width: 100%;
    display: block;
}

.feature-overlay {
    position: absolute;
    left: 20px;
    bottom: 50px;
    width: 70%;
    padding: 20px;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
}

.feature-overlay h2,
.feature-overlay h3,
.feature-overlay h4,
.feature-overlay p {
    color: #fff;
}

.feature-tab {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    cursor: pointer;
    background: #edf5ea;
    transition: background 0.2s ease;
}

.feature-tab.active {
    background: #378c2f;
    color: #fff;
}

.feature-tab.active h2,
.feature-tab.active h3,
.feature-tab.active h4,
.feature-tab.active p {
    color: #fff;
}


.feature-tab {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    min-height: 75px;
    padding: 10px;

    cursor: pointer;

    background: #edf5ea;
    color: #333;

    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}


/* Tab text */

.feature-tab h2,
.feature-tab h3,
.feature-tab h4,
.feature-tab p {
    margin: 0;
    color: #333;
}


/* Thumbnail */

.feature-tab img {
    width: 55px;
    height: 55px;
    min-width: 55px;

    object-fit: cover;
    display: block;
}


/* Active tab */

.feature-tab.active {
    background: #3f9135;
    color: #fff;
}

.feature-tab.active h2,
.feature-tab.active h3,
.feature-tab.active h4,
.feature-tab.active p {
    color: #fff;
}


/* Hover */

.feature-tab:hover {
    background: #dcebd7;
}

.feature-tab.active:hover {
    background: #3f9135;
}


/* Separator */

.feature-tab .tab-description {
    display: none;
}

#feature-image {
    transition: opacity 0.25s ease;
}
