/*
Template Name: Lawyex | Lawyer, Law Firm & Attorney Website Template
Author: Pillarix
Author URI: https://wrapbootstrap.com/user/pillarix
Version: 1.0
*/
/*
-- Body
-- Custom Classes
-- Navbar
-- Sidebar-Nav
-- Homepage
-- Services
-- About
-- Contact
-- Footer
-- Mobile Media
*/

/* Anaximandro & Oliveira Design System */

/* Rolagem suave para navegação por âncoras (#formulario-consulta, #formulario-contato) */
html {
    scroll-behavior: smooth;
}
@import './tokens/colors.css';
@import './tokens/fonts.css';
@import './tokens/typography.css';
@import './tokens/spacing.css';

/* Body */
body {
	font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
}
a {
	text-decoration: none;
	color: #38373C;
}
a:hover {
	color: #976725;
}
.bg-dark {
	background-color: #1e1d21 !important;
}
.bg-black {
	background-color: #0f0f11 !important;
}

/* Custom Classes */
.osahan-main-nav.fixed-top {
	background: #0f0f11 !important;
}
.lawyer-nav  a.nav-link {
	padding-top: 35px !important;
	padding-bottom: 35px !important;
	color: #ffffff !important;
}
.btn-lg {
	font-size: 14px;
    padding: 18px 39px;
}
.btn-primary {
	background-color: #D6A94C !important;
	border-color: #D6A94C !important;
	color: #1e1d21;
}
.btn-primary:hover {
	background-color: #c9923b !important;
	border-color: #c9923b !important;
}
.text-primary {
	color: #D6A94C !important;
}
.light-text-primary {
	color: #976725;
}
.light-bg-primary {
	background-color: #976725;
}
.bg-primary {
	background-color: #D6A94C !important;
}
.icon {
	height: 60px;
	width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.w-8 {
	width: 8%;
}
.mb-n6 {
	margin-bottom: -6rem;
}
.mt-n7 {
	margin-top: -7rem;
}
.qualities-container {
	max-width: 1140px;
}
.qualities-banner {
	padding: 2.25rem 2.5rem;
}
.qualities-banner i {
	font-size: 2.35rem;
}
.qualities-banner h4 {
	font-size: 1.15rem;
	line-height: 1.25;
}

/* Navbar */
.header-logo {
    max-width: 260px;
    max-height: 60px;
    width: auto;
    height: auto;
    display: block;
}
.lawyer-nav {
	background: #0f0f11 !important;
}
.lawyer-nav .navbar-nav .nav-link {
	padding: 10px 0;
}
.lawyer-nav .navbar-nav .nav-link.active {
	color: #D6A94C !important;
}

/* Sidebar Nav */
.offcanvas-logo {
    max-width: 220px;
    max-height: 60px;
    width: auto;
    height: auto;
    display: block;
}
.sidebar-nav .nav-link.active {
    color: #D6A94C;
}

/* Homepage */
.bg-homepage {
	background-image: linear-gradient(180deg, rgba(15, 15, 17, .2) 0%, #0f0f11 95%), url(../img/home-escritorio-advogados-v1.jpg) !important;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.home-lawyer-card {
	aspect-ratio: 2 / 3;
}
.home-lawyer-card .card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
.home-lawyer-card::after {
	position: absolute;
	inset: 45% 0 0;
	content: "";
	background: linear-gradient(180deg, transparent, rgba(15, 15, 17, .3));
	pointer-events: none;
}
.home-lawyer-card .card-img-overlay {
	z-index: 1;
}
.home-commitment {
	padding: 2.5rem 0;
}
.home-commitment .col-lg-7 {
	display: flex;
	align-items: center;
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.home-commitment-image-wrap {
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.home-commitment-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 500px;
	max-height: 640px;
	object-fit: cover;
	object-position: center;
	border-radius: 1.5rem;
}

/* Services */
.bg-services {
	background-image: linear-gradient(rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.58)), url(../img/fundo-pagina-services-escritorio.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.services-accordion {
	--bs-accordion-border-color: rgba(33, 37, 41, .2);
	--bs-accordion-border-radius: .85rem;
	--bs-accordion-inner-border-radius: calc(.85rem - 1px);
}
.services-accordion .accordion-item {
	margin-bottom: .5rem;
	overflow: hidden;
	border: 1px solid var(--bs-accordion-border-color);
	border-radius: var(--bs-accordion-border-radius);
}
.services-accordion .accordion-button {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) 24px;
	gap: 1rem;
	align-items: center;
	padding: 1.15rem 1.5rem;
	background-color: #fff;
	color: #212529;
	font-size: 1.15rem;
	font-weight: 700;
	box-shadow: none;
}
.services-accordion .accordion-button:not(.collapsed) {
	background-color: #fff;
	color: #212529;
	box-shadow: none;
}
.services-accordion .accordion-button:focus {
	border-color: rgba(214, 169, 76, .65);
	box-shadow: 0 0 0 .2rem rgba(214, 169, 76, .18);
}
.services-accordion .accordion-button::after {
	grid-column: 3;
	width: 24px;
	height: 24px;
	margin: 0;
	background-image: none;
	color: #6c757d;
	content: "+";
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 20px;
	text-align: center;
	transform: none;
}
.services-accordion .accordion-button:not(.collapsed)::after {
	content: "×";
	transform: none;
}
.services-accordion .service-number {
	color: #D6A94C;
	font-size: .95rem;
	letter-spacing: .08em;
}
.services-accordion .accordion-body {
	padding: .25rem 1.5rem 1.5rem 6.5rem;
	border-left: 2px solid #D6A94C;
}
.services-accordion .accordion-body p {
	line-height: 1.75;
}
.box:hover {
	background-color: #D6A94C;
	border-color: #D6A94C !important;
	color: #fff !important;
	transition: .5s;
}
.box:hover i,
.box:hover p,
.box:hover h5 {
	color: #fff !important;
}
.person-img {
	width: 140px;
}
.box-shadow:hover {
	border: 1px solid transparent !important;
	box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
	transition: .2s;
}

/* About */
.bg-about {
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/bg-about.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.bg-quem-somos {
	background-image: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url(../bg-para-quem-somos.png);
}
.bg-equipe {
	background-image: linear-gradient(rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.58)), url(../img/fundo-equipe-dsc05782.jpg);
}

/* Team */
.team-profile {
	max-width: 1120px;
	margin-right: auto;
	margin-left: auto;
}
.team-profile > .container {
	padding-right: 0;
}
.team-profile .row {
	min-height: 430px;
}
.team-profile .team-profile-content {
	padding: 2.25rem 2.5rem;
}
.team-profile-content > .mb-4 {
	margin-bottom: 1.25rem !important;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.team-profile-content h1 {
	margin-bottom: .5rem;
	font-size: clamp(1.65rem, 2.5vw, 2.15rem);
	line-height: 1.18;
}
.team-profile-content h2 {
	margin-bottom: .5rem;
	font-size: clamp(1.55rem, 2.3vw, 2rem);
	line-height: 1.18;
}
.team-profile-content > .mb-4 p {
	margin-bottom: 0;
	color: #D6A94C !important;
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.5;
}
.team-profile-content > .mb-5 {
	margin-bottom: 0 !important;
}
.team-profile-content .lead {
	margin-bottom: .85rem;
	font-size: .94rem;
	line-height: 1.7;
}
.team-profile-content .lead:last-child {
	margin-bottom: 0;
}
.team-specialties {
	margin-bottom: 1rem;
	color: rgba(255, 255, 255, .72);
	font-size: .9rem;
	line-height: 1.65;
}
.team-specialties strong {
	color: #D6A94C;
}
.team-profile-image {
	padding-right: 0;
}
.team-profile-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 430px;
	max-height: 520px;
	object-fit: cover;
	object-position: center top;
	border-radius: 0 !important;
}
.team-profile-associate .row,
.team-profile-associate .team-profile-image img {
	min-height: 380px;
}
.team-profile-associate .team-profile-image img {
	max-height: 430px;
}
.team-cta-photo-wrap {
	align-self: stretch;
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.team-cta-photo {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 430px;
	object-fit: cover;
	object-position: center;
	border-radius: 1.5rem;
}

/* Contact */
.bg-contact {
	background-image: linear-gradient(rgba(0, 0, 0, 0.66), rgba(0, 0, 0, 0.66)), url(../img/fundo-pagina-contato-fachada.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* Footer */
.footer-logo {
    max-width: 300px;
    max-height: 80px;
    width: auto;
    height: auto;
    display: block;
}
.bg-footer {
	background-color: #2a292e;
}
.social-links a {
	height: 40px;
	width: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.social-links a:hover {
	background-color: #976725 !important;
}

/* Footer contact list */
.footer-contact-list a {
    word-break: break-word;
}

.footer-contact-list i {
    margin-top: 2px;
}

/* Mobile Media  */
@media (max-width: 576px) {
    .header-logo {
        max-width: 200px;
        max-height: 50px;
    }
    .footer-logo {
        max-width: 240px;
        max-height: 70px;
    }
    .offcanvas-logo {
        max-width: 180px;
        max-height: 50px;
    }
}
@media (max-width:992px) {
	.m-none {
		display: none;
	}
	.qualities-banner {
		padding: 2rem 1.5rem;
	}
	.home-commitment {
		padding: 2rem 0;
	}
	.home-commitment .col-lg-7 {
		padding-bottom: 1rem;
	}
	.home-commitment-image {
		height: 520px;
		min-height: 0;
	}
	.team-profile > .container {
		padding-right: var(--bs-gutter-x, .75rem);
	}
	.team-profile .row {
		min-height: 0;
	}
	.team-profile .team-profile-content {
		padding: 2rem;
	}
	.team-profile-image {
		padding-right: calc(var(--bs-gutter-x) * .5);
		padding-bottom: 1rem;
		padding-left: calc(var(--bs-gutter-x) * .5);
	}
	.team-profile-image img {
		height: 460px;
		min-height: 0;
		border-radius: 1rem !important;
	}
	.team-cta-photo-wrap {
		padding-top: 2rem;
		padding-bottom: 0;
	}
	.team-cta-photo {
		height: 360px;
		min-height: 0;
	}
}

@media (max-width:576px) {
	.services-accordion .accordion-button {
		grid-template-columns: 36px minmax(0, 1fr) 22px;
		gap: .65rem;
		padding: 1rem;
		font-size: 1rem;
	}
	.services-accordion .accordion-body {
		padding: .25rem 1rem 1.25rem 1.75rem;
	}
	.qualities-banner {
		padding: 1.5rem;
	}
	.qualities-banner i {
		font-size: 2rem;
	}
	.qualities-banner h4 {
		font-size: 1rem;
	}
	.home-commitment-image {
		height: 390px;
		border-radius: 1rem;
	}
	.team-profile .team-profile-content {
		padding: 1.5rem;
	}
	.team-profile-content h1 {
		font-size: 1.5rem;
	}
	.team-profile-content h2 {
		font-size: 1.45rem;
	}
	.team-profile-content .lead {
		font-size: .9rem;
		line-height: 1.65;
	}
	.team-profile-image img {
		height: 390px;
	}
	.team-cta-photo {
		height: 280px;
		border-radius: 1rem;
	}
}
