/*
Theme Name: Law  College
Author: Girendra Singh
Description: A custom WordPress theme for law college.
Version: 1.0
Text Domain: law-college-theme
*/

:root {
  --primaryColor: #171717;
  --secondaryColor: #ed3b3b;
  --containerWidth: 1180px;
  --logoHeight: 100px;
}
/* General Styles */
* {
  box-sizing: border-box;
}
body {
  font-family: "Poppins", Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 1.7;
}
.container {
  max-width: var(--containerWidth);
  margin: 0 auto;
  padding: 0 20px;
}
/* Header */
.header-top {
  background-color: var(--primaryColor);
  padding: 12px 0;
  color: #ccc;
  font-size: 14px;
}
.header-top a .fab, .header-top .fas {
  color: var(--secondaryColor);
}
.header-top a {
  color: #ccc; /* Default icon color */
  text-decoration: none;
  transition: color 0.3s ease; /* Smooth color transition */
}
.header-top a:hover {
  color: #fff; /* Icon color on hover */
}
.header-top a:hover .fab, .header-top a:hover .fas {
  color: #fff;
}
.header-top .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contact-info span {
  margin-right: 10px;
}
/* Social Media Icons */
.social-media a {
  margin-left: 25px; /* Space between icons */
}
.header-bottom {
  position: relative; /* Ensure the nav menu is positioned relative to the header */
  padding: 0;
}
.header-bottom .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo {
  padding: 10px 0;
}
.logo img {
  height: var(--logoHeight);
  border: none;
}
.primary-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.primary-menu li {
  position: relative;
  margin-left: 20px;
  font-size: 15px;
}
.primary-menu li a {
  text-decoration: none;
  color: #171717;
  padding: 10px;
  height: calc(var(--logoHeight) + 20px);
  line-height: var(--logoHeight);
  display: block;
}
/* Submenu */
.primary-menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #fff;
  list-style: none;
  padding: 0;
  margin: 0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  width: 200px;
  border-top: 3px solid var(--secondaryColor);
  transition: display 0.3s ease;
}
.primary-menu .sub-menu li {
  margin: 0;
}
.primary-menu .sub-menu li a {
  padding: 12px 10px;
  color: #171717;
  height: auto;
  line-height: 16px;
  border-bottom: 1px solid #ccc;
  transition: background-color 0.3s ease;
}
.primary-menu .sub-menu li:last-child a {
  border-bottom: none;
}
.primary-menu .sub-menu li a:hover {
  background: #ccc;
}
.primary-menu li:hover > .sub-menu {
  display: block;
  animation: slideDown 0.3s ease-in-out;
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
}
.menu-toggle span {
  width: 25px;
  height: 3px;
  background-color: #171717;
  margin: 4px 0;
}
/* Main Content */
.featured-section {
  padding: 40px 0;
  background: #000 url("images/pattern.png") repeat;
  margin-bottom: 40px;
  border-bottom: 1px solid #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.05); /* Multi-layered shadow */
}
.featured-section h1 {
  margin: 0;
  color: #fff;
  font-size: 3em;
}
h1 {
  font-size: 2.5em;
  color: #2c3e50;
  margin-bottom: 20px;
}
h2 {
  font-size: 2em;
  color: #2c3e50;
  margin: 15px 0;
}
h3 {
  font-size: 1.75em;
  color: #34495e;
}
h4 {
  font-size: 1.5em;
  color: #34495e;
}
h5 {
  font-size: 1.25em;
  color: #34495e;
}
h6 {
  font-size: 1em;
  color: #ecf0f1;
  background: #7f8c8d;
  padding: 5px 10px;
  display: inline-block;
}
.inner-page {
    min-height: 500px;
    padding-bottom: 60px;
}
.inner-page p {
  font-size: 1.1em;
  line-height: 1.8;
  color: #555;
  margin-bottom: 15px;
}
.inner-page strong {
  color: #2c3e50;
}
.inner-page em {
  color: #7f8c8d;
}
.inner-page a {
  color: #2980b9;
  text-decoration: none;
  transition: color 0.3s ease;
}
.inner-page a:hover {
  color: #e74c3c;
  text-decoration: underline;
}
.inner-page blockquote {
  border-left: 5px solid #3498db;
  padding: 15px 20px;
  background: #ecf0f1;
  margin: 20px 0;
  font-style: italic;
}
.inner-page cite {
  display: block;
  margin-top: 10px;
  color: #7f8c8d;
  font-style: normal;
}
.inner-page ul {
  list-style: disc;
  margin: 15px 0 15px 25px;
}
.inner-page ol {
  list-style: decimal;
  margin: 15px 0 15px 25px;
}
.inner-page li {
  margin-bottom: 10px;
  color: #555;
}
.inner-page pre {
  background: #2c3e50;
  color: #ecf0f1;
  padding: 15px;
  border-radius: 5px;
  overflow-x: auto;
  font-family: 'Courier New', monospace;
  margin: 20px 0;
}
.inner-page code {
  font-size: 0.95em;
}
.inner-page table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}
.inner-page th {
  background: #3498db;
  color: white;
  padding: 12px;
  text-align: left;
}
.inner-page td {
  border: 1px solid #ddd;
  padding: 12px;
  color: #555;
}
.inner-page form {
  margin: 20px 0;
}
.inner-page label {
  display: block;
  margin: 10px 0 5px;
  color: #2c3e50;
  font-weight: bold;
}
.inner-page input[type="text"], .inner-page input[type="email"], .inner-page input[type="password"] {
  width: 100%;
  max-width: 400px;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #bdc3c7;
  border-radius: 4px;
  font-size: 1em;
}
.inner-page textarea {
  width: 100%;
  max-width: 400px;
  padding: 10px;
  border: 1px solid #bdc3c7;
  border-radius: 4px;
  font-size: 1em;
  resize: vertical;
}
.inner-page select {
  width: 100%;
  max-width: 400px;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #bdc3c7;
  border-radius: 4px;
  font-size: 1em;
}
.inner-page input[type="radio"], .inner-page input[type="checkbox"] {
  margin-right: 10px;
}
.inner-page fieldset {
  border: 1px solid #bdc3c7;
  padding: 15px;
  margin: 20px 0;
  border-radius: 4px;
}
.inner-page legend {
  padding: 0 10px;
  color: #2c3e50;
  font-weight: bold;
}
.inner-page button {
  background: #e74c3c;
  color: white;
  padding: 12px 25px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1em;
  margin-right: 10px;
  transition: background 0.3s ease;
}
.inner-page button:hover {
  background: #c0392b;
}
.inner-page small {
  font-size: 0.85em;
  color: #7f8c8d;
}
.inner-page del {
  color: #e74c3c;
}
.inner-page ins {
  color: #27ae60;
  text-decoration: none;
}
.inner-page sup, .inner-page sub {
  font-size: 0.8em;
  color: #555;
}
/* Slider */
.slider {
  width: 100%;
  height: 700px; /* Adjust height as needed */
  position: relative;
  overflow: hidden;
  background-color: #000; /* Set a background color for the slider */
}
.slide {
  width: 100%;
  height: 700px;
  position: relative;
}
.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensure images cover the slider area */
}
.slide-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.3); /* Semi-transparent background for text */
  border-radius: 8px;
  padding: 20px;
  max-width: var(--containerWidth);
  z-index: 1100;
}
.slide-content h1 {
  margin: 0;
  color: #fff;
}
.slide-content p {
  margin: 0;
  padding: 12px 0 0 0;
}
/* Slick Slider Customizations */
.slick-prev, .slick-next {
  z-index: 1101; /* Ensure arrows are above slides */
}
.slick-prev {
  left: 25px; /* Position previous arrow */
}
.slick-next {
  right: 25px; /* Position next arrow */
}
.slick-dots {
  bottom: 20px; /* Position dots */
}
/* Tile Row */
.tile-row {
  padding: 20px 0;
  margin: 40px 0;
}
.tile-row .container {
  display: flex;
  flex-wrap: wrap; /* Allow wrapping for smaller screens */
}
.tile {
  flex: 1;
  text-align: center;
  padding: 20px;
  box-sizing: border-box; /* Include padding in width */
  min-width: 16.666%; /* Ensure 6 tiles fit in one row (100% / 6) */
  display: flex;
  flex-direction: column; /* Stack icon and text vertically */
  align-items: center; /* Center content horizontally */
  justify-content: center; /* Center content vertically */
  text-decoration: none; /* Remove underline from links */
}
/* Different Background Colors for Each Tile */
.tile-1 {
  background-color: #0077ff;
} /* Blue */
.tile-2 {
  background-color: #00cc77;
} /* Green */
.tile-3 {
  background-color: #ff4444;
} /* Red */
.tile-4 {
  background-color: #ffbb33;
} /* Yellow */
.tile-5 {
  background-color: #9933cc;
} /* Purple */
.tile-6 {
  background-color: #33b5e5;
} /* Light Blue */
.tile i {
  color: white; /* Icon color */
  margin-bottom: 10px; /* Space between icon and text */
}
.tile span {
  color: white; /* Text color */
  font-size: 18px;
  display: block; /* Ensure text is on a new line */
}
/* Row 2: 3 Columns */
.content-row {
  padding: 20px 0;
  margin: 80px 0 40px 0;
}
.content-row .container {
  display: flex;
  justify-content: space-between; /* Distribute columns evenly */
  flex-wrap: nowrap; /* Prevent wrapping to the next line */
}
.content-row .column {
  flex: 1; /* Each column takes equal width */
  margin: 0 10px; /* Add spacing between columns */
  box-sizing: border-box; /* Include padding and border in the width */
  text-align: center; /* Center-align content */
  font-size: 16px;
}
.content-row .column img {
  max-width: 200px; /* Ensure images fill the column width */
  height: auto; /* Maintain aspect ratio */
  margin: 0 auto 15px auto; /* Space between image and heading */
}
.content-row .column h4 {
  font-size: 24px; /* Heading size */
  margin: 10px 0; /* Space around heading */
}
.content-row .column p {
  color: #555; /* Paragraph text color */
}
/* Stats Section */
.stats-row {
  background: #000 url("images/dark-bg.jpg") no-repeat;
  background-attachment: fixed;
  background-position: center center;
  background-size: cover;
  color: white;
  padding: 50px 0 50px 0;
  text-align: center;
  margin: 80px 0;
}
.stats-row .container {
  display: flex;
  justify-content: space-between; /* Distribute columns evenly */
  flex-wrap: wrap; /* Allow wrapping if needed */
}
.stats-row .column {
  flex: 1; /* Each column takes equal width */
  max-width: 23%; /* Ensure 4 columns fit in one row */
  margin: 0 1%; /* Add spacing between columns */
  box-sizing: border-box; /* Include padding and border in the width */
}
.stats-row .column i {
  margin-bottom: 0px; /* Space between icon and text */
}
.stats-row .column h2 {
  font-size: 36px; /* Stat number size */
  margin: 10px 0 0 0;
  color: #fff;
}
.stats-row .column p {
  font-size: 18px; /* Stat description size */
  margin: 0;
}
.text-row {
  padding: 20px 0;
  text-align: center;
  font-size: 16px;
}
.text-row h2 {
  font-size: 36px;
}
.mission-row {
  padding: 20px 0;
  margin: 40px 0 0 0;
  text-align: center;
  font-size: 16px;
}
.mission-row .container {
  display: flex;
  justify-content: space-between;
}
.mission-row .column {
    flex: 1;
  margin-bottom: 40px;
    padding: 0 40px;
}
/* Testimonials Section */
.testimonials-row {
  background: #000 url("images/law-bg.jpg") no-repeat;
  background-attachment: fixed;
  background-position: center center;
  background-size: cover;
  padding: 50px 0;
  text-align: center;
  color: white;
}
.testimonials-row h2 {
  font-size: 36px; /* Section heading size */
  margin-bottom: 30px; /* Space below heading */
  margin-top: 0px;
  color: #fff;
}
.testimonials-row h4 {
  color: #fff;
}
.testimonial-slider {
  max-width: 800px; /* Limit carousel width */
  margin: 0 auto; /* Center the carousel */
}
.testimonial {
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.1); /* Semi-transparent background */
  border-radius: 10px; /* Rounded corners */
  margin: 0 15px; /* Spacing between testimonials */
}
.testimonial p {
  font-size: 18px; /* Testimonial text size */
  font-style: italic; /* Italicize testimonial text */
  margin-bottom: 15px; /* Space below text */
}
.testimonial h4 {
  font-size: 20px; /* Testimonial author size */
  margin: 0; /* Remove default margin */
}
/* Slick Slider Customizations */
.testimonials-row .slick-prev, .testimonials-row .slick-next {
  z-index: 1; /* Ensure arrows are above testimonials */
  color: white; /* Arrow color */
}
.testimonials-row .slick-prev {
  left: -40px; /* Position previous arrow */
}
.testimonials-row .slick-next {
  right: -40px; /* Position next arrow */
}
.testimonials-row .slick-dots {
  bottom: -30px; /* Position dots */
}
.testimonials-row .slick-dots li button:before {
  color: white; /* Dot color */
}
/* Meet Our Team Section */
.team-row {
  padding: 50px 0;
  text-align: center;
}
.team-row h2 {
  font-size: 36px; /* Section heading size */
  margin-bottom: 30px; /* Space below heading */
}
.team-members {
  display: flex;
  justify-content: space-between; /* Distribute columns evenly */
  flex-wrap: nowrap; /* Prevent wrapping to the next line */
}
.team-member {
  flex: 1; /* Each column takes equal width */
  margin: 0 10px; /* Add spacing between columns */
  box-sizing: border-box; /* Include padding and border in the width */
  text-align: center; /* Center-align content */
}
.team-member img {
  width: 100%; /* Ensure images fill the column width */
  max-width: 200px; /* Limit image size */
  height: auto; /* Maintain aspect ratio */
  border-radius: 50%; /* Make images circular */
  margin-bottom: 15px; /* Space between image and name */
}
.team-member h4 {
  font-size: 24px; /* Team member name size */
  margin: 10px 0; /* Space around name */
}
.team-member p {
  font-size: 16px; /* Designation text size */
  color: #555; /* Designation text color */
}
/* Footer */
footer {
  background-color: var(--primaryColor); /* Dark background for footer */
  color: white; /* Text color */
}
.footer-top {
  padding: 40px 0;
}
.footer-top .container {
  display: flex;
  justify-content: space-between; /* Distribute widgets evenly */
  flex-wrap: wrap; /* Allow wrapping for smaller screens */
}
.widget-out {
  flex: 1; /* Each widget takes equal width */
  margin: 0 20px; /* Spacing between widgets */
}
.footer-top .container .widget-out:nth-child(2) .widget {
  margin: 0 auto;
  width: 220px;
}
.footer-top .container .widget-out:last-child .widget {
  width: 220px;
  float: right;
}
.widget {
  min-width: 200px; /* Minimum width for each widget */
}
.widget img {
  max-width: 200px; /* Logo size */
  max-height: 150px;
  margin-bottom: 15px; /* Space below logo */
}
.widget h4 {
  font-size: 20px; /* Widget heading size */
  margin-bottom: 20px; /* Space below heading */
  color: #fff; /* Heading color */
}
.widget ul {
  list-style: none; /* Remove bullet points */
  padding: 0;
  margin: 0;
}
.widget ul li {
  margin-bottom: 10px; /* Space between menu items */
}
.widget ul li a {
  color: #ccc; /* Link color */
  text-decoration: none; /* Remove underline */
  transition: color 0.3s ease; /* Smooth color transition */
}
.widget ul li a:hover {
  color: #fff; /* Link color on hover */
}
.widget p {
  margin: 10px;
}
.footer-bottom {
  background-color: #222; /* Darker background for bottom footer */
  padding: 20px 0;
  text-align: center;
}
.footer-bottom p {
  margin: 0;
  font-size: 14px; /* Copyright text size */
  color: #ccc; /* Copyright text color */
}


/* Basic styling for courses page */
.courses-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.page-header {
    text-align: center;
    margin-bottom: 40px;
}

.course-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
}

.course-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    padding: 25px;
    position: relative;
    transition: transform 0.3s ease;
}

.course-card:hover {
    transform: translateY(-5px);
}

.course-badge {
    position: absolute;
    top: -10px;
    right: 20px;
    background: #ff5722;
    color: white;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
}

.course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin: 15px 0;
    color: #666;
}

.enroll-btn {
    display: inline-block;
    background: #4CAF50;
    color: white !important;
    padding: 12px 25px;
    border-radius: 4px;
    text-decoration: none !important;
    font-weight: bold;
    margin-top: 20px;
    transition: background 0.3s;
}

.enroll-btn:hover {
    background: #3e8e41;
}

/* Add responsive behavior */
@media (max-width: 768px) {
    .course-container {
        grid-template-columns: 1fr;
    }
}



/* Responsive Styles */
@media (max-width: 768px) {
  .header-top {
    padding: 6px 0;
  }
  .header-top .container {
    display: block;
    text-align: center;
  }
  .header-top .container > div:first-child {
    padding-bottom: 4px;
  }
  .menu-toggle {
    display: flex;
  }
  .primary-menu {
    display: none;
    position: absolute;
    top: 100%; /* Position below the header */
    left: 0;
    width: 100%;
    background-color: white;
    flex-direction: column;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 1000;
  }
  .primary-menu.active {
    display: flex;
  }
  .primary-menu li {
    margin: 0;
    border-bottom: 1px solid #eee; /* Add separation between menu items */
  }
  .primary-menu li a {
    padding: 15px 20px; /* Increase padding for better touch targets */
    height: auto;
    line-height: 16px;
  }
  .primary-menu .sub-menu {
    position: static;
    display: none;
    background-color: #f9f9f9;
    box-shadow: none;
    width: 100%;
  }
  .primary-menu .sub-menu li a {
    padding: 10px 15px 10px 40px;
  }
  .primary-menu li:hover > .sub-menu {
    display: none;
  }
  .primary-menu li.active > .sub-menu {
    display: block;
  }
  .menu-toggle {
    display: flex;
    flex-direction: column;
    cursor: pointer;
  }
  .menu-toggle span {
    width: 25px;
    height: 3px;
    background-color: black;
    margin: 4px 0;
  }
  .slide-content {
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0;
    width: 75%;
    background-color: transparent;
  }
  .slide-content h1 {
    margin: 0 auto;
    color: #fff;
    font-size: 24px;
    background: rgba(0, 0, 0, 0.2);
    padding: 12px;
    display: inline-block;
    border-radius: 8px;
  }
  .slide-content p {
    display: none;
  }
  .tile-row, .content-row, .mission-row, .team-row {
    flex-direction: column;
  }
  .tile, .column, .team-member {
    margin: 10px 0;
  }
  .tile {
    flex: 1 0 calc(100% / 3);
    margin: 0;
  }
  .content-row .container {
    display: block;
  }
  .content-row .container .column {
    margin: 0 auto 80px auto;
  }
  .content-row .column img {
    margin-bottom: 0;
  }
  .stats-row .column {
    flex: 1 0 50%; /* Each column takes equal width */
    max-width: 46%; /* Ensure 4 columns fit in one row */
    margin: 0 2% 0 2%; /* Add spacing between columns */
  }
  .stats-row .column i {
    margin-bottom: 0px; /* Space between icon and text */
  }
  .stats-row .column h2 {
    font-size: 24px; /* Stat number size */
    margin: 10px 0 0 0;
  }
  .stats-row .column p {
    font-size: 16px; /* Stat description size */
  }
  .stats-row .column:nth-child(1) p, .stats-row .column:nth-child(2) p {
    margin-bottom: 40px;
  }
.mission-row .container {
  display: block;
}

    .mission-row .column:first-child {
        margin-bottom: 80px;
    }
    .team-members {
        display: block;
    }
    .team-member img {
        margin-bottom: 0;
    }
    .team-member h4 {
        margin-bottom: 0;
    }
    .team-member p {
        margin: 12px 0 40px 0;
    }
    .footer-top .container {
        display: block;
    }
    .footer-top .widget-out {
        margin: 0;
    }
    .widget p {
        margin: 12px 0;
    }
    .footer-top .container .widget-out:nth-child(2) .widget {
    width: 100%;
        margin-top: 40px;
}
    .footer-top .container .widget-out:last-child .widget {
    width: 100%;
    float: none;
}
}