/* Theme Information */
/*
Theme Name: Is that legal
Theme URI: https://search1agency.com/
Author: S1A
Author URI: https://search1agency.com/
Description: S1A, WordPress Responsive Theme
Version: 2.0
Tags: light, white, two-columns, right-sidebar, custom-background, custom-colors, custom-header, custom-menu,featured-images, post-formats, translation-ready 
License: S1A
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* Global Styles */
:root {
    --font-primary: "Source Sans Pro", Arial, sans-serif;
    --font-secondary: 'Vidaloka', Georgia, serif;
    --text-color: #2F2F2F;
    --heading-color: #222;
    --sub-text-color: #6f6f6f;
    --link-color: #000;
    --link-hover-color: #2F2F2F;
    --base-font-size: 16px;
    --heading-line-height: 1.1;
    --text-line-height: 1.5;
    --spacing-unit: 8px;
}

body {
    background: #fff;
    font-family: var(--font-primary);
    font-weight: normal;
    font-style: normal;
    font-size: var(--base-font-size);
    line-height: 1;
    color: var(--text-color);
    position: relative;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    font-style: normal;
    color: var(--heading-color);
    text-rendering: optimizeLegibility;
    line-height: var(--heading-line-height);
    margin-bottom: var(--spacing-unit);
    margin-top: var(--spacing-unit);
    font-family: var(--font-secondary);
}

h1 { font-size: 44px; }
h2 { font-size: 34px; }
h3 { font-size: 27px; }
h4 { font-size: 23px; }
h5 { font-size: 17px; }
h6 { font-size: 14px; }

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    font-size: 60%;
    color: var(--sub-text-color);
    line-height: 0;
}

a {
    color: var(--link-color);
    text-decoration: none;
    line-height: inherit;
}

a:hover, a:focus {
    color: var(--link-hover-color);
}

p {
    font-family: inherit;
    font-weight: normal;
    font-size: var(--base-font-size);
    line-height: var(--text-line-height);
    margin-bottom: 17px;
}

iframe {
    margin: 10px 0 15px;
    border: 0;
    width: 100%;
}

/* Top Bar Styles with CSS Variables for better maintainability */
:root {
    --top-bar-bg: #EEEFF1; /* Background color of the top bar */
    --top-bar-border-color: #E4E5E7; /* Border color for the bottom of the top bar */
}

.top {
    width: 100%;
    background: var(--top-bar-bg);
    padding: 0;
    border-bottom: 1px solid var(--top-bar-border-color);
    text-align: left; /* Default text alignment */
}

@media only screen and (max-width: 767px) {
    .top {
        margin: 0 auto; /* Centering top bar in mobile view */
        text-align: center; /* Center text for smaller screens */
    }
}


/* Social Links List Styles using Flexbox for better alignment and maintenance */
ul.social {
    list-style: none;
    padding-top: 5px; /* Simplified padding */
    margin: 0;
    display: flex; /* Using flexbox instead of floats */
    align-items: center; /* Vertically center items */
}

ul.social li {
    padding: 8px 10px 1px;
    border-right: 1px solid #E4E5E7;
}

ul.social li:first-child {
    padding-left: 0; /* Remove left padding for the first item */
}

ul.social li:last-child {
    border-right: none; /* Remove right border for the last item */
}


/* Header  ---------------------- */
h1.logo { font-size: 64px; padding: 10px 0 3px; font-weight: 400; }
p.motto {font-size: 11px;letter-spacing:4px}

@media only screen and (max-width: 767px) { 
h1.logo {padding-bottom: 9px}
ul.social li { padding: 8px 3px 0; border-right:0}
}


/* Navigation  ---------------------- */
.navigation{ margin:15px 0 60px 0; text-align: center; width: 100%; background: url(images/backgrounds/navigation-bg.png); }
nav { font-size:12px; margin: 0px auto;}
nav .dropdown {display: none;}


@media only screen and (max-width: 767px) { 
.logo {margin:0 auto; text-align:center;}
nav .dropdown {display: inline-block; width:100%; margin:0 auto; margin-top:15px; margin-bottom:15px;}
nav ul.navigation { display:none;  }
nav ul li {float: left; display:block; width:100%}
}

/* Global Post Styles */
.info {
    border-bottom: 1px solid #E4E5E7;
    padding: 15px 0;
}

.info p {
    margin: 0;
    padding: 0;
    font-size: 11px;
    letter-spacing: 3px;
}

.info h3 {
    margin: 0;
    padding: 0;
    font-size: 54px;
    font-weight: 400;
    color: #2F2F2F;
}

.info h3 a {
    color: inherit;
}

.day, .month {
    text-transform: uppercase;
}

article {
    margin-bottom: 60px;
    min-height: 250px;
}

article h2 {
    margin: 0;
    padding: 0;
    color: #2F2F2F;
}

article h2 a {
    color: inherit;
    text-decoration: none;
}

article h2 a:hover {
    text-decoration: underline;
}

.featuredimage {
    margin: 15px 0;
}

.post_title {
    font-weight: normal;
    margin: 0 0 11px;
    color: #2F2F2F;
    border-bottom: none;
}

.post_title span {
    font-size: 36px;
    line-height: 1.3;
    border-bottom: 1px solid #000;
    display: inline-block;
    margin-bottom: -1px;
    padding-bottom: 5px;
    font-family: 'Vidaloka', Georgia, serif;
}

p.written {
    font-size: 16px;
    color: #999;
}

.hentry p.written a {
    text-decoration: none;
}

.more {
    margin: 28px 0 15px;
    font-size: 15px;
    text-align: left;
}

.more a {
    background: #2f2f2f;
    color: #fff;
    padding: 5px;
}

.more a:hover {
    background: #000;
}

.hentry {
    padding: 9px 0;
}

.hentry ul {
    padding-left: 20px;
}

.hentry ul.pricing-table, 
.hentry ul.slides {
    padding-left: 0;
}

.hentry ul li, 
.hentry ol li {
    font-size: 16px;
}

.hentry p a {
    text-decoration: underline;
    color: #000;
}

.prevnext {
    text-transform: uppercase;
    padding-bottom: 17px;
    border-bottom: 1px solid #EEEFF1;
}


/* Quote Post Styles */
.quote {
    padding: 20px;
    text-align: center;
    background-color: #B2D1E2; /* Clearer property name */
    margin-bottom: 15px;
    border: 5px solid #efefef;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.quote p {
    line-height: 1.3;
    font-size: 32px;
    font-weight: normal;
    font-family: 'Vidaloka', Georgia, serif;
    color: #2F2F2F; /* Consistent hex code format */
    position: relative; /* Setup for pseudo-elements */
    padding: 0 20px; /* Space for quotation marks */
}

.quote p:before,
.quote p:after {
    content: "❝"; /* Unified content for open and close, see note below */
    position: absolute; /* Absolute position */
    top: 0;
    font-size: 60px; /* Larger size for decoration */
    line-height: 0; /* Remove extra line height */
}

.quote p:after {
    content: "❞";
    right: 0; /* Position at the right */
    padding-left: 10px;
}

.quote p:before {
    left: 0; /* Position at the left */
    padding-right: 10px;
}

.quote cite {
    display: block; /* Make citation a block for better control */
    color: #2F2F2F;
    font-style: italic;
    margin-top: 10px; /* Space from quote */
}

.quote cite:before,
.quote cite:after {
    content: "∼"; /* Simplified content */
}

/* Additional hover effect for interaction feedback (optional) */
.quote:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
}

/* Archive Page Styles */
.archive_title {
    font-weight: normal;
    margin: 0 0 60px; /* Combined margin-bottom with margin for cleaner code */
    padding: 0;
    color: #A9AEB2;
    border-bottom: none; /* Changed from 0 to 'none' for clarity */
    text-align: center;
}

.archive_title span {
    margin: 0 0 -1px; /* Combined margin for cleaner code */
    padding: 0 160px 20px;
    font-size: 36px;
    line-height: 1.3;
    border-bottom: 1px solid #EEEFF1;
    display: inline-block;
    font-family: 'Vidaloka', Georgia, serif;
    font-weight: 400;
}

@media only screen and (max-width: 959px) {
    .archive_title span {
        padding: 0 0 20px; /* Ensuring padding is responsive */
    }
}

/* Sidebar Styles */
.row.sidebar {
    margin-bottom: 40px;
    padding: 0; /* Ensure there's no padding messing up layout calculations */
}

.row.sidebar h4 {
    margin: 20px 0 7px;
    padding: 6px 0;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: -1px;
    color: #2f2f2f;
    font-family: "Source Sans Pro", Arial, sans-serif;
    border-bottom: 1px solid #000;
}

.row.sidebar h4 a {
    color: #fff;
}

.row.sidebar #searchform {
    padding-top: 12px;
}

.row.sidebar .textwidget {
    padding: 0;
    margin: 0;
    line-height: 1.4;
}

.row.sidebar input,
.row.sidebar button,
.row.sidebar form,
.row.sidebar select {
    margin: 0;
    padding: 0 8px; /* Standardized padding for inputs for consistency */
}

.row.sidebar select {
    margin-top: 12px; /* Ensures select is stylistically consistent with other form elements */
}


/* Sidebar Styles */

/* General sidebar container styles */
.row.sidebar {
    margin-bottom: 40px;
    padding: 0; /* Remove padding to maintain layout consistency */
}

/* Sidebar heading styles */
.row.sidebar h4 {
    margin: 20px 0 7px; /* Top margin, no bottom margin before sub-elements */
    padding: 6px 0; /* Vertical padding only for spacing around the text */
    font-weight: 700; /* Bold font for headings */
    font-size: 18px; /* Sufficient size for readability */
    letter-spacing: -1px; /* Negative letter spacing to tighten up the heading text */
    color: #2f2f2f; /* Dark grey color for contrast */
    font-family: "Source Sans Pro", Arial, sans-serif; /* Sans-serif font for modern look */
    border-bottom: 1px solid #000; /* Black bottom border for a subtle separator */
}

/* Styling links within h4 for visibility */
.row.sidebar h4 a {
    color: #fff; /* White color for contrast on potentially dark backgrounds */
}

/* Specific styles for search form positioning */
.row.sidebar #searchform {
    padding-top: 12px; /* Top padding to separate from elements above */
}

/* Text widget adjustments for spacing */
.row.sidebar .textwidget {
    padding: 0; /* Remove padding to use default spacing */
    margin: 0; /* Remove margins to align with other content */
    line-height: 1.4; /* Line height for improved readability */
}

/* Uniform styling for input fields */
.row.sidebar input {
    margin: 0; /* Remove margin to maintain consistent alignment */
    padding: 0 8px; /* Horizontal padding for text inside input */
}

/* Button styles to match overall sidebar aesthetics */
.row.sidebar button {
    margin: 0; /* Ensure buttons align tightly with other form elements */
    padding: 0; /* Remove padding to control via CSS classes if needed */
}

/* General form styling for layout consistency */
.row.sidebar form {
    margin: 0; /* Remove margins to keep forms aligned within sidebar */
    padding: 0; /* Remove padding for a clean, tight layout */
}

/* Select dropdown alignment and spacing */
.row.sidebar select {
    margin-top: 12px; /* Add top margin for visual separation from elements above */
}

/* Calendar Widget Styles */
:root {
    --calendar-bg-color: #2f2f2f;
    --calendar-text-color: #fff;
    --calendar-day-bg-color: #EEEFF1;
    --calendar-day-hover-bg-color: #2f2f2f;
    --calendar-day-border-color: #fff;
    --calendar-padding: 7px 0;
    --calendar-day-padding: 8px;
    --calendar-day-hover-text-color: #fff;
    --calendar-link-color: #000;
    --calendar-link-hover-color: #fff;
    --calendar-header-footer-color: #fff;
    --calendar-font-size-small: 10px;
}

.widget_calendar {
    float: left;
    width: 100%; /* Ensures the widget aligns properly with its container */
}

#wp-calendar {
    width: 100%;
}

#wp-calendar caption {
    text-align: center;
    margin-top: 0;
    margin-bottom: 2px;
    background: var(--calendar-bg-color);
    color: var(--calendar-text-color);
    padding: var(--calendar-padding);
}

#wp-calendar thead {
    font-size: var(--calendar-font-size-small);
}

#wp-calendar thead th {
    padding-bottom: 10px; /* Space below the weekday names */
}

#wp-calendar tbody {
    color: var(--calendar-day-hover-text-color);
}

#wp-calendar tbody td {
    background: var(--calendar-day-bg-color);
    border: 1px solid var(--calendar-day-border-color);
    text-align: center;
    padding: var(--calendar-day-padding);
}

#wp-calendar tbody td:hover {
    background: var(--calendar-day-hover-bg-color);
    color: var(--calendar-day-hover-text-color);
}

#wp-calendar tbody .pad {
    background: none; /* For days not in the current month */
}

#wp-calendar tfoot #next,
#wp-calendar tfoot #prev {
    font-size: var(--calendar-font-size-small);
    text-transform: uppercase;
    color: var(--calendar-header-footer-color);
}

#wp-calendar tfoot #prev {
    padding-top: 4px;
}

#wp-calendar tfoot #next:hover,
#wp-calendar tfoot #prev:hover {
    background: var(--calendar-bg-color);
    color: var(--calendar-text-color);
}

#wp-calendar td a {
    color: var(--calendar-link-color);
    font-weight: bold;
}

#wp-calendar td:hover a {
    color: var(--calendar-link-hover-color);
}

/* Responsive adjustments */
@media only screen and (max-width: 1024px) {
    #wp-calendar tbody td {
        padding: 2px 1px; /* Smaller padding for smaller screens */
    }
}

/* Sidebar Styles - Unordered List */
:root {
    --sidebar-bg: #EEEFF1;
    --sidebar-hover-bg: #2f2f2f;
    --sidebar-text-color: #2f2f2f;
    --sidebar-hover-text-color: #fff;
    --sidebar-padding: 8px 10px;
}

.row.sidebar {
    margin-bottom: 40px; /* Ensures consistent spacing beneath the sidebar */
}

.row.sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.row.sidebar ul li {
    display: block;
    padding: var(--sidebar-padding);
    margin-bottom: 1px; /* Keeps a minimal gap between list items */
    font-size: 13px;
    background: var(--sidebar-bg);
    color: var(--sidebar-text-color); /* Added for consistency in color handling */
}

.row.sidebar ul li:hover {
    background: var(--sidebar-hover-bg);
    color: var(--sidebar-hover-text-color);
}

.row.sidebar ul li a {
    color: inherit; /* Ensures links inherit the text color of the list item */
    text-decoration: none; /* Optionally remove underline from links */
}

.row.sidebar ul li:hover a {
    color: var(--sidebar-hover-text-color);
}

/* Special case for block-grid list items to have a different hover state */
.row.sidebar ul.block-grid li:hover {
    background: var(--sidebar-bg);
    color: var(--sidebar-hover-text-color);
}

/* Responsive adjustments for sidebar padding */
@media only screen and (max-width: 767px) {
    .row.sidebar {
        padding: 0 15px; /* Adds padding on smaller screens for better touch interaction */
    }
}


/* Standard Forms ---------------------- */
form {
    margin-right: 20px;
    padding-top: 9px;
}

.row form .row {
    margin: 0 -6px;
}

.row form .row > .column,
.row form .row > .columns {
    padding: 0 6px;
}

.row form .row.collapse {
    margin: 0;
    padding: 0;
}

.row form .row.collapse > .column,
.row form .row.collapse > .columns {
    padding: 0;
}

label {
    font-size: 14px;
    color: #4d4d4d;
    cursor: pointer;
    display: block;
    font-weight: 500;
    margin-bottom: 3px;
}

label.right {
    text-align: right;
}

label.inline {
    line-height: 32px;
    margin-bottom: 12px;
}

.prefix, .postfix {
    display: block;
    position: relative;
    z-index: 2;
    text-align: center;
    width: 100%;
    height: 32px;
    line-height: 31px;
    padding: 0;
}

a.button.prefix, a.button.postfix {
    padding: 0;
}

span.prefix, span.postfix {
    background-color: #f2f2f2;
    border: 1px solid #cccccc;
}

.prefix {
    border-radius: 2px 0 0 2px;
}

.postfix {
    border-radius: 0 2px 2px 0;
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
textarea {
    background-color: white;
    font-family: inherit;
    border: 1px solid #cccccc;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.75);
    display: block;
    font-size: 14px;
    margin-bottom: 12px;
    padding: 1px 4px;
    width: 100%;
}

input.oversize,
textarea.oversize {
    font-size: 17px;
    padding: 4px 6px;
}

input:focus,
textarea:focus {
    background-color: #fafafa;
    border-color: #b3b3b3;
}

input[disabled],
textarea[disabled] {
    background-color: #ddd;
}

textarea {
    height: auto;
}

select {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    form {
        margin: 0;
        padding-bottom: 10px;
    }
}

/* Gallery ---------------------- */

.gallery {
    display: flex; /* Use Flexbox for better alignment and distribution of gallery items */
    flex-wrap: wrap; /* Allow items to wrap to the next line as needed */
    justify-content: center; /* Center items horizontally */
    gap: 5px; /* Add space between gallery items */
    margin: auto;
    overflow: hidden; /* Clear floats */
    width: 100%;
}

.gallery .gallery-item {
    flex-basis: calc(25% - 5px); /* Dynamic sizing based on the gap */
    margin-top: 5px;
    text-align: center;
    max-width: 100%; /* Ensures that content doesn't overflow its container */
}

.gallery .gallery-item img {
    box-shadow: 0 1px 2px rgba(0,0,0,0.5);
    padding: 5px;
    background: #F7F6F2;
    width: 100%; /* Ensure images take up the full size of their container */
    height: auto; /* Maintain aspect ratio */
    border: none; /* Important to ensure border is removed */
}

.gallery .gallery-caption {
    margin-top: 5px; /* Ensure spacing is maintained from the image to the caption */
}

/* Responsive Columns for better layout control */
/* Adjusting the flex-basis property dynamically based on available width */
.col-2 { flex: 1 1 50%; }
.col-3 { flex: 1 1 33.333%; }
.col-4 { flex: 1 1 25%; }
.col-5 { flex: 1 1 20%; }
.col-6 { flex: 1 1 16.666%; }
.col-7 { flex: 1 1 14.285%; }
.col-8 { flex: 1 1 12.5%; }
.col-9 { flex: 1 1 11.111%; }

@media (max-width: 600px) {
    .gallery .gallery-item {
        flex-basis: 100%; /* Stacks gallery items into a single column on small screens */
    }
}

/* Responsive Columns for Gallery */
.col-2 { flex: 1 1 50%; }
.col-3 { flex: 1 1 33.333%; }
.col-4 { flex: 1 1 25%; }
.col-5 { flex: 1 1 20%; }
.col-6 { flex: 1 1 16.666%; }
.col-7 { flex: 1 1 14.285%; }
.col-8 { flex: 1 1 12.5%; }
.col-9 { flex: 1 1 11.111%; }


/* Pagination  ---------------------- */

.row.paging {
    padding: 0;
}

/* Pagination navigation styling */
.paging .moreprevious,
.paging .morenext {
    margin: 0 0 15px; /* Consistent margin for both elements */
    text-align: left; /* Aligns 'previous' to the left */
}

.paging .morenext {
    text-align: right; /* Aligns 'next' to the right */
}

.paging .moreprevious a,
.paging .morenext a {
    background: #2f2f2f;
    color: #fff;
    padding: 3px 12px 5px;
    border: none;
    display: inline-block; /* Ensures proper padding and background */
    transition: background 0.3s ease; /* Smooth transition for hover effects */
}

.paging .moreprevious a:hover,
.paging .morenext a:hover {
    background: #000; /* Darker background on hover for better visibility */
}

/* WP-PageNavi plugin specific styling */
.wp-pagenavi {
    text-align: center;
    padding: 0;
    margin: 0;
}

.wp-pagenavi a,
.wp-pagenavi span {
    padding: 5px;
    margin-right: 10px; /* Right margin only to space out navigation elements */
    color: #fff;
    background: #2f2f2f;
    display: inline-block; /* Ensures padding and background are correctly applied */
    transition: background 0.3s; /* Smooth background transition */
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    background: #000; /* Highlight for current page and on hover */
}

.wp-pagenavi span.current {
    font-weight: normal; /* Consistent font weight for the current page indicator */
}

/* Responsive adjustments */
@media only screen and (max-width: 767px) {
    .paging .moreprevious,
    .paging .morenext {
        text-align: center; /* Center-align navigation buttons on smaller screens */
    }
    .wp-pagenavi {
        margin-bottom: 30px; /* Adds bottom margin for better spacing on mobile */
    }
}

/* Tags Styling ---------------------- */

/* Base styling for paragraph containing tags */
p.tags {
    padding-bottom: 17px;
    border-bottom: 1px solid #EEEFF1; /* Light grey border for subtle separation */
    margin: 0; /* Resets any default margin for consistency */
}

/* Styling for tag links */
p.tags a {
    background-color: #2f2f2f; /* Dark grey background for contrast */
    color: #fff; /* White text for readability */
    padding: 1px 6px 3px; /* Specific padding for a balanced visual appearance */
    border: none; /* No border for a cleaner look */
    font-size: 13px; /* Specific font size for tags */
    text-decoration: none; /* No underline to differentiate from regular links */
    border-radius: 3px; /* Rounded corners for a modern look */
    transition: background-color 0.3s ease; /* Smooth transition for hover effect */
}

/* Hover effect for tag links */
p.tags a:hover {
    background-color: #000; /* Dark background on hover for clear interaction feedback */
}

/* Tagcloud styling for consistency with individual tags */
.tagcloud {
    padding: 8px 10px; /* Consistent padding with individual tags for uniformity */
    background-color: #EEEFF1; /* Light grey background to match the tags separator */
    border-radius: 3px; /* Rounded corners to match tag links */
    margin: 0; /* Reset default margin */
}

/* Comments Styling ---------------------- */

/* Margin settings for comments section */
#comments {
    margin-top: 60px;
}

#addcomments {
    margin-top: 20px;
}

/* Comments List Styling */
ol.commentlist {
    margin: 0;
    padding: 0;
    list-style: none; /* Remove default list styling */
}

.commentlist .comment-body {
    padding: 15px 0 25px;
    margin: 0;
    border-top: none; /* Ensures no border is applied at the top of the comment body */
}

.commentlist li {
    padding: 0; /* Removes default padding */
}

.commentlist .comment-author,
.comment-body cite.fn {
    line-height: 25px;
    font-size: 14px;
    font-style: normal;
    color: #000; /* Provides contrast for readability */
}

.comment-body a.comment-reply-link {
    font-size: 11px;
    color: #ccc; /* Subtle color for secondary action links */
    padding: 0 3px;
}

ul.children .comment-body {
    padding: 15px 0 5px;
    margin: 10px 0 0;
    border-top: 1px solid #eee; /* Subtle separation between nested comments */
}

/* Avatar Styling */
ol.commentlist img.avatar {
    padding: 3px;
    background: #F9F7F5;
    border: 1px solid #E5E6E1;
    float: left;
    display: block;
    margin-right: 15px; /* Space between avatar and comment text */
    width: 48px;
    height: 48px;
}

/* Metadata styling */
.commentmetadata {
    clear: both;
    padding: 0;
    margin: 0;
}

.commentmetadata a {
    font-size: 14px;
    color: #000;
    border-bottom: 1px dotted #ccc; /* Subtle link underlining */
}

.comment-time {
    font-size: 11px;
    color: #ccc;
}

/* Submit button styling in the comment form */
form#commentform input#submit {
    font-weight: normal;
    color: #3C3C3C;
    padding: 10px 15px;
    margin-top: 10px;
    background: #F5F4F0;
    border: 1px solid #eee;
    border-bottom: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

form#commentform input#submit:hover {
    background: #f9f9f9; /* Lighter background on hover for interactive feedback */
}

/* Accordion Styles */
ul.accordion {
    margin: 0 0 22px;
    border-bottom: 1px solid #e9e9e9;
    padding: 0;
    list-style: none;
}

ul.accordion > li {
    margin: 0;
    padding: 0;
    border-top: 1px solid #e9e9e9;
}

ul.accordion > li .title {
    background: #EEEFF1;
    cursor: pointer;
    padding: 15px;
    border-left: 1px solid #e9e9e9;
    border-right: 1px solid #e9e9e9;
    position: relative;
    transition: background 0.15s linear;
}

ul.accordion > li .title:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    border-color: transparent #fff transparent transparent;
    position: absolute;
    right: 15px;
    top: 21px;
}

ul.accordion > li .content {
    display: none;
}

ul.accordion > li.active {
    border-top: 1px solid #e9e9e9;
}

ul.accordion > li.active .title {
    background: #2f2f2f;
    color: #fff;
}

ul.accordion > li.active .title:after {
    border-color: #fff transparent transparent transparent;
}

ul.accordion > li.active .content {
    display: block;
    background: #fff;
    border-left: none;
    border-right: none;
}

ul.accordion > li.active .content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.accordion > li.active .content ul li {
    background: #fff;
    padding: 8px 10px;
    border-bottom: 1px solid #EAE4DA;
    font-size: 13px;
}

ul.accordion > li.active .content ul li:last-child {
    border-bottom: none;
}

/* Ensure headers in the accordion have consistent styling */
ul.accordion h1,
ul.accordion h2,
ul.accordion h3,
ul.accordion h4,
ul.accordion h5 {
    margin: 0;
    color: inherit; /* Inherits color from parent, simplifies active state styling */
}

/* WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.bypostauthor {}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption-text {
    font-size: 12px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.sticky {
background: #fff;
border: 0;
margin-bottom:60px;
}

/* wp_link_pages styling */

#postpaging {
    margin: 0 auto;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 35px;
    font-size: 13px;
}

#postpaging a {
    background: #3c3c3c;
    color: #fff;
    padding: 1px 4px 2px;
    border:none; -moz-border-radius: 4px; border-radius: 4px; 
}


/* comments pagination */

.commentspagination {
clear:both;
padding:10px 0 35px;
position:relative;
font-size:11px;
line-height:13px;
text-align: center;
margin: 0 auto;
}
 
.commentspagination span, .commentspagination a {
display:block;
float:left;
margin: 2px 2px 2px 0;
padding:6px 9px 5px 9px;
text-decoration:none;
width:auto;
color:#fff;
background: #3c3c3c;
border:none; -moz-border-radius: 4px; border-radius: 4px; 
}
 
 
.commentspagination .current{
padding:6px 9px 5px 9px;
border:none; -moz-border-radius: 4px; border-radius: 4px; 
}


/*Lawyer Directory*/

#directory {
    
}

#directory h2 {
    font-size:18px;
}

#directory h3 {
    font-size:14px;
}

#directory hr {
    margin:20px 0;
    height:1px;
    background:#eeeff1;
}

#directory .nav {
    clear:both;
    list-style:none;
    margin:0 0 40px 0;
    padding:20px;
    background:#eeeff1;
    overflow:hidden;
}

#directory .nav li {
    float:left;
    display:inline;
    width:33%;
}

#directory .item {
    
}

#directory .img {
    float:left;
    width:150px;
    height:225px
}

#directory .no_image {
    float:left;
    width:150px;
    height:225px;
    background:url('images/no_img.png') top left no-repeat;
}

#directory .details {
    float:left;
    margin:0 0 0 20px;
    width:40%;
}

#directory .details h1 {
    font-size:18px;
}

#directory .content {
    float:none;
    clear:both;
    margin:20px 0 0 0;
    width:100%;
}

#directory .clear {
    clear:both;
}
