/*
Theme Name: JMBM
Theme URI: jmbm.com
Author: Krunoslav Stefanovski
Author URI: krunodesign.com
Description: DESC
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


:root {
	--primary: #012752;
	--secondary: #DCB551;
	--navy: #001368;
	--light: #F6F6F9;
	--dark: #1B1E29;
	--danger: #F50000;
	--faded: #56618b;

	--h1-size: 70px;
	--h1-line-height: 77px;
	--h2-size: 64px;
	--h2-line-height: 72px;
	--h3-size: 48px;
	--h3-line-height: 56px;
	--h4-size: 36px;
	--h4-line-height: 44px;
	--h5-size: 28px;
	--h5-line-height: 36px;
	--h6-size: 20px;
	--h6-line-height: 28px;
	
	--letter-spacing: -2%;
	
	--text-20-size: 20px;
	--text-20-line-height: 28px;
	--text-18-size: 18px;
	--text-18-line-height: 26px;
	--text-16-size: 16px;
	--text-16-line-height: 24px;
	--text-14-size: 14px;
	--text-14-line-height: 22px;

	--wrapper: 1600px;
	--font-family: 'Satoshi', sans-serif;
	--border-color: #CCD2F0;
	--transition: 0.4s cubic-bezier(0.77, 0, 0.175, 1);
}

body
{
	font-family: var(--font-family);
	background-color: #fff;
	color: var(--dark);
	overflow-x: hidden;
}

.wrapper
{
	max-width: var(--wrapper);
	width: 90%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}

section
{
	background-color: #fff;
}

section.bg-light
{
	background-color: var(--light);
}

section.padding
{

}

.sticky-nav
{
	position: fixed;
	top: -100px;
	background-color: #fff;
	transition: var(--transition);
}

.sticky-nav .nav-container .logo,
.sticky-nav .search-form,
.sticky-nav .nav-container > .menu-icons > a
{
    filter: unset !important;
}

.sticky-header
{
	padding-top: 112px;
}

.sticky-nav.sticky-active
{
	top: 0;
}

nav
{
	width: 100%;
	position: relative;
	z-index: 1000;
}

	nav .nav-container
	{
		height: 112px;
		max-width: var(--wrapper);
		width: 95%;
		position: relative;
		margin: 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	nav	.logo img
	{
		height: 60px;
	}

	nav .menu-icons
	{
		display: flex;
		align-items: center;
		grid-gap: 12px;
		height: 100%;
		z-index: 1000;
	}

		nav .menu-icons a
		{
			height: 100%;
			display: flex;
			align-items: center;
			font-size: 18px;
			font-weight: 500;
			text-transform: uppercase;
			padding: 0 20px;
			color: var(--navy);
			transition: var(--transition);
		}

		nav .menu-icons a:hover
		{
			color: var(--dark);
		}

		/* ── Services mega dropdown ───────────────────────────── */
		.nav-dropdown-wrap
		{
			display: flex;
			align-items: center;
			height: 100%;
		}

		.nav-dropdown-wrap > a
		{
			font-size: 18px;
			font-weight: 500;
			text-transform: uppercase;
			padding: 0 20px;
			color: var(--navy);
			transition: var(--transition);
		}

		.nav-dropdown
		{
			display: none;
			position: absolute;
			top: 100%;
			left: 0;
			width: var(--wrapper);
			max-width: 100vw;
			background: #fff;
			border-top: 1px solid #dcb551;
			box-shadow: 0 12px 40px rgba(0,0,0,0.12);
			z-index: 9999;
			padding: 32px 0;
		}

		.nav-dropdown-wrap:hover .nav-dropdown
		{
			display: block;
		}

		.nav-dropdown-trigger
		{
			position: relative;
		}

		.nav-dropdown-trigger::after
		{
			content: "";
			width: 100%;
			height: 3px;
			background-color: #dcb551;
			position: absolute;
			bottom: 25px;
			left: 0;
			width: 0;
			transition: 0.3s ease;
			transition-delay: 0;
		}

		.nav-dropdown-wrap:hover .nav-dropdown-trigger::after
		{
			width: 100%;
		}

		.nav-dropdown-inner
		{
			width: 100%;
			display: grid;
			grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
			gap: 8px;
		}

		ul.nav-dropdown-inner
		{
			list-style: none;
			margin: 0;
			padding: 0 20px;
		}

		ul.nav-dropdown-inner li
		{
			margin-bottom: 8px;
		}

		ul.nav-dropdown-inner li a
		{
			font-size: 15px;
			font-weight: 400;
			color: #333 !important;
			text-transform: none !important;
			transition: color 0.2s;
			padding: 0 20px;
			line-height: 20px;
			display: block;
		}

		ul.nav-dropdown-inner li a:hover
		{
			color: #dcb551 !important;
		}

		.home header .header-content
		{
			min-height: calc(100vh - 112px);
			padding: 24px 0 80px;
		}
		
		.home header .header-content p
		{
			border-top: 1px solid var(--secondary);
		}
		
		.home header .header-content .video-wrap
		{
			height: 100%;
			display: flex;
			justify-content: center;
			align-items: center;
			position: relative;
			overflow: hidden;
			aspect-ratio: 784/864;
			max-height: 864px;
			max-width: 784px;
			z-index: 0;
			background-color: #ccc;
		}

			.home header .header-content .homepage-image
			{
				background-color: var(--navy);
			}

				.home header .header-content .homepage-image img
				{
					min-width: 100%;
					height: 100%;
					opacity: .4;
					z-index: -1;
				}


			.home header .header-content .video-wrap video
			{
				position: absolute;
				top: 0;
				height: 100%;
				max-height: 864px;
			}

		nav .search-form
		{
			display: flex;
			justify-content: center;
			align-items: center;
			padding: 20px 18px;
			border-radius: 100px;
			margin-left: 20px;
			height: 64px;
			border: 1px solid var(--navy);
			overflow: hidden;
			transition: var(--transition);
		}

		nav .search-form:not(.active):hover
		{
			background-color: var(--navy);
			color: #fff;
		}
			nav .search-form:not(.active) svg path
			{
				transition: var(--transition);
			}

			nav .search-form:not(.active):hover svg path
			{
				fill: #fff;
			}
		
			nav .search-form button
			{
				padding: 10px 0;
				background-color: transparent;
				border: none;
				cursor: pointer
			}

			nav .search-form input
			{
				width: 0;
				padding: 0;
				font-size: 0;
				outline: none;
				border: none;
				height: 40px;
				font-size: 16px;
				font-weight: 400;
				color: var(--navy);
				background-color: transparent;
				transition: var(--transition);
			}

			nav .search-form.active input
			{
				width: 360px;
			}

.menu
{
	position: fixed;
	right: -700px;
	top: 0;
	height: 100vh;
	overflow: auto;
	max-width: 700px;
	width: 100%;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	padding: 32px 60px;
	opacity: 0;
	visibility: hidden;
	transition: var(--transition);
}

body:after
{
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0);
	opacity: 0;
	visibility: hidden;
	transition: var(--transition);
	z-index: 999;
}

body.menu-open:after
{
	opacity: 1;
	visibility: visible;
	background-color: rgba(0, 0, 0, 0.5);
}

.menu.active
{
	right: 0;
	opacity: 1;
	visibility: visible;
}

	.menu .menu-icons
	{
		height: 112px;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		margin-bottom: 48px;
	}

	.menu .big-nav
	{
		display: flex;
		flex-direction: column;
		grid-gap: 10px;
	}

		.menu .big-nav a
		{
			display: flex;
			padding: 10px 0;
		}

			.menu .big-nav a h4
			{
				color: var(--dark);
			}


	.menu .small-nav
	{
		margin-top: 40px;
		display: flex;
		flex-direction: column;
	}
	
		.menu .small-nav > li
		{
			width: 100%;
			display: flex;
			flex-direction: column;
			padding: 16px 0;
			position: relative;
		}

		.menu .small-nav > li::before,
		.menu .small-nav > li:last-child::after
		{
			content: "";
			position: absolute;
			top: 0;
			width: 0%;
			height: 1px;
			background-color: var(--border-color);
			transition: 0.5s ease;
			transition-delay: 1s;
		}

		.menu .small-nav > li:last-child::after
		{
			top: unset;
			bottom: 0;
		}

		.menu.active .small-nav > li::before,
		.menu.active .small-nav > li:last-child::after
		{
			width: 100%;
		}

			.menu .small-nav > li > a
			{
				width: 100%;
				display: flex;
				padding: 10px 0;
				font-weight: 500;
				justify-content: space-between;
				align-items: center;
				color: var(--dark);
			}
			
				.menu .small-nav > li > ul
				{
					display: none;
					margin-bottom: 12px;
				}

				.menu .small-nav > li img
				{
					opacity: 0;
					transition: var(--transition);
				}

				.menu.active .small-nav > li img
				{
					opacity: 1;
				}

				.menu .small-nav > li:hover img
				{
					rotate: 180deg;
					transition-delay: 0s;
				}

					.menu .small-nav > li > ul li a
					{
						padding: 4px 0;
						display: flex;
						width: 100%;
						color: var(--dark);
						font-size: 14px;
					}





/* Search People */
.search-people-thumbnail
{
	max-width: 716px;
	aspect-ratio: 716/740;
	background-color: var(--navy) !important;
}

	.search-people .search
	{
		display: grid;
		grid-template-columns: 0.5fr 0.5fr 1fr;
		align-items: center;
	}

	.search-people .our-people
	{
		width: 100%;
		position: relative;
		height: 700px;
		padding: 50px 70px 40px 50px;
		z-index: 1;
	}

		.search-people .our-people .image-bg
		{
			z-index: 0;
			max-width: unset;
		}
		
		.search-people .our-people h2,
		.search-people .our-people h4
		{
			position: relative;
			z-index: 1;
			color: #fff;
		}


	.search-people .search > div
	{
		display: flex;
	}

	.search-people .search .input 
	{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}

		.search-people .search .input input
		{
			width: 100%;
			padding: 20px 25px;
			background-color: transparent;
			color: var(--dark);
			border: 0;
			font-size: var(--text-16-size);
			line-height: var(--text-16-line-height);
			font-weight: 500;
			outline: none;
			box-shadow: none;
			border-bottom: 1px solid var(--border-color);
		}

		.search-people .search .input button
		{
			position: absolute;
			background-color: transparent;
			outline: none;
			box-shadow: none;
			border: none;
			cursor: pointer;
			padding: 0 5px;
			height: 30px;
		}


/* News and Events */
.latest-news-events
{
}

	.latest-news-events .article
	{
		display: flex;
		align-items: center;
		grid-gap: 32px;
		padding-bottom: 32px;
		margin-bottom: 32px;
		border-bottom: 1px solid var(--border-color);
	}

	.latest-news-events .article:last-child
	{
		margin-bottom: 0;
		border-bottom: 0;
	}

		.latest-news-events .article .article-thumbnail
		{
			max-width: 370px;
			aspect-ratio: 376/240;
		}

		.latest-news-events .article .article-content
		{
			flex: 1;
		}

			.category
			{
				display: flex;
				align-items: center;
				grid-gap: 8px;
			}

				.category .vertical-divider
				{
					width: 1px;
					height: 30px;
					background-color: var(--secondary);
				}

/* Announcements */
.announcements-content
{
	padding: 100px 60px;
	background-color: var(--navy);
	height: 100%;
}

	.latest-announcements
	{
		padding: 100px 0;
	}

		.latest-announcements .article
		{
			display: flex;
			padding-bottom: 80px;
		}

		.latest-announcements .article:last-child
		{
			padding-bottom: 0;
		}


/* Testimonials */
.testimonials
{}

	.testimonials .testimonial .testimonial-content
	{
		position: relative;
		z-index: 1;
	}

		.testimonials .testimonial .testimonial-content .quotation-mark
		{
			position: absolute;
			z-index: -1;
			top: -100px;
			left: -80px;
		}
		
		.testimonials .testimonial .testimonial-content h4
		{
			height: 250px;
			font-style: italic;
			border-bottom: 1px solid var(--secondary);
		}	

	.testimonials .testimonial .testimonial-thumbnail
	{
		aspect-ratio: 716/740;
		max-width: 716px;
	}


footer
{
	background-color: var(--navy);
	font-size: 14px;
	padding: 60px 0;
}

	footer .footer-heading
	{
		padding-bottom: 16px;
		margin-bottom: 16px;
		border-bottom: 1px solid var(--secondary);
		color: #fff;
	}

	footer p
	{
		color: #D5DDFF;
		font-size: var(--text-14-size);
		line-height: var(--text-14-line-height);
	}

	footer a
	{
		color: #fff;
	}

	footer .logo
	{
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

		footer .logo img
		{
			width: fit-content;
			height: 60px;
		}



/* Custom Select */

/** Custom Select **/
.custom-select-wrapper 
{
  	position: relative;
  	display: inline-block;
	flex: 1;
  	user-select: none;
}

.custom-select-wrapper select 
{
	display: none;
}

.custom-select 
{
	width: 100%;
	position: relative;
	display: inline-block;
}

.as-link .custom-select-trigger 
{
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	padding: 16px 25px;
	font-size: 16px;
	line-height: 22px;
	font-weight: 500;
	color: var(--dark);
	border-bottom: 1px solid var(--border-color);
	cursor: pointer;
}

.as-link .custom-select-trigger:before 
{
	position: absolute;
	display: block;
	content: '';
	background-image: url('assets/images/select-arrow.svg');
	width: 16px; 
	height: 16px;
	left: 0;
	transition: var(--transition);
}

.custom-select-wrapper .custom-select.btn
{
	padding: 0;
}

.custom-select.btn .custom-select-trigger
{
	padding: 20px 40px 20px 36px;
	width: 100%;
	overflow: hidden;
	display: flex;
	grid-gap: 16px;
	align-items: center;
	justify-content: space-between;
	white-space: nowrap;        /* Prevent line break */
	text-overflow: ellipsis;    /* Add "..." at the end */
	color: var(--dark);
	cursor: pointer;
	transform: var(--transition);
}

.btn .custom-select-trigger:after
{
	position: relative;
	display: block;
	content: '';
	background-image: url('assets/images/select-arrow.svg');
	width: 16px; 
	height: 16px;
	transition: var(--transition);
}

.custom-select.opened .custom-select-trigger:after {
	background-image: url('assets/images/select-arrow-opened.svg');
}

	.as-link .custom-select.opened .custom-select-trigger:before {
		background-image: url('assets/images/select-arrow-opened.svg');
	}
	
  .custom-options 
  {
    position: absolute;
    display: block;
    top: 100%; left: 0; right: 0;
    min-width: 100%;
	max-height: 300px;
	overflow: auto;
	padding: 8px 16px;
	background-color: var(--light);
	border-radius: 8px;
    transition: var(--transition);
	z-index: 199;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0);
  }

  .custom-select.opened .custom-options 
  {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateY(12px);
  }

    .custom-option 
	{
      position: relative;
      display: block;
      padding: 10px 0;
      font-size: 16px;
	  font-weight: 500;
      color: var(--dark);
      cursor: pointer;
      transition: var(--transition);
    }

    .custom-option:first-of-type {
		border-radius: 4px 4px 0 0;
    }

    .custom-option:last-of-type {
		border-bottom: 0;
		border-radius: 0 0 4px 4px;
    }

    .custom-option:hover,
    .custom-option.selection {
		color: var(--navy);
    }

/* Pages Header */
.image-background
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

	.image-background img
	{
		width: 100%;
		opacity: 0.8;
		height: 100%;
		z-index: 1;
		position: relative;
	}

.page-header
{
	position: relative;
}

nav.white .nav-container .logo,
nav.white .search-form,
nav.white .nav-container > .menu-icons > a
{
    filter: invert(1) brightness(10);
}

	.page-header .page-header-content
	{
		max-width: 1250px;
		width: 100%;
		margin: 80px 0;
		padding: 40px 40px;
		border-left: 2px solid var(--secondary);
		z-index: 1;
	}

		.page-header .single-services-content a
		{
			color: #fff;
		}
	
		.page-header .page-header-thumbnail
		{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			overflow: hidden;
			display: flex;
			justify-content: center;
			align-items: center;
			z-index: 1;
		}

			.page-header .page-header-thumbnail img
			{
				width: 100%;
				height: 100%;
				object-fit: cover;
			}


	.page-header .single-services-content.page-header-content
	{
		max-width: 1600px;
	}

		.page-header .single-services-content.page-header-content h1,
		.page-header .single-services-content.page-header-content p
		{
			color: #fff;
		}
		.page-header .single-services-content.page-header-content .breadcrumbs span
		{
			color: #fff;
		}

/* Services and Industries Page */
.services-industries
{
	padding: 80px 0;
}

	.services-industries .listing-posts
	{

	}

		.services-industries .listing-posts .single
		{
			display: flex;
			justify-content: space-between;
			align-items: center;
			color: var(--dark);
			padding: 24px;
			border-bottom: 1px solid var(--border-color);
			transition: var(--transition);
		}

		.services-industries .listing-posts .single:hover
		{
			padding-right: 0;
		}

		.services-industries .listing-posts .col-xs-12 .single:first-child
		{
			border-top: 1px solid var(--border-color);
		}

	.card-industry
	{
		display: flex;
		flex-direction: column;
		margin-bottom: 64px;
	}

		.card-industry .card-industry-image
		{
			max-width: 100%;
			overflow: hidden;
			height: 260px;
			display: flex;
			justify-content: center;
			align-items: center;
		}

			.card-industry .card-industry-image img
			{
				width: 100%;
				height: 100%;
				object-fit: cover;
				transition: 0.5s ease;
			}

			.card-industry:hover .card-industry-image img
			{
				scale: 1.05;
			}

			
		.card-industry .card-industry-info
		{
			padding-bottom: 20px;
			border-bottom: 1px solid var(--border-color);
		}

		.card-industry .card-industry-info h5
		{
			font-size: 24px;
		}

/* About Us Page */
.about-image-wrap
{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 716px;
	height: 100%;
	aspect-ratio: 716/800;
	overflow: hidden;
	background-color: #ccc;
}

	.about-image-wrap img
	{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

/* Lawyer Card */
.lawyer-card
{
}

	.lawyer-card a
	{
		display: flex;
		flex-direction: column;
		width: 100%;
	}


	.lawyer-card .lawyer-thumbnail
	{	
		aspect-ratio: 376/480;
		width: 100%;
		background-color: #f1f1f1;
	}

/* Blog Page */
.blog-filters
{
	display: flex;
	grid-gap: 12px;
}

	.latest-blog
	{
		width: 100%;
		/* max-width: 1046px; */
		margin: 100px auto 0;
	}

		.latest-blog .article
		{
			width: 100%;
			display: flex;
			flex-direction: column;
			margin: 0 0 48px;
			padding: 0 0 48px;
			border-bottom: 1px solid var(--border-color);
		}

		.latest-blog .article:last-child
		{
			margin-bottom: 0 !important;
		}

	.sticky
	{
		position: sticky;
		top: 50px;
	}

.thumbnail
{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	background-color: #F4F4F4;
}

	.thumbnail img
	{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}



/* Contact Page */
.contact-card
{
	background-color: var(--light);
}

	.contact-card .contact-thumbnail
	{
		aspect-ratio: 512/280;
	}

	.contact-card .contact-content
	{
		padding: 24px 32px;
	}

		.contact-card .contact-content p
		{
			display: flex;
			grid-gap: 12px;
			margin: 24px 0 0;
		}

			.contact-card .contact-content p a
			{
				color: inherit;
			}

/* Single Article Services & Industries */
section.single-article .badge img
{
	max-width: 172px;
	width: 100%;
}

	.single-article .contacts .contact
	{
		display: flex;
		align-items: center;
		grid-gap: 16px;
	}
		
		.single-article .contacts > p
		{
			max-width: 320px;
			width: 100%;
		}

		.single-article .contacts .contact .contact-thumbnail
		{
			aspect-ratio: 64/80;
			max-width: 64px;
		}
		
		.single-article .article-content 
		{
			font-size: var(--text-20-size);
			line-height: var(--text-20-line-height);
			letter-spacing: var(--letter-spacing);
			color: var(--dark);
		}
		
		.single-article .article-content ul
		{
			list-style-position: outside;
			padding-left: 20px;
			margin-top: 32px;
			margin-bottom: 32px;
			list-style: disc !important;
		}

		.single-article .article-content p,
		.single-article .article-content ul > li
		{
			list-style-position: outside;
			margin-bottom: 20px;
		}

		.single-article .article-content ol
		{
			list-style-position: outside;
			padding-left: 20px;
			margin-top: 32px;
			list-style: decimal !important;
		}

		.single-article .article-content ol,
		.single-article .article-content ol li
		{
			margin-bottom: 20px;
			list-style-position: outside;
		}

		.single-article .article-content b,
		.single-article .article-content strong
		{
			font-weight: 600;
		}
		
		.single-article .article-content i
		{
			font-style: italic;
		}

		.single-article .article-content li
		{
			margin-bottom: 12px;
		}

		.single-article .article-content h2
		{
			font-size: 40px;
			line-height: 48px;
			margin: 64px 0 20px;
		}

		.single-article .article-content h1
		{
			font-size: 40px;
			line-height: 50px;
			margin: 64px 0 20px;
			font-weight: 600;
		}

		.single-article .article-content h2
		{
			font-size: 36px;
			line-height: 46px;
			margin: 64px 0 20px;
			font-weight: 600;
		}

		.single-article .article-content h3
		{
			font-size: 30px;
			line-height: 40px;
			margin: 64px 0 20px;
			font-weight: 600;
		}

		.single-article .article-content h4
		{
			font-size: 24px;
			line-height: 36px;
			margin: 64px 0 20px;
			font-weight: 600;
		}
			
		.single-article .article-content a
		{
			color: #0328CC;
		}

		.single-article .article-content hr
		{
			margin: 50px 0 30px;
			height: 1px;
			background-color: var(--border-color);
			border: none;
		}

		.single-video .article-content iframe 
		{
			margin-bottom: 40px;
		}

		.single-video .article-content .heading4
		{
			display: block;
			font-size: var(--h4-size);
			line-height: var(--h4-line-height);
			color: var(--primary);
			font-weight: 400;
			letter-spacing: var(--letter-spacing);
			margin-bottom: 40px;
		}

		.single-article .wp-block-columns
		{
			margin-top: 30px;
			margin-bottom: 50px;
			grid-gap: 30px;
			background-color: var(--light);
			padding: 20px;
		}

		.single-article .wp-block-columns p
		{
			font-size: var(--text-16-size);
			line-height: var(--text-16-line-height);
		}

		.single-article .wp-block-group 
		{
			display: flex;
			grid-gap: 30px;
		}

			.single-article .wp-block-group p
			{
				flex: 1;
			}
		
			.single-article .wp-block-group .wp-block-image
			{
				text-align: center;
			}

		.single-article .article-content table
		{
			margin-bottom: 30px;
		}

		.single-article .article-content table th,
		.single-article .article-content table td
		{
			padding: 10px;
			border: 1px solid #ddd;
		}
		

/* New About Page */
.firm-categories
{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	border-bottom: 1px solid var(--border-color);
}

@media screen and (max-width: 1100px) {
	.firm-categories
	{
		overflow: scroll;
	}
}

	.firm-categories .category-link
	{
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 30px;
		height: 200px;
		border-left: 1px solid var(--border-color);
		font-size: 24px;
		font-weight: 500;
		line-height: 32px;
		color: var(--navy);
		text-align: center;
	}

	.firm-categories .category-link.active
	{
		background-color: var(--navy);
		color: #fff;
	}

	.firm-content
	{
		padding: 100px 0 100px;
	}

	.firm-content.with-padding
	{
		padding: 100px 0 200px;
	}

	.firm-content .wrapper
	{
		max-width: 1110px;
		width: 95%;
		margin: 0 auto;
	}

	.about-thumbnail
	{
		aspect-ratio: unset;
		max-width: 784px;
		align-items: flex-start;
		background-color: transparent;
	}

		.about-thumbnail img
		{
			width: 100%;
			height: auto;
		}


/* Full size Popup */
body.popup-opened,
body.menu-opened
{
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.popup
{
	position: fixed;
	top: 0;
	right: 0;
	width: 0%;
	height: 100vh;
	display: flex;
	justify-content: center;
	background-color: #fff;
	overflow: hidden;
	z-index: 10000;
	transition: var(--transition);
}

.popup.active
{
	width: 100%;
}

	/* Base */
	.popup .popup-conent
	{
		position: absolute;
		inset: 0;               /* full area */
		width: 100%;
		height: 100vh;
		padding: 80px 90px 80px 0;
		overflow: auto;

		opacity: 0;
		visibility: hidden;
		pointer-events: none;

		transform: translateX(-100px);   /* slight left offset for inactive */
		will-change: transform, opacity;
		transition:
			transform 380ms ease,
			opacity 200ms ease,
			visibility 0s linear 380ms;   /* delay hiding until fade completes */
		z-index: 100;
	}

	/* Active (resting center) */
	.popup .popup-conent.active
	{
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(0);
		transition:
			transform 420ms cubic-bezier(.2,.7,.2,1),
			opacity 200ms ease,
			visibility 0s;
	}

	/* Entering (slide from left to center) */
	.popup .popup-conent.entering
	{
		visibility: visible;
		opacity: 1;
		transform: translateX(0);
		z-index: 101;  /* above the leaving panel */
	}

	/* Leaving (slide to the right + fade) */
	.popup .popup-conent.leaving
	{
		visibility: visible;   /* keep visible while animating out */
		pointer-events: none;
		opacity: 0;
		transform: translateX(100px);
		z-index: 100;
		transition:
			transform 360ms ease,
			opacity 200ms ease,
			visibility 0s linear 360ms;
	}

	/* (Optional) Reduce motion for accessibility */
	@media (prefers-reduced-motion: reduce) {
		.popup .popup-conent,
		.popup .popup-conent.active,
		.popup .popup-conent.entering,
		.popup .popup-conent.leaving{
			transition: none !important;
			transform: none !important;
			opacity: 1 !important;
			visibility: visible !important;
		}
	}

	.popup .aside 
	{
		position: fixed;
		top: 0;
		right: 0;
		width: 88px;
		height: 0;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		z-index: 100;
		background-color: var(--primary);
		transition: var(--transition);
	}

	.popup.active .aside 
	{
		height: 100%;
	}

		.popup .aside .close-popup,
		.popup .aside .next-content
		{
			position: absolute;
			top: 32px;
			cursor: pointer;
			text-align: center;
		}

		.popup .aside .next-content
		{
			top: unset;
			bottom: 32px;
		}

	.popup-conent p
	{
		margin-bottom: 20px;
	}
	
	.popup-conent h2
	{
		text-transform: sentence;
	}

		.popup-conent a
		{
			color: var(--navy);
		}


		.popup-conent .row:not(:first-child)
		{
			margin-top: 100px;
		}

		.popup-conent ul
		{
			list-style-position: outside;
			padding-left: 20px;
			margin-top: 32px;
			list-style: disc !important;
		}

		.popup-conent p,
		.popup-conent ul > li
		{
			list-style-position: outside;
			margin-bottom: 20px;
		}

		.popup-conent ol
		{
			list-style-position: outside;
			padding-left: 20px;
			margin-top: 32px;
			list-style: decimal !important;
		}

		.popup-conent ol,
		.popup-conent ol li
		{
			margin-bottom: 20px;
			list-style-position: outside;
		}

		.popup-conent b,
		.popup-conent strong
		{
			font-weight: 600;
		}
		
		.popup-conent i
		{
			font-style: italic;
		}

		.popup-conent li
		{
			margin-bottom: 12px;
		}

/* Lawyers Page */
.lawyers .filters .custom-select-wrapper
{
	width: 100%;
}

/* Single Lawyers Page */
.lawyers-header-content
{
	width: 100%;
	margin: 0 0 80px 0;
	padding: 40px 0;
	z-index: 1;	
}

	.lawyers-header-content .lawyer-header-thumbnail
	{
		max-width: 612px;
		aspect-ratio: 612/716;
	}

	.lawyers-header-content .lawyer-info
	{
		margin-top: 64px;
		padding-top: 32px;
		border-top: 1px solid var(--secondary);
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

		.lawyers-header-content .lawyer-info ul li
		{
			padding: 10px 0;
		}

			.lawyers-header-content .lawyer-info ul li,
			.lawyers-header-content .lawyer-info ul li a
			{
				display: flex;
				align-items: center;
				grid-gap: 8px;
			}


		.lawyers-header-content .lawyer-info ul.icons
		{
			display: flex;
			align-items: center;
			grid-gap: 8px;
		}

	.single-lawyer .toc ul 
	{
	}

		.single-lawyer .toc ul li
		{
			font-size: var(--text-18-size);
			line-height: var(--text-18-line-height);
			color: #646771;
			margin: 8px 0;
			padding-left: 12px;
			transition: var(--transition);
		}

		.single-lawyer .toc ul li:not(.active):hover
		{
			padding-left: 16px;
		}

		.single-lawyer .toc ul li.active
		{
			color: var(--navy);
			box-shadow: inset 1px 0 0 0 var(--secondary);
		}

	.single-lawyer .assistant 
	{
		font-size: var(--text-18-size);
		line-height: var(--text-18-line-height);
	}

	.single-lawyer .assistant strong
	{
		font-size: var(--text-20-size);
		line-height: var(--text-20-line-height);
		color: var(--navy);
		font-weight: 400;
		margin-bottom: -20px;
		display: block;
	}

	.single-lawyer .assistant a
	{
		color: var(--navy);
		transition: var(--transition);
	}

	.single-lawyer .assistant a:hover
	{
		color: #0025C9;
	}

	.single-lawyer .lawyer-content,
	.single-lawyer .lawyer-content p,
	.single-lawyer .lawyer-content ul,
	.single-lawyer .lawyer-content ol
	{
		font-size: var(--text-20-size);
		line-height: var(--text-20-line-height);
		letter-spacing: var(--letter-spacing);
		color: var(--dark);
		margin-bottom: 24px;
	}

		.single-lawyer .lawyer-content i
		{
			list-style: italic;
		}

		.single-lawyer .lawyer-content strong
		{
			font-weight: 700;
		}

		.single-lawyer .lawyer-content bold
		{
			font-weight: 600;
		}

		.single-lawyer .lawyer-content ul
		{
			list-style: disc;
		}

		.single-lawyer .lawyer-content ol
		{
			list-style: numeric;
		}
		
		.single-lawyer .lawyer-content ul, 
		.single-lawyer .lawyer-content ol
		{
			list-style-position: outside;
			padding-left: 20px;
		}

			.single-lawyer .lawyer-content ul li
			{
				margin-bottom: 16px;
			}

			.single-lawyer .lawyer-content em
			{
				font-style: italic;
			}

		.single-lawyer .lawyer-content a
		{
			color: var(--navy);
			text-decoration: underline;
		}
		
		.single-lawyer .education li b,
		.single-lawyer .education li strong,
		.single-lawyer .bar_admission li b,
		.single-lawyer .bar_admission li strong
		{
			font-weight: 400;
		}



/* Print design for single lawyers */


@media print {
	@page { size: auto !important;  margin: 4mm 1cm !important; }

	nav 
	{
		padding: 0 !important;
	}

	nav .wrapper
	{
		text-align: left !important;
	}

	nav .menu-icons
	{
		display: none !important; 
	}

	nav .logo
	{
		display: inline-block !important;
		/* margin: 0 auto !important; */
	}
	
	nav .logo img
	{
		max-width: 4cm !important;
		height: 100%;
		object-fit: cover;
	}

	footer
	{
		display: none !important;
	}	

	.lawyer-content p
	{
		display: block !important;
	}

	.lawyer-content li
	{
		display:  list-item !important;
	}

	.lawyers-header-content
	{
		padding: 0 !important;
		margin: 0 0 20px !important;
	}

	.lawyers-header-content .row
	{
		display: block !important;
		font-size: 0 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.single-attorneys .lawyers-header-content .lawyer-header-thumbnail
	{
		height: 260px !important;
	}

	.lawyers-header-content h1
	{
		font-size: 34px !important;
	}

	.lawyer-content h2 { font-size: 32px !important; line-height: 100%; }
	.lawyer-content h3 { font-size: 28px !important; line-height: 100%; }
	.lawyer-content h4 { font-size: 24px !important; line-height: 100%; }
	.lawyer-content h5 { font-size: 20px !important; line-height: 100%; }
	.lawyer-content h6 { font-size: 18px !important; line-height: 100%; }

	h1, h2, h3, h4, h5, h6 { margin-bottom: 20px !important; }

	.lawyers-header-content .lawyer-info ul li
	{
		padding: 0 !important;
	}

	.lawyers-header-content .lawyer-info ul li,
	.lawyers-header-content .lawyer-info ul li a
	{
		font-size: 12px !important;
	}
	
	.lawyers-header-content .lawyer-info ul li svg
	{
		width: 14px;
		height: 14px;
	}

	.lawyers-header-content .row > div:first-child
	{
		width: 35% !important;
		vertical-align: top !important;
		display: inline-block !important;
	}

	.lawyers-header-content .row > div:last-child
	{
		width: 60% !important;
		vertical-align: top !important;
		display: inline-block !important;
		margin-left: 5% !important;
	}

	.lawyer-info
	{
		margin-top: 10px !important;
		padding-top: 20px !important;
	}

	h1
	{
		display: block !important;
	}

	p,
	ul,
	li,
	ol,
	a
	{
		font-size: 12px !important;
		line-height: 18px !important;
	}

	.single-lawyer .row
	{
		display: block !important;
		font-size: 0 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.wrapper
	{
		width: 100% !important;
		max-width: 100% !important;
		display: block !important;
	}

	.single-lawyer
	{
		padding: 0 !important;
	}

	.lawyer-content > div
	{
		margin-top: 0 !important;
	}

	.lawyer-content .content div
	{
		margin-bottom: 20px !important;
	}

	.breadcrumbs,
	.lawyer-info .icons,
	.single-lawyer .wrapper > .row > div:first-child {
		display: none !important;
	}

	.wrapper {
		max-width: 100% !important;
	}

	.single-lawyer .wrapper > .row > div:last-child {
		width: 100% !important;
	}
}

/* Illustration */
.wrapper
{
	position: relative;
}

.illustration
{
	position: absolute;
	z-index: 0;
	right: -30%;
	top: -140%;
}

.single-services .illustration
{
	z-index: 1;
}