/*
Theme Name: Christiana Lilly
Theme URI: https://christianalilly.com/
Author: Christiana Lilly
Author URI: https://christianalilly.com/
Description: WordPress theme generated from the Christiana Lilly static site.
Version: 1.0.0
Text Domain: clilly
*/
:root {
  --color-primary: #2B46F2;
  --color-secondary: #FA643F;
  --color-tertiary: #FFF7A9;
  --color-background: #E0E4FF;
  --color-text-on-white:var(--color-secondary);
  --color-text-on-tertiary:var(--color-secondary);
  --color-text-on-background:var(--color-primary);
  --font-title: "Barlow Condensed", sans-serif;
  --font-body: 'Lato', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-title);
  font-weight: 400;
  font-style: normal;
  font-size: 40px;
}

/* Body Text */
body,
p,
div,
span {
  font-family: var(--font-body);
  font-weight: normal;
  /* Optional: regular weight for body text */
}

h2 {
  font-weight: bold;
  font-size: 32px;
}

h3 {
  font-weight: bold;
  font-size: 24px;
}

/* General Styles */
body {
  margin: 0;
  padding: 0;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  background-color: var(--color-background);
}

.barlow-condensed-bold {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 40px;
}

/* Navigation Bar Styles */
.navbar {
  position: fixed;
  /* Keeps the navbar always at the top */
  top: 0;
  width: 100%;
  z-index: 8;
    /* Ensures the navbar is above all other elements */
  background-color: var(--color-background);
  /* Light blue background */
  padding: 10px 0px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.navbar-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: auto;
  padding: 0px 20px;
}

/* Logo */
.logo {
  color: var(--color-primary);
  /* Blue color matching the button */
  font-family: var(--font-title);
  font-weight: bold;
  font-size: 24px;
}

.logo a{
  color: var(--color-primary);
  text-decoration: none;
}

/* Menu Icon for Mobile */
.menu-icon {
  display: none;
  flex-direction: column;
  cursor: pointer;
}

.menu-bar {
  width: 25px;
  height: 3px;
  background-color: var(--color-primary);
  margin: 3px 0;
}

/* Dropdown Menu Styles for Mobile */
.nav-sub-item,
.nav-links .sub-menu {
  display: none;
  list-style: none;
  padding-left: 20px;
}

.nav-sub-item li a,
.nav-links .sub-menu li a {
  margin: 10px 0;
  text-decoration: none;
  color: black;
  font-weight: normal;
  font-size: 16px;
}

.nav-sub-item li a:hover,
.nav-links .sub-menu li a:hover {
  color: var(--color-primary);
}

/* Navigation Links for Desktop */
.nav-links {
  display: flex;
  list-style: none;
}

.nav-links:hover {
  color: var(--color-primary);
}

.nav-links li {
  margin: 0 15px;
  position: relative;
}

.nav-links li:hover > .nav-sub-item,
.nav-links li:focus-within > .nav-sub-item,
.nav-links li:hover > .sub-menu,
.nav-links li:focus-within > .sub-menu {
  display: block;
}

.nav-links .sub-menu {
  position: absolute;
  top: 40px;
  left: 0;
  background-color: var(--color-background);
  padding: 10px 20px;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  min-width: 180px;
}

.nav-item {
  text-decoration: none;
  color: black;
  font-size: 18px;
}

.nav-item:hover {
  color: var(--color-primary);
}

.contact-button {
  background-color: var(--color-primary);
  color: white;
  padding: 10px 20px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Specializing In Section Styles */
.specializing-in {
  text-align: center;
  padding: 40px 20px;
  background-color: white;
}

.section-title {
  color: var(--color-secondary);
  /* Red-Orange color */
  font-weight: bold;
}

/* Specializations Flex Container */
.specializations {
  display: flex;
  flex-wrap: wrap;
  /* Allow items to wrap onto the next line */
  justify-content: center;
  /* Center items within the container */
  gap: 30px;
  /* Add spacing between items */
  max-width: 1200px;
  margin: 0 auto;
  /* Center the container horizontally */
}

/* Specialization Item */
.specialization-item {
  flex: 1 1 calc(25% - 30px);
  /* Take up 25% of container width minus the gap, grow as needed */
  max-width: 250px;
  /* Set a max width for better alignment on larger screens */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.specialization-item img {
  border-radius: 10px;
  object-fit: cover;
  margin-bottom: 10px;
}

.specialization-item p {
  color: var(--color-secondary);
  /* Red-Orange color */
  font-size: 18px;
  margin: 0;
}

/* Portfolio Button */
.portfolio-button-div {
  display: flex;
  align-content: center;
  justify-content: center;
}

.portfolio-button {
  display: flex;
  /* Make the button a flex container */
  align-items: center;
  /* Vertically center the content */
  justify-content: center;
  /* Horizontally center the content */
  margin-top: 30px;
  padding: 15px 30px;
  background-color: var(--color-tertiary);
  /* Light yellow background */
  color: var(--color-secondary);
  /* Red-Orange text */
  border: 2px solid var(--color-secondary);
  /* Border */
  border-radius: 20px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s, color 0.3s;
  text-align: center;
  font-size: 18px;
  width: 150px
}

.portfolio-button:hover {
  background-color: var(--color-secondary);
  color: var(--color-tertiary);
}

/* Logo Section Styles */
.logo-section {
  padding: 20px 0;
  border-top: 5px solid var(--color-secondary);
  border-bottom: 5px solid var(--color-secondary);
  background-color: white;
  /* Light gray background */
  overflow: hidden;
  /* Hide overflow for sliding effect */
  position: relative;
}

/* Logo Carousel Container */
.logo-carousel {
  display: flex;
  align-items: center;
  gap: 30px;
  width: max-content;
  /* Ensures the container is only as wide as its children */
  animation: scroll-logos 90s linear infinite;
  /* Continuous animation for large screens */
}

/* Logo Items */
.logo-item {
  width: 120px;
  /* Consistent width */
  height: 80px;
  /* Consistent height */
  object-fit: contain;
  /* Makes sure logos fit nicely */
  filter: grayscale(100%);
  /* Makes logos grayscale */
  transition: transform 0.3s ease;
  /* Scaling effect on hover */
}

.logo-item:hover {
  transform: scale(1.1);
  /* Slightly enlarge logo on hover */
}

/* Recently Published Section */
.recently-published {
  background-color: white;
  text-align: center;
  padding: 40px 20px;
}

/* Carousel Container */
/* .carousel-container {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  overflow: hidden;
} */

/* Carousel */
/* .carousel {
  display: flex;
  transition: transform 0.5s ease-in-out;
  width: 300%;
} */

/* Carousel Item */
/* .carousel-item {
  height: 250px;
  width: 33.333%;
  display: flex;
  align-items: center;
  justify-content: space-between;
} */

/* .carousel-image {
  height:100%;
  object-fit: cover;
  flex: 1
} */


/* .carousel-content {
  padding: 0 16px 0 16px;
  background-color: var(--color-tertiary);
  text-align: left;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  flex:2
} */

/* .carousel-title {
  color: var(--color-secondary);
  font-size: 20px;
  margin: 0;
  margin-bottom: 10px;
} */

/* .carousel-description {
  color: var(--color-secondary);
  font-size: 16px;
} */

/* Container */
.carousel-container {
  max-width: 980px;
  margin: 0 auto;
  padding: 18px 12px;
  box-sizing: border-box;

  /* This makes it act like a viewport for sliding */
  position: relative;
  overflow: hidden;
  /* hide off-screen slides */
}

/* Track: horizontal scrollable with snap */
.carousel {
  display: flex;
  gap: var(--gap, 16px);
  /* keep consistent spacing if you want */
  transition: transform 450ms cubic-bezier(.2, .9, .2, 1);
  will-change: transform;
  align-items: stretch;
  /* remove scroll-snap / native scrolling behavior for explicit slider */
  overflow: visible;
  scroll-snap-type: none;
}

/* Each slide is exactly the carousel viewport's width (one-per-view) */
.carousel-item {
  scroll-snap-align: none;
  flex: 0 0 100%;
  /* ensure visual consistency */
  box-sizing: border-box;
  background: var(--color-tertiary);
  border-radius: var(--card-radius, 10px);
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  box-shadow: 0 6px 18px rgba(11, 61, 145, 0.06);
  transition: transform .18s ease, box-shadow .18s ease;
  text-decoration: none;
  color: inherit;
  min-width: 0;
  /* prevents overflow from long text */
}

.carousel::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.12);
  border-radius: 4px;
}

.carousel {
  scrollbar-color: rgba(0, 0, 0, 0.12) transparent;
}

/* Optional: a small horizontal gap applied visually while keeping slides 100% width */
.carousel-item+.carousel-item {
  margin-left: var(--gap, 12px);
}

/* Keep hover lift */
.carousel-item:focus-within,
.carousel-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(11, 61, 145, 0.09);
}

/* Responsive: mobile unchanged (still one-per-view), no special calc widths required */
@media (max-width: 520px) {
  .carousel-container {
    padding: 12px;
  }

  .carousel-item {
    padding: 14px;
  }

  .carousel-description {
    -webkit-line-clamp: 6;
  }
}

/* Title link + headline */
.carousel-title-link {
  text-decoration: none;
  color: inherit;
}

.carousel-title {
  font-size: 1.05rem;
  line-height: 1.2;
  margin: 0 0 8px 0;
  color: var(--color-secondary);
  word-break: break-word;
}

/* Meta line: publication • date */
.carousel-meta {
  font-size: 0.87rem;
  color: rgba(11, 61, 145, 0.8);
  margin-bottom: 10px;
  display: flex;
  gap: 8px;
  align-items: center;
}

.carousel-publication {
  font-weight: 600;
}

.carousel-sep {
  opacity: 0.6;
}

/* Description clamped to 4 lines */
.carousel-description {
  margin: 0;
  color: rgba(0, 0, 0, 0.78);
  font-size: 0.95rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Responsive: 2 across at medium widths */
@media (max-width: 900px) {
  .carousel-item {
    min-width: calc((100% - var(--gap)) / 2);
  }
}

/* Mobile: single column (full width) */
@media (max-width: 520px) {
  .carousel {
    gap: 12px;
    padding-bottom: 6px;
  }

  .carousel-item {
    min-width: 100%;
  }

  .carousel-title {
    font-size: 1rem;
  }

  .carousel-description {
    -webkit-line-clamp: 6;
  }
}

/* Carousel Controls (Chevrons) */
.carousel-control {
  width: 40px;
  height: 40px;
  background-color: transparent;
  border: 2px solid var(--color-secondary);
  color: var(--color-secondary);
  font-size: 24px;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
  border-radius: 50%;
  /* Circle shape */
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-control:hover {
  background-color: var(--color-secondary);
  color: var(--color-tertiary);
}

/* Carousel Dots and Chevrons Positioning */
.carousel-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}

.carousel-dots {
  display: flex;
  gap: 10px;
}

.dot {
  height: 15px;
  /* width: 15px; */
  background-color: var(--color-secondary);
  border-radius: 50%;
  display: inline-block;
  cursor: pointer;
}

.dot.active {
  background-color: var(--color-tertiary);
  /* Light color for active */
}

/* ---- Carousel visuals update ---- */

/* Title bigger + centered */
.carousel-title {
  font-size: 1.35rem;
  /* larger title */
  line-height: 1.12;
  margin: 0 0 8px 0;
  color: var(--color-secondary);
  word-break: break-word;
  text-align: center;
  /* center headline */
  font-weight: 700;
}

/* Meta row centered beneath title */
.carousel-meta {
  font-size: 0.9rem;
  color: rgba(11, 61, 145, 0.85);
  margin-bottom: 10px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  /* center publication + date */
  text-align: center;
}

/* Date element styling */
.carousel-date {
  display: inline-block;
  color: rgba(11, 61, 145, 0.75);
  font-weight: 600;
}

/* Make description slightly tighter and centered text flow */
.carousel-description {
  margin: 0;
  color: rgba(0, 0, 0, 0.78);
  font-size: 0.98rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  /* keep body left-aligned for readability */
}

/* Center the whole navigation row under the carousel */
.carousel-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  /* center chevrons and dots */
  gap: 16px;
  margin-top: 20px;
}

/* Prev/Next chevrons as circular buttons (centered visually) */
.carousel-control {
  width: 44px;
  height: 44px;
  background-color: transparent;
  border: 2px solid var(--color-secondary);
  color: var(--color-secondary);
  font-size: 22px;
  cursor: pointer;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.12s ease;
}

.carousel-control:hover,
.carousel-control:focus {
  background-color: var(--color-secondary);
  color: var(--color-tertiary);
  transform: translateY(-2px);
  outline: none;
}

/* Dots: centered, clickable */
.carousel-dots {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
}

.dot {
  width: 12px;
  /* height: 12px; */
  border-radius: 50%;
  background-color: rgba(250, 100, 63, 0.25);
  /* subtle inactive color */
  border: 2px solid rgba(250, 100, 63, 0.45);
  display: inline-block;
  cursor: pointer;
  transition: transform .12s ease, background-color .12s ease;
}

.dot:hover,
.dot:focus {
  transform: scale(1.08);
  outline: none;
}

.dot.active {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
}

/* Ensure nav sits below the carousel and is visually centered */
.carousel-container+.carousel-navigation,
.carousel-navigation {
  width: 100%;
  box-sizing: border-box;
}


/* Footer Styles */
.footer {
  background-color: var(--color-tertiary);
  padding: 30px 20px;
  border-top: 5px solid var(--color-secondary);
  border-bottom: 5px solid var(--color-secondary);
  text-align: center;
}

.footer-container {
  max-width: 1200px;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

/* Footer Logo */
.footer-logo {
  color: var(--color-secondary);
  /* Orange color for logo text */
  font-family: var(--font-title);
  font-weight: bold;
  font-size: 32px;
}

/* Social Media Icons */
.social-icons {
  display: flex;
  gap: 20px;
}

.social-icon {
  color: var(--color-secondary);
  /* Orange color for icons */
  font-size: 30px;
  text-decoration: none;
  transition: color 0.3s ease;
}

.social-icon:hover {
  color: var(--color-secondary);
  /* Slightly darker orange for hover */
}

/* Footer Text */
.footer-text {
  color: var(--color-secondary);
  /* Orange color for footer text */
  font-size: 16px;
}

/* Hero Section Styles */
.hero {
  position: relative;
  z-index: 9;
  height: 100vh;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: space-between;
  align-items: center;
  background: url('images/BG\ Image\ and\ Mask.png') no-repeat center center/cover;
  color: white;
}

.hero-content {
  max-width: 600px;
  padding: 0 1rem 0 0;
  margin-bottom: 90px;
}

.hero-name {
  font-size: 36px;
  font-weight: bold;
  color: black;
}

.hero-description {
  margin-top: 10px;
  font-size: 20px;
  line-height: 1.5;
  color: black;
}

.hero-button {
  margin: 20px 0 20px 0;
  display: inline-block;
  padding: 10px 25px;
  background-color: var(--color-primary);
  color: white;
  text-decoration: none;
  font-weight: bold;
  border-radius: 10px;
}

.hero-tags {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 20px;
  gap: 10px;
}

.tag-item {
  color: black;
  font-size: 18px;
  display: flex;
}

.tag-item p{
  margin-block-start: 0;
  margin-block-end: 0;
}

.tag-bullet {
  color:var(--color-primary);
  padding-right: 5px;
}

.chevron-down {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}

.chevron-down a {
  color: var(--color-secondary);
  font-size: 36px;
  text-decoration: none;
}

/* Book Section Styles */
.book-section {
  background-color: var(--color-tertiary);
  padding: 40px;
}

/* Book Flex Container */
.book-flex-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 20px;
  max-width: 800px;
  margin: 0 auto;
  flex-wrap: wrap;
  /* Allow wrapping for smaller screens */
}

/* Book Image */
.book-image img {
  width: auto;
  height: 200px;
  display: block;
}

/* Book Info */
.book-info {
  flex: 2;
}

.book-description {
  color: var(--color-secondary);
  /* Red-orange color */
  font-size: 20px;
  margin-bottom: 20px;
  line-height: 1.5;
}

.order-button {
  display: inline-block;
  border: 2px solid var(--color-secondary);
  background-color: white;
  color: var(--color-secondary);
  padding: 15px 30px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
  border-radius: 5px;
  /* Rounded corners for the button */
}

.order-button:hover,
.order-button:focus {
  background-color: var(--color-secondary);
  color: var(--color-tertiary);
}

/* About Me Section */
.about-me-section {
  background-color: var(--color-background);
  /* Light purple background color */
  padding: 40px;
}

/* Flex Container for About Me */
.about-me-container {
  display: flex;
  flex-direction: row;
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto;
  align-items: center;
  flex-wrap: wrap;
  /* Allow items to stack on smaller screens */
}

/* Image Section */
.about-me-image {
  flex: 1;
  display: flex;
  justify-content: center;
}

.about-me-image img {
  width: 400px;
}

/* Content Section */
.about-me-content {
  flex: 1;
  text-align: left;
}

.about-me-content h2 {
  color: var(--color-primary);
  /* Dark blue color */
  margin-bottom: 20px;
}

.about-me-content p {
  margin-bottom: 20px;
  line-height: 1.6;
  color: var(--color-text-on-background);
  /* Dark gray for readability */
}

/* Portfolio Title Section Styling */
.portfolio-title {
  position: relative;
  background-image: url('images/portfolio-pexels-mister-mister-2442888\ 1.png');
  /* Replace with the actual image path */
  background-size: cover;
  background-position: center;
  height: 400px;
  /* Adjust as needed */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 74px;
}

.portfolio-title-overlay {
  text-align: center;
  color: white;
  /* White text for contrast */
  background: rgba(0, 0, 0, 0);
  /* Semi-transparent background for text */
  padding: 20px;
  border-radius: 8px;
}

.portfolio-title-overlay h1 {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 10px;
}

.portfolio-title-overlay p {
  margin-top: 10px;
  font-size: 20px;
  line-height: 1.5;
}

/* Portfolio Section Styling */
.portfolio-section {
  background-color: white;
  padding: 40px;
  text-align: center;
  color: var(--color-secondary)
}

.portfolio-section h2 {
  /* Blue */
  margin-top: 0px;
  margin-bottom: 40px;
}

.reporting-photography-colors{
  background-color: var(--color-background);
  color: var(--color-primary);
}

/* Portfolio Cards Container */
.portfolio-cards-div{
  display: flex;
  justify-content: space-around;
  gap: 20px
}

/* Portfolio Card Styling */
.portfolio-card {
  width: 300px;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.portfolio-card:hover {
  transform: translateY(-10px);
}

.portfolio-card-image-div {
  width: 100%;
  height: auto;
}

.portfolio-card-image-div img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.portfolio-card-content {
  padding: 20px;
  text-align: left;
}

.portfolio-card-content h3 {
  margin: 10px 0;
  font-size: 1.2rem;
}

.portfolio-card-content p {
  font-size: 0.9rem;
  color: black;
}

.portfolio-card-read-more {
  color: var(--color-secondary);
  text-decoration: none;
  display: inline-block;
  margin-top: 10px;
}

.portfolio-card-read-more-reporting-photography-colors {
  color: var(--color-primary);
  text-decoration: none;
  display: inline-block;
  margin-top: 10px;
}

/* More Projects Button */
.portfolio-more-projects-reporting-photography-colors {
  display: inline-block;
  margin-top: 40px;
  padding: 10px 20px;
  border: 2px solid var(--color-primary);
  color: var(--color-primary);
  text-decoration: none;
  font-weight: bold;
    background-color: rgb(255, 255, 255);
  transition: background-color 0.3s, color 0.3s;
}

.portfolio-more-projects {
  display: inline-block;
  margin-top: 40px;
  padding: 10px 20px;
  border: 2px solid var(--color-secondary);
  color: var(--color-secondary);
  text-decoration: none;
  font-weight: bold;
    background-color: rgb(255, 255, 255);
  transition: background-color 0.3s, color 0.3s;
}

/* Article Section Styling */
.article-section {
  background-color: white;
  padding: 80px 40px 60px 40px;
  max-width: 100%;
  color: var(--color-secondary);
}

/* Article Header */
.article-header {
  text-align: center;
}

.article-header h1 {
  margin-bottom: 20px;
}

.article-header img {
  width: 60%;
  min-width: 225px;
  max-height: 300px;
  object-fit: cover;
  border-radius: 5px;
}

/* Article Content Styling */
.article-content h2 {
  color: var(--color-secondary);
  /* Orange color for section titles */
  margin-top: 30px;
}

.article-content p,
.article-content ul {
  margin-bottom: 20px;
}

.article-content ul {
  list-style-type: disc;
  padding-left: 20px;
}

/* Testimonial Styling */
blockquote {
  font-style: italic;
  border-left: 4px solid var(--color-secondary);
  padding-left: 20px;
  margin: 20px 0;
  color: var(--color-secondary);
}

/* Images Section */
.article-images {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
}

.article-images img {
  width: 48%;
  /* Each image takes almost half of the available width */
  height: auto;
  border-radius: 10px;
}

/* Contact Section Styling */
.contact-section {
  text-align: center;
  margin-top: 40px;
}

.contact-section p {
  font-size: 1.1rem;
  margin-bottom: 40px;
}

.contact-button {
  background-color: var(--color-secondary);
  /* Button with orange color */
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.contact-button:hover {
  background-color: var(--color-secondary);
  /* Darker shade on hover */
}

/* Book Section Styling */
.bookpage-section {
  background-color: white;
  padding: 100px 40px 60px 40px;
  max-width: 100%;
  color: var(--color-secondary);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.bookpage-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 50px;
}

.bookpage-image img {
  max-width: 300px;
  height: auto;
  border-radius: 10px;
}

.bookpage-details {
  flex: 1;
  max-width: 600px;
}

.publication-date {
  color: var(--color-secondary);
  /* Orange color */
  margin-bottom: 10px;
}

.bookpage-details h2 {
  margin-bottom: 20px;
  text-align: left;
  color: var(--color-primary);
}

.bookpage-description {
  margin-bottom: 15px;
}

.bookpage-order-section{
  background-color: white;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 40px;
  align-items: center;
  color: var(--color-secondary);
  border-top: 5px solid var(--color-secondary);
  border-bottom: 5px solid var(--color-secondary);
}

.bookpage-order-section h2{
  color:var(--color-secondary)
}

.bookpage-order-section button{
  width: 200px;
}

/* Events and News Section */
.events-news-section {
  display: flex;
  gap: 40px;
  padding: 40px;
  max-width: 1200px;
  margin: 0 auto;
  flex-wrap: wrap;
  background-color: white;
  color: var(--color-secondary)
}

/* Upcoming Events Styling */
.upcoming-events {
  flex: 2;
}

.upcoming-events h2 {
  color: var(--color-primary);
  /* Blue */
  margin-bottom: 20px;
}

.event-card {
  display: flex;
  border: 1px solid var(--color-secondary);
  /* Orange border */
  border-radius: 10px;
  margin-bottom: 20px;
  overflow: hidden;
}

.event-date {
  background-color: var(--color-tertiary);
  /* Light yellow */
  padding: 15px;
  text-align: center;
  flex: 1;
  font-weight: bold;
  color: var(--color-secondary);
}

.event-details {
  flex: 3;
  display: flex;
  align-items: center;
  padding: 15px;
  font-weight: bold;
}

.full-calendar-button {
  background-color: var(--color-tertiary);
  color: var(--color-secondary);
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  text-decoration: none;
  display: inline-block;
  margin-top: 20px;
  border: 2px solid var(--color-secondary);
}

/* Latest News Styling */
.latest-news {
  flex: 3;
}

.latest-news h2 {
  color: var(--color-primary);
  /* Blue */
  margin-bottom: 20px;
}

.news-card {
  border: 1px solid var(--color-secondary);
  /* Orange border */
  border-radius: 10px;
  overflow: hidden;
}

.news-card img {
  width: 100%;
  height: auto;
}

.news-details {
  padding: 15px;
}

.news-details h3 {
  color: var(--color-secondary);
  /* Orange */
  margin-bottom: 10px;
}

.news-date {
  font-weight: bold;
  color: var(--color-secondary);
  margin-bottom: 10px;
}

.watch-now-button {
  background-color: white;
  color: var(--color-secondary);
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  text-decoration: none;
  display: inline-block;
  margin-top: 10px;
  border: 2px solid var(--color-secondary);
}

/* Past Works Section */
.past-works-section {
  padding: 80px 40px 60px 40px;
  margin: 0 auto;
  background-color: white;
}

.past-works-section h2 {
  color: var(--color-primary);
  margin-bottom: 20px;
  text-align: center;
}

.search-container {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-bar-wrapper {
  position: relative;
  width: 95%;
}
#search-bar {
  width: 95%;
  padding: 10px 10px 10px 40px;
  border-radius: 25px;
  border: 1px solid var(--color-background);
  background-color: var(--color-background);
  color: var(--color-primary);
  }

#search-bar::placeholder {
  color: var(--color-primary);
  /* Make placeholder text blue */
  opacity: 1;
  /* Ensure it's fully visible */
}

/* FontAwesome Search Icon Styles */
.search-icon {
  position: absolute;
  top: 50%;
  left: 15px;
  /* Position the icon inside the input */
  transform: translateY(-50%);
  color: var(--color-primary);
  /* Match the color of the input text */
  pointer-events: none;
  /* Ensure the icon does not block interaction with input */
}

/* Table Styles */
.works-table {
  width: 100%;
  border-collapse: separate;
  /* Allow space between rows */
  border-spacing: 0 10px;
  /* Adds 10px gap between rows vertically */
}

/* Header and Body Cell Styles */
.works-table th,
.works-table td {
  padding: 15px;
  text-align: left;
}

/* Updated Table Header Styles */
.works-table thead {
  font-weight: bold;
  color: black;
  /* Darker text for more contrast */
  box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.15);
  /* Drop shadow for table header */
  background-color: white;
  /* Ensure background color is white for visibility */
}

.works-table tbody tr {
  margin: 5px 0px 5px 0px;
}

/* Alternating Row Colors */
.works-table tbody tr:nth-child(odd) {
  background-color: var(--color-background);
  box-shadow: 0 0 0 2px var(--color-primary);
  /* Blue border for odd rows */  /* Light purple for odd rows */
}

.works-table tbody tr:nth-child(odd) td{
  color:var(--color-primary)
}

.works-table tbody tr:nth-child(odd) td a{
  color:var(--color-primary);
  text-decoration: underline;
  font-weight: bold;
}

.works-table tbody tr:nth-child(even) {
  background-color: var(--color-tertiary);
  box-shadow: 0 0 0 2px var(--color-secondary);
}

.works-table tbody tr:nth-child(even) td {
  color: var(--color-secondary)
}

.works-table tbody tr:nth-child(even) td a {
  color: var(--color-secondary);
  text-decoration: underline;
  font-weight: bold;
}

.work-card {
  display: none;
}

/* Responsive Design */
@media (max-width: 768px) {
  .menu-icon {
    display: flex;
  }
  .nav-links {
    display: none;
    position: absolute;
    top: 50px;
    right: 20px;
    background-color: var(--color-background);
    width: 200px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    flex-direction: column;
    padding: 10px;
    z-index: 1;
  }

  .nav-sub-item,
  .nav-links .sub-menu {
    display: inherit;
    position: static;
    padding: 0 0 0 20px;
    box-shadow: none;
    background-color: transparent;
    min-width: auto;
  }

  .nav-links.active {
    display: flex;
  }

  .nav-links li {
    margin: 10px 0;
  }
  .hero {
    z-index: 2;
    height: 40vh;
    margin-bottom: 60vh;
    display:grid;
    grid-template-columns: 1fr;
  }
  .hero-spacer {
    height: 40vh;
  }
  .hero-content {
    max-width: 100%;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0px;
  }

  .hero-name {
    font-size: 28px;
    max-width: 16rem;
    text-align: center;
  }

  .hero-description {
    font-size: 18px;
    text-align: center;
  }

  .hero-button {
    margin-top: 15px;
    padding: 8px 20px;
    max-width: 5rem;
    text-align: center;
  }

  .tag-item {
    font-size: 16px;
  }

  .chevron-down {
    display: none;
  }

  .specializing-in {
    border-top: 5px solid var(--color-secondary);
  }

  .specialization-item {
    flex: 1 1 calc(50% - 30px);
    /* Take up 50% of container width on tablets */
  }

  .section-title {
    margin: 0px 0px 30px 0px;
  }

  .portfolio-button {
    padding: 12px 25px;
    font-size: 16px;
  }

  .logo-section {
    padding: 10px 0;
  }

  .logo-item {
    width: 20vw;
    /* Adjust logo size for smaller screens */
    height: auto;
    /* Maintain aspect ratio */
  }

  .carousel-content {
    flex-direction: column;
  }

  .carousel-item {
    flex-direction: column;
    height: 400px;
  }

  .carousel-image {
    width: 100%;
    height: 50%;
  }

  .carousel-control {
    font-size: 20px;
  }

  .flex-container {
    flex-direction: column;
    /* Stack items vertically */
    text-align: center;
    /* Center-align text */
  }

  .book-info {
    text-align: center;
    /* Center-align the text on small screens */
  }

  .about-me-container {
    flex-direction: column;
    /* Stack the image and text vertically */
    text-align: center;
    /* Center-align content for better look on small screens */
  }

  .about-me-content {
    text-align: center;
    /* Center-align the text on smaller screens */
  }

  .about-me-image {
    max-width: 200px;
    /* Reduce image size for smaller screens */
    margin-bottom: 20px;
    /* Add spacing between image and text */
  }

  .about-me-image img {
    padding-bottom: 0px;
  }

  .hero {
    margin-top: 47px;
  }
  .portfolio-title {
    margin-top: 47px;
  }
  .past-works-section {
    margin-top: 47px;
  }

  /* Portfolio Cards Container */
  .portfolio-cards-div {
    display: flex;
    flex-direction: column;
  }

  /* Portfolio Card Styling */
  .portfolio-card {
    width: 100%;
    display: flex;
    align-items: center;
  }

  .portfolio-card-image-div {
    width: 40%;
    height: auto;
  }

  .portfolio-card-content {
    width: 50%
  }

  .article-section {
    padding: 50px 40px 60px 40px;
  }

  .article-images {
    flex-direction: column;
    /* Stack images vertically */
    align-items: center;
  }

  .article-images img {
    width: 100%;
    /* Full width for better display on mobile */
    margin-bottom: 20px;
    /* Space between stacked images */
  }

  .bookpage-container {
    flex-direction: column;
    align-items: center;
  }

  .bookpage-image img {
    max-width: 80%;
    object-fit: cover;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }

  .events-news-section {
    flex-direction: column;
  }

  .upcoming-events,
  .latest-news {
    width: 100%;
  }

  .past-works-section {
    padding: 50px 40px 60px 40px;
  }

  #search-bar {
    width: 85%;
  }

  .works-table {
    display: none;
    /* Hide the table on small screens */
  }

  .past-works-section {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .works-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }

  .work-card {
    display: block;
    border: 2px solid var(--color-secondary);
    border-radius: 5px;
    padding: 10px;
    background-color: var(--color-tertiary);
    color: var(--color-secondary);
  }

  .work-card a {
    color: var(--color-secondary);
    text-decoration: underline;
    font-weight: bold;
  }
  .work-card .work-header {
    font-weight: bold;
    color: var(--color-secondary);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .work-details {
    margin-top: 10px;
    padding: 10px;
    display: none;
  }

  .work-details.open {
    display: block;
  }

  .works-container > div:nth-child(even) {
    border: 2px solid var(--color-primary);
    background-color: var(--color-background);
  }

  .works-container > div:nth-child(even) div{
    color: var(--color-primary);
    border:none;
  }

  .works-container>div:nth-child(even) div a {
    color: var(--color-primary);
    text-decoration: underline;
    font-weight: bold;
  }

}

@media (max-width: 1146px) {
  .specialization-item img {
      width: 100px;
      height: 100px;
    }
}

@media (max-width: 480px) {
  .specialization-item {
    flex: 1 1 calc(100% - 30px);
    /* Take up the full width on mobile */
  }

  .specialization-item {
    margin-bottom: 20px;
  }
}

/* Keyframes for Continuous Scrolling */
@keyframes scroll-logos {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(-100% + 100vw));
  }
}

/* Smooth Scroll */
html {
  scroll-behavior: smooth;
  /* Makes all anchor links scroll smoothly */
}
:root {
:root {
