/* 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;
}

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;

}

/* For the banner at the top of the webpage */
.banner-container {
  width: auto; /* Full page width */
  display: flex;
  justify-content: center;
  border: 5px solid #007f3e;
  background-color: #ffffff;
  height: 450px; /* Set a fixed height for the banner container */
}

.banner-img {
  width: 100%; /* Change the width to make the banner smaller */
  height: auto; /* Ensure it scales proportionally */
}

#banner {
  text-align: center;
  background-color: rgb(255, 255, 255)
}
/* 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 */
}

/*End of Navigation Bar CSS*/


#site_content {
  display: flex; /* Use flexbox to position children side by side */
  justify-content: space-between;
  margin-top: 20px;
  align-items: flex-start; /* Align items to the top */
  gap: 20px; /* Spacing between tabs and content */

}

.content-wrapper {
  display: grid;
  grid-template-columns: 2fr 1fr; /* Two equal-width columns */
  grid-template-rows: auto auto; /* Allow sections to vary in height */
  gap: 10px; /* Space between items */
  margin: 20px 0;
}

/* Main Content */
#main-content_about {
  flex:2;
  padding: 10px;
  margin-left: 5px;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  margin-bottom: 5px;
  
}

#main-content_about h2 {
  font-size: 215%;
  text-align: center;
  margin-bottom: 10px;
  color: #005fa3;
}

#main-content_about p {
  margin-bottom: 15px;
  line-height: 1.8;
  font-size: large;
  padding-left: 15px;
  padding-right: 15px;
}

#main-content_about ul {
  margin-left: 20px;
  list-style-type: disc;
}

#main-content_about li {
  margin-bottom: 10px;
}

#people-section {
  margin-top: 30px;

}

h3 {
  font-size: 1.6rem;
  color: #000000;
  margin: 20px 20px;
}

.people-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 equal columns */
  gap: 20px;
  justify-content: center;
  margin-bottom: 10px;
  align-items: start;
}

.officer-card {
  display: flex;
  flex-direction: column;
  align-items: center; /* Center the content horizontally */
  justify-content:baseline; /* Center the content vertically if needed */
  text-align: center;
  height: 230px;
  background-color: #ffffff;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  width: 100%;
}
/* For the second row to center */
.officer-card:nth-child(n+5) {
  grid-column: span 1;
  justify-self: center;
}

.officer-card img {
  width: 60%; /* Ensure images scale */
  height: auto;
  border-radius: 50%; /* Circular image */
  margin-bottom: 15px;
}

.officer-info {
  text-align: center;
}

.officer-info h4 {
  font-size: 20px;
  color: #000000;
  margin-bottom: 10px;
}

.officer-info h5 {
  font-size: 1.1rem;
  color: #0077c3;

}



/* Style for the links in the faculty info */
.Officer-info a {
  color: #000000; /* Link color */
  text-decoration: none; /* Remove underline */
}

.Officer-info a:hover {
  text-decoration: underline; /* Underline on hover */
  color: #007417; /* Darker color on hover */
}


.button-container {
  display: flex;
  justify-content: space-evenly;
  margin-top: 20px;
}

.button {
  display: inline-block;
  padding: 10px 20px;
  font-size: 20px;
  text-align: center;
  text-decoration: none;
  background-color: #007BFF;
  color: white;
  border-radius: 5px;
  transition: background-color 0.3s;
}

.button:hover {
  background-color: #0056b3;
  color: white;
}






.tabs-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 20px;
}

.tab {
  background-color: #e3f2fd;
  padding: 10px;
  border: 1px solid #e7e7e7;
  border-radius: 5px;
}

.tab h3 {
  font-size: 1.4rem;
  color: #005fa3;
  margin: 0;
  padding: 10px;
  background-color: #f3f3f3;
  border: 1px solid #ccc;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s; 
}

.tab h3.active {
  background-color: #0077c3;
  color: white;
}



.tab-content {
  display: none; /* Hide content initially */
  padding: 10px;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin-top: 10px; /* Add some space between the tab and the content */
  border-radius: 5px; /* Optional: Adds rounded corners */
}


.social-links {
  margin-top: 10px;
}

.social-icon {
  font-size: 1.5rem;
  color: #333;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  margin-right: 15px;
  transition: color 0.3s;
}

.social-icon:hover {
  color: #0077c3; /* Change to your desired hover color */
}

.social-icon i {
  margin-right: 5px;
}

.instagram-feed-container {
  text-align: center;
  margin: 50px auto;
  padding: 20px;
  max-width: 900px;
}

.instagram-feed-container h3 {
  font-size: 2rem;
  color: #005fa3;
  margin-bottom: 30px;
}

.snapwidget-rpf {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}
 
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;
}
.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr;  /* Creates two equal columns */
  gap: 20px;  /* Adds space between the columns */
  margin-top: 20px;
}

.about-section {
  grid-column: 1 / 2; /* Takes the first column */
  padding: 20px;
  font-size: 14px; /* Reduce text size */
  line-height: 1.4; /* Tighter line spacing */
  max-height: 400px; /* Adjust this value to control the height */
  overflow: hidden; /* Hide content that overflows */
}

.about-section p {
  margin-bottom: 10px; /* Reduce space between paragraphs */
}

.about-section h2 {
  font-size: 18px; /* Adjust header font size */
  margin-bottom: 10px; /* Less margin for headers */
}

.tabs-instagram {
  grid-column: 2 / 3; /* Takes the second column */
}

.officers-container {
  grid-column: 1 / 2; /* Makes the officers section span both columns */
}

@media (max-width: 768px) {
  .grid-container {
    grid-template-columns: 1fr; /* Stacks the sections on top of each other on smaller screens */
  }
}

/* Large screens - up to 1600px */
@media screen and (min-width: 1600px) {
  body {
    background-color: #ffffff;
  }

  #main {
    max-width: 1600px;
    margin: 0 auto;

  }

  .navbar {
    padding: 5px;
  }



  .people-container {
    grid-template-columns: repeat(5, 1fr); /* Adjust columns for wider layout */
    gap: 30px;
  }

  .officer-card {
    height: 300px; /* Larger card height */
  }

  h2, h3 {
    font-size: 2.2rem; /* Scale up headings */
  }

  footer {
    max-width: 1600px;
    margin: 0 auto;
  }
}



/* 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;

  margin:20px;
  padding: 0;
  color: #ffffff;
  background-color: #ffffff;
}
/* For all paragraphs */
p {
  padding: 0 0 10px 0;
  color: #080404;
  line-height: 1.7em;
  font-size: 110%;
}

/* For all headers  */
h1, h2, h3, h4, h5, h6 {
  font-family: 'News Cycle', Arial, sans-serif;
  margin-bottom: 10px;
  color: #000000;
}

h1 { font-size: 175%; }
h2 { font-size: 165%; }
h3 { font-size: 130%; }
h4, h5, h6 { font-size: 95%; color: #888; }


/* Links */
a {
  color: #FFF;
  text-decoration: underline;
}
a:hover {
  background: transparent;
  color: #035e97;
}

/* ul is unordered lists and ol is ordered lists */

ul, ol {
  margin: 2px 0 22px 30px;
  line-height: 1.7em;
  color: black;
  font-size: 110%;
}

ul li, ol li {
  font-size: 110%;
}


/* For all parts of the html website */
/* Layout Containers */
header, #main, .navbar, .tabs-container {
  margin: 0 auto;
}

header { 
  text-align: center;
  background-color: white;

}

/* Navigation Bar underneath banner */
.navbar {
  display: flex;
  justify-content: space-around;
  background-color: #0077c3;
  padding: 4px; 
}

/* Links inside the navbar */
.navbar a {
  font-size: 16px;
  font: bold 120% Arial, Helvetica, sans-serif;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

.navbar a:hover, .dropdown:hover .dropbtn {
  background-color: #035e97;
}

/* 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;
  transition: background-color 0.3s ease, color 0.3s ease;
  color: rgb(255, 255, 255);
  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 */
.dropdown:hover .dropdown-content {
  display: block;
}

/* 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;
}

.dropdown-content.show {
  display: block;
}

/* Links inside the dropdown */

.dropdown-content a {
  color: #333;
  padding: 10px;
  display: block;
}


/* 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: rgb(24, 0, 0); /* Ensure text remains visible */
}

/*End of Navigation Bar CSS*/

/* For the banner at the top of the webpage */
.banner-container_about{
  width: auto; /* Full page width */
  display: flex;

  justify-content: center;
  background-color: #e3f2fd;
  border: 2px solid #0077c3;
  height: 450px; /* Set a fixed height for the banner container */
}

.banner-img_2 {
  width: 90%; /* Change the width to make the banner smaller */
  max-width: 1100px;
  height: auto; /* Ensure it scales proportionally */
}

/* Close banner CSS */

/* Secondary Header Textbox */
.secondary-header {
  text-align: center;
  background-color: #ffffff;
  padding: 5px 5px;
  margin: 0px 0;
}

.secondary-header h1 {
  font-size: 50px;
  color: #005fa3;
}

#site_content {
  display: flex; /* Use flexbox to position children side by side */
  justify-content: space-between;
  align-items: flex-start; /* Align items to the top */
  gap: 20px; /* Spacing between tabs and content */

}

/* Main Content */
#main-content_about {
  flex:2;
  padding-left: 20px;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  margin-bottom: 10px;
  
}

#main-content_about h2 {
  font-size: 1.8rem;
  margin-bottom: 10px;
  color: #005fa3;
}

#main-content_about p {
  margin-bottom: 15px;
  line-height: 1.8;
}

#main-content_about ul {
  margin-left: 20px;
  list-style-type: disc;
}

#main-content_about li {
  margin-bottom: 10px;
}

.button-container {
  text-align: center;  /* Centers the button inside the container */
  margin-top: 20px;  /* Optional: Adds space above the button */
}

.course-catalog-button button {
  background-color: #0077c3;
  color: white;
  font-size: 20px;
  padding: 10px 30px;
  border: none;
  border-radius: 5px;
  margin-bottom: 15px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.course-catalog-button button:hover {
  background-color: #035e97;
}



.tabs-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 20px;
}

.tab {
  background-color: #e3f2fd;
  padding: 10px;
  border: 1px solid #e7e7e7;
  border-radius: 5px;
}

.tab h3 {
  font-size: 1.4rem;
  color: #005fa3;
  margin: 0;
  padding: 10px;
  background-color: #f3f3f3;
  border: 1px solid #ccc;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s; 
}

.tab h3.active {
  background-color: #0077c3;
  color: white;
}



.tab-content {
  display: none; /* Hide content initially */
  padding: 10px;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin-top: 10px; /* Add some space between the tab and the content */
  border-radius: 5px; /* Optional: Adds rounded corners */
}




footer {
  width: 100%;
  margin-top: auto;
  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;
}

@media screen and (min-width: 1600px) {
  body {
    background-color: #f0f0f0; /* Example: Change background color */
  }

  #main {
    max-width: 1600px; /* Ensure the content doesn’t exceed 1600px */
    margin: 0 auto;
    background-color: white;
  }

  .navbar {
    padding: 5px; /* Increase padding in the navbar */
  }

  .tabs-container {
    flex-direction: column; /* Adjust content layout to a row for larger screens */
    gap: 30px; /* Add more space between items */
  }
  #site-content{
    background-color: white;
  }

  #main-content_about {
    flex: 2;
    padding-left: 20px;
    background-color: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
  }

  .feature-wrapper {
    flex: 2;
    max-width: 80%; /* Allow more space for content */
  }

  .footer-container {
    max-width: 1600px; /* Center the footer */
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  body {
    background-color: #f0f0f0; /* Change background color */
  }

  #main {
    max-width: 768px; /* Ensure the content doesn’t exceed 768px */
    margin: 0 auto;
  }

  header{
    min-width: 1300px;
  }

  .banner-container{
    min-width: 1300px;
  }

  .navbar {
    padding: 10px; /* Adjust navbar padding for mobile */
    min-width: 1300px;
  }

  .tabs-container {
    flex-direction: column; /* Stack the tabs vertically */
    gap: 15px; /* Adjust space between tabs */
  }

  #main-content_about {
    flex: 1; /* Make content container take full width */
    padding-left: 15px;
  }

  .feature-wrapper {
    flex: 1;
    max-width: 100%; /* Allow the feature container to take full width */
  }

  footer{
    min-width: 1300px; /* Center the footer */
    margin: 0 auto;
  }
  
  .footer-links {
    font-size: 14px; /* Adjust font size for mobile */
  }
}