/* The basics for all .css codes */

@font-face { 
  font-family: Arial; 
} 

html {
  height: auto;
  background-color: #fefefe;
  margin: 0;
  padding: 0;
}

* {
  margin: 0;
  padding: 0;
  box-sizing:border-box;
}

body {
  font: normal 100% Arial, Helvetica, sans-serif;
  line-height: 1.6;
  color: #333;
  margin: 20px;
  background-color: #ffffff;
}

/* HTML5 elements as block */
article, aside, figure, footer, header, hgroup, nav, section { 
  display: block;
}

/* For all paragraphs */
p {
  padding: 0 0 10px 0;
  color: #000000;
  line-height: 1.7em;
  font-size: 110%;
}

/* For all headers  */
h1, h2, h3, h4, h5, h6 {
  font-family: 'News Cycle', Arial, sans-serif;
  color: #333; /* Dark color for headers */
}

h2 {
  font: bold 165% 'News Cycle', Arial, sans-serif;
  margin-bottom: 10px; /* Add space between header and slideshow */
  font-size: 1.5em;
  color: #333;
  text-align: center; /* Center the header text */
}

h3 {
  font: bold 130% 'News Cycle', Arial, sans-serif;
}

h4 {
  margin: 0;
  padding: 0;
  font: normal 150% 'News Cycle', Arial, sans-serif;
  color: #000000;
  line-height: 1.5em;
  list-style-type: square;
}

h5 {
  font-size: 1.3em;
  font-weight: bold;
  color: #007512;
  margin-top: 20px;
  margin-bottom: 10px;
  text-transform: uppercase; /* Optional: Makes text all caps */
}


a, a:hover {
  color: #0066cc; /* A more distinct blue */
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  color: #004d99; /* Darker blue on hover */
}

/* ul is unordered lists and ol is ordered lists */

/* List and list items styles for better readability */
ul {
  margin-left: 20px;
  list-style-type: square; /* Square bullet style */
}

ul li {
  font-size: 16px; /* Slightly smaller font size for list items */
  color: #333; /* Darker color for list items */
}

ol {
  margin: 8px 0 22px 20px;
}

ol li {
  margin: 0 0 11px 0;
}

/* For all parts of the html website */
#main, header, #banner, #menubar, #site_content, footer, #content_grey, nav {
  margin-left: auto; 
  margin-right: auto;
}

#main {
  background: #ffffff ;
}

header { 
  text-align: center;
  background-color: white;

}


/* Close banner CSS */



/* Navigation Bar underneath banner */
.navbar {
  overflow: hidden;
  background-color: #0077c3;
  display: flex;
  flex-wrap:wrap;
  justify-content: space-around;
  padding: 4px 4px; 
}

/* Links inside the navbar */
.navbar a {
  float: left;
  font-size: 16px;
  font: bold 120% Arial, Helvetica, sans-serif;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

/* The dropdown container */
.dropdown {
  float: left;
  overflow: hidden;
}

/* Dropdown button */
.dropdown .dropbtn {
  font-size: 16px;
  font: bold 120% Arial, Helvetica, sans-serif;
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  font-family: inherit; /* Important for vertical align on mobile phones */
  margin: 0; /* Important for vertical align on mobile phones */
}

/* Add a red background color to navbar links on hover */
.navbar a:hover, .dropdown:hover .dropbtn {
  background-color: #035e97;
}

/* Dropdown content (hidden by default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

/* Links inside the dropdown */
.dropdown-content a {
  float: none;
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

/* Add a grey background color to dropdown links on hover */
.dropdown-content a:hover {
  background-color: #ddd;
}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
  display: block;
}

/* Highlight the current page link */
/* Style for regular active links */
.navbar a.active {
  background-color: #035e97; /* Slightly darker shade for current page */
  color: white; /* Ensure text remains visible */
}

/* Style for active dropdown buttons */
.dropdown .dropbtn.active {
  background-color: #035e97; /* Slightly darker shade for current page */
  color: white; /* Ensure text remains visible */
}


.outfit-class{
  font-family: "Outfit", serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

/* Secondary Header Textbox */
.secondary-header {
  background-color: #ffffff; /* Light grey background */
  text-align: center; /* Center the text */
  margin: 0 auto; /* Center the textbox horizontally */
  padding-top: 5px ;
  padding-bottom: 5px;
  padding-left:25px;
  padding-right: 25px;
  
}

.secondary-header h1 {
  font-family: "Outfit", serif;
  font-style: normal;
  font-size: 70px; /* Adjust the size as needed */
  text-transform: uppercase; /* Optional for all caps */
  text-align: center; /* Optional for centering */
  color: #0067C5; 
  text-shadow: 1px 1px #001A31; 
}



/* Container for slideshow and text box */
.content-container {
  display: grid;
  grid-template-columns: 1.5fr 1fr; /* Two equal-width columns */
  grid-template-rows: auto auto; /* Allow sections to vary in height */
  gap: 20px; /* Space between items */
  margin: 20px 0;
}

/* Slideshow container */
.forecast-container {
  grid-column: 1 / 2; /* First column */
  grid-row: 1 / 2; /* First row */
  min-height: 300px; /* Minimum height, adjust as needed */
  background-color: #f9f9f9;
  padding: 20px;
  border-radius: 8px;
}

.forecast-dashboard{
  grid-column: 1 / 2; /* Place in the first column */
  margin-top: 20px;
  height: 550px;
}

/* Each slide */
.slide {
  display: none;
  width: 100%;
  height: 100%;
  text-align: center;
}

/* Slide image */
.slide-image {
  width: 100%;
  height: 400px;
  object-fit: cover; /* Ensures the image maintains aspect ratio and fills the box */
}

/* Caption */
.caption {
  position: absolute;
  bottom: 2px; /* Position at the bottom of the slide */
  left: 0;
  width: 100%;
  text-align: center;
  color: white;
  font-size: 18px; /* Adjust size as needed */
  padding: 5px;
  background: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
  box-sizing: border-box;
}


/* Slideshow */
.slideshow {
  width: 80%; /* Adjust based on your preference */
  margin-bottom: 20px;
  border: 2px solid #ccc;
  border-radius: 10px;
  overflow: hidden;
}

/* Slide image styles */
.slide-image {
  width: 100%;
  height: 100%; /* Keep consistent with earlier settings */
  object-fit: cover;
  object-position: center;
}




.dot {
  height: 12px;
  width: 12px;
  margin: 0 5px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  cursor: pointer;
}

.dot:hover, .dot.active {
  background-color: #717171;
}



.links-container {
  grid-column: 2 / 3; /* Place in the second column */
  grid-row: 2 / 3; /* Second row */
  text-align: center;

}

.links-container ul {
  list-style-type: none;
  padding: 0;
}
.links-container p{
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 10px;
}

.links-container h2 {
  font: bold 165% 'News Cycle', Arial, sans-serif;
  margin-bottom: 10px; /* Add space between header and slideshow */
  font-size: 1.5em;
  color: #333;
  text-align: center; /* Center the header text */
}

.links-container li {
  margin: 5px 0;
}

.links-container a {
  text-decoration: none;
  color: #007BFF;
  font-size: 20px;
}

.links-container a:hover {
  text-decoration: underline;
}





.forecast-dashboard{
  grid-column: 1 / 2; /* Place in the first column */
  height: 550px;
}


/* Weather Dashboard */
.weather-dashboard {
  grid-column: 2 / 3; /* Second column */
  grid-row: 1 / 2; /* First row */
  min-height: 300px; /* Minimum height, adjust as needed */
  background-color: #ffffff;
  padding: 20px;
  border-radius: 8px;
}

.links {
  background-color: #f3f8fd;
  border: 1px solid #d0e2f2;
  border-radius: 8px;
  text-align: center;
  max-height: 565px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  background-color: #f9f9f9;
  padding: 5px;

}

.live-weather-radar {
  grid-column: 1 / 2; /* Second column */
  grid-row: 2 / 3; /* Second row */
  min-height: 250px; /* Minimum height, adjust as needed */
  background-color: #fdfdfd;

}

.radar_frame{
  background-color: #f3f8fd;
  border: 1px solid #d0e2f2;
  border-radius: 8px;
  text-align: center;
  max-height: 500px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  background-color: #f9f9f9;
  padding: 20px;
  border-radius: 8px;
}

.weather-box {
  background-color: #f3f8fd;
  border: 1px solid #d0e2f2;
  border-radius: 8px;
  text-align: center;
  max-height: 565px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  background-color: #f9f9f9;
  padding: 20px;
  border-radius: 8px;
}

.weather-box h3 {
  margin-bottom: 10px;
  color: #0077c3;
}

.weather-box p {
  font-size: 1.6rem;
  color: #333;
}
.grid-item {
  flex: 1; /* Allow each item to take equal space */
  padding: 10px;
}


footer {
  width: 100%;
  margin-top: 20px;
  max-width: 1600px;
  background: #007F3E; /* Dark green background */
  color: white;
  text-align: center;
  padding: 10px 0;
  position: relative;
  bottom: 0;
}

.footer-container {
  max-width: 1600px; /* Controls width */
  margin: 0 auto; /* Center-aligns the footer */
  margin-bottom: 0;
}

.footer-links {
  margin-bottom: 10px; /* Space between links and copyright */
}

.footer-links a {
  color: white;
  text-decoration: none;
  margin: 0 10px;
  font-size: 20px;
}

.footer-links a:hover {
  text-decoration: underline; /* Hover effect */
}

footer p {
  font-size: 18px;
  margin-top: 10px;
}


/* For large screens (up to 1600px) */
/* Large screens - up to 1600px */
@media screen and (min-width: 1600px) {
  body {
    background-color: #f0f0f0; /* Example: Keep a clean background for larger screens */
  }

  #main {
    max-width: 1600px; /* Restrict content width */
    margin: 0 auto;
    background-color: #ffffff;
  }


  .content-container {
    grid-template-columns: 2fr 1.5fr; /* Adjust column sizes for better distribution */
    gap: 40px; /* Increase gap between sections */
  }

  .forecast-container, .weather-dashboard {
    min-height: 400px; /* Increase minimum height for better visual balance */
  }

  .secondary-header h1 {
    font-size: 80px; /* Scale up header text */
  }

  footer {
    max-width: 1600px;
    margin: 0 auto;
  }
}

/* Small screens - phones */
/* Small screens - phones */

@media (max-width: 768px) {


  .content-container {
    display: flex;
    grid-template-columns: 1fr; /* Stack content in a single column */
    flex-direction: column; /* Stack the items vertically */  
  }
  
  /* Style for each grid item inside the content-container */
  .grid-item {
    flex: 1; /* Allow each item to take equal space */
    padding: 10px;
  }
  
  /* Optional: Make sure the iframe in the weather dashboard takes up the full width */
  .weather-dashboard iframe {
    width: 100%;
    height: 520px;
  }
  
  /* Optional: Adjust the height of the radar iframe */
  .live-weather-radar iframe {
    width: 100%;
    height: 450px;
  }

  .weather-dashboard {
    min-height: 200px; /* Reduce height for better fit */
  }

  .forecast-container {
    min-height: 250px; /* Reduce height for better fit */
  }

  .secondary-header h1 {
    font-size: 40px; /* Scale down header text for smaller screens */
  }
  
}
