@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&family=Poppins:ital,wght@0,200;0,500;1,400;1,500;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200;0,8..60,400;0,8..60,600;0,8..60,700;1,8..60,400&display=swap" rel="stylesheet');
 

body {
    margin: 0;
    font-family: 'Source Serif 4', Georgia, Cambria, "Times New Roman", Times, serif;
}

ul, li {
    padding: 0;
    list-style-type: none;
}

a {
    text-decoration: none;
}

.grid-container {
    display: grid;
    grid-template-columns: 1fr 4fr 1fr;  
    column-gap: 30px;
    height: 100vh;
}


.header {
    grid-column: span 3; 
    background-color: #dadafa;   
    display: grid;
    grid-template-columns: 1fr 4fr 1fr; 
    column-gap: 30px;  
    border-bottom: 1px solid rgb(156, 156, 156);
}

.header-container {
    padding: 0px 10px;
    grid-column: 2 / 3; 
    align-items: center;
    justify-content: center;
} 

.logo {
    float: left;
}

.logo img {
    display: inline-block;
    font-size: 2.9em;
    padding: 30px 50px 15px 20px;
    max-width: 225px;


   
} 

nav {
    padding: 50px 20px 20px 20px;
    font-family: 'Poppins';
    float: right;
}

 

nav ul li {
    display: inline;
    padding: 0 14px;
    font-size: 1.4em;
    

}

nav ul li a {
    text-decoration: none;
    color:#59595c;
    
}

nav ul li a:hover {
    color:#2c2c7b;
    
} 

   .hero {
    grid-column: 2 / 3;
    height: 500px;
    max-width: 1400px;
    justify-content: center;
}

   .hero img {
    width: 100%;
    border: #7f7f7f;
    display: none;
    /* box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2); */
}

 
.hero.loaded img {
    display: block; /* Show images after loading */
}






.cookie-popup {
    background-color: #ffffff;   
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    border: solid #120f71;
    border-width: 1px;
    padding: 20px;
    width: 50%;
    z-index: 9999; /* Ensures it appears above other content */
}

.cookie-popup p {
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 18px;
}

.cookie-consent button {
    margin: 5px;
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}
 
 



 
.gallery-title-container {
    grid-column: 2 / 3;
    display: grid;
    padding: 20px 20px 1px 20px;
    text-align: left;
}

.featured-article {
    grid-column: 2 / 3;
    padding: 20px 30px;
    text-align: center;
    border: solid rgb(184, 184, 184);
    border-width: 1px 1px 1px 1px;
    margin-bottom: 30px;
} 

 
.featured-article h2 {
    text-align: center;
    font-size: 2.25em;
    font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
    color: #120f71;
}

.featured-article img {
    max-width: 500px;
    margin-right: 30px;
    margin-top: 20px;
    margin-bottom: 20px;
    float: left;
    border: 1px solid rgb(72, 71, 71);
}

.featured-article p {
    margin: 0;    /*WAS margin-top 50px; */
    padding: 5px;        /*WAS padding: 30px;*/
    font-size: 1.25em;
    line-height: 2em;
    color: #777;
    text-align: left;  /* added 9/9  */
    text-indent: 40px; /* added 9/9  */
    font-family: Verdana, Geneva, Tahoma; /* added 9/9  */
}  

.featured-article p a {
    text-decoration: none;
    color:#6161ae;
    
}

.blog-image-primary {
    margin: 20px 20px 2px 5px;
    max-width: 520px;
    float: left;
    text-align: left;   
} 

.image-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Two equal columns */
    gap: 20px; /* Space between items */
}

.blog-image {
    width: 100%; /* Full width of the grid cell */
}

.blog-image img {
    width: 100%; /* Make images responsive */
    height: auto; /* Preserve aspect ratio */
}
 

.caption {
    font-size: 14px; /* Adjust font size */
    color: #666; /* Color for the caption text */
    margin: 10px 0 0 0; /* Spacing between image and caption */
}



.browse-topics-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Creates 3 equal columns */
    gap: 10px; /* Space between grid items */
}

.browse-topics-columns a {
    padding: 10px; /* Optional: add padding to each item */
    box-sizing: border-box; /* Ensures padding is included in width */
}

.back-nav {
    grid-column: 2 / 3;
    padding: 20px 30px;
    clear: both;
    text-align: center;
}


.cards-preview {
    grid-column: 2 / 3;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; 
    column-gap: 30px;
    margin-bottom: 20px;
    }

.card {
    padding: 20px;
    margin-bottom: 30px;
    color: #777;
    border: 1px solid rgb(156, 156, 156);
    border-radius: 10px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.card img {
    width: 100%;
    
}

.tile-preview {
    grid-column: 2 / 3;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr; 
    column-gap: 30px;
    margin-bottom: 20px;
    margin-top: 10px;
    }

.tile {
    padding: 20px 20px 5px 20px;
    margin-bottom: 30px;
    color: #777;
    border: 1px solid rgb(156, 156, 156);
    border-radius: 10px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.tile img {
    width: 100%;
    
}


.aside {
    padding: 30px;
    border: 1px solid #ddd;
    color: #777;
}  

.footer {
    grid-column: span 3; 
    background-color: #d4cbca;   
    display: grid;
    grid-template-columns: 1fr 4fr 1fr; 
    column-gap: 30px;  
    text-align: center;
    padding: 30px;
}

.footer-inner-container {
    padding: 0px 10px;
    grid-column: 2 / 3; 
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
 
.footer-column {
    padding: 20px;
    text-align: center;
}

.footer p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
}

/*=======================
  Pagination
========================*/


.pagination {
    display: flex;
    list-style: none; /* Remove bullets */
    padding: 0; /* Remove padding */
    justify-content: center;
}

.pagination li {
    margin: 0 5px; /* Space between buttons */
}

.pagination a {
    display: block; /* Make links fill the list item */
    padding: 10px 15px; /* Add padding */
    border: 1px solid #999; /* Border style */
    text-decoration: none; /* Remove underline */
    color: #333; /* Text color */
}

.pagination a:hover {
    background-color: #f0f0f0; /* Background on hover */
}
 
.page-item {
  margin: 0 5px; /* Space between items */
}

.page-link {
  display: block; /* Make links fill the list item */
  padding: 10px 15px; /* Add padding for clickable area */
  border: 1px solid #999; /* Border around buttons */
  border-radius: 5px; /* Rounded corners */
  text-decoration: none; /* Remove underline */
  color: #333; /* Text color */
  background-color: #f8f8f8; /* Background color */
  transition: background-color 0.3s; /* Smooth transition */
}

.page-link:hover {
  background-color: #e0e0e0; /* Change background on hover */
}

.page-item.active {
  background-color: #d5c0c0; /* Active page background */
  color: rgb(26, 2, 2); /* Active page text color */
}

/* Newsletter Sign Up Form NEEDS WORK */ 

form {
    max-width: 400px;
    margin: 0 auto;
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

form p {
    margin: 0 0 15px;
}

input[type="email"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box; /* Helps with padding and border */
    margin-bottom: 10px;
}

input[type="checkbox"] {
    margin-right: 5px; /* Space between checkbox and label */

button {
    width: 100%;
    background-color: #4CAF50; /* Green */
    color: white;
    padding: 10px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}

button:hover {
    background-color: #45a049; /* Darker green */
}

.error {
    color: red;
    margin-top: 15px;
}

.success {
    color: green;
    margin-top: 15px;
}

 
 

/*  Responsive */

@media screen and (max-width: 1200px) {
    nav {
        grid-column: span 3;
        border-right: 0;
        border-bottom: 1px solid #ddd;
    }
    nav li {
        display: inline-block;
        margin-right: 10px;
    }
    article {
        grid-column: span 2;
    }
    aside {
        padding: 16px;
    }
}

@media screen and (max-width: 980px) {
    nav, article, aside {
        grid-column: span 3;
    }
    aside {
        border-left: 0;
        border-top: 1px solid #ddd;
    }
    article h2 {
        font-size: 2.5em;
    }
}

 


 
 