/*
Theme Name: RNAS
Theme URI: http://blisq.pt
Author: Blisq
Author URI: http://blisq.pt
Description: Tema desenvolvido para uso exclusivo da Blisq Creative
Version: V7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: Blisq
Text Domain: Blisq
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&display=swap');

:root {
	--header-bg: #F3F3F3;
	--black-color: #232323;
	--main-grey-color: #f2f2f2;
}

* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

html {
	overflow-x: hidden;
	scroll-behavior: smooth;
}

html.overflow {
	overflow: hidden;
}

body {
	overflow-x: hidden;
	font-family: "Inter", sans-serif;
	counter-reset: location page-h2;
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

a {
	text-decoration: none;
	display: block;
}

ul {
	list-style: none;
}

h2 {
	color: #BEBEBE;
	font-size: 14px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.42px;
	text-transform: uppercase;
	margin-bottom: 10px;
}

p {
	color: #4B4B4B;
	font-size: 16px;
	font-weight: 300;
	line-height: 170%;
}


main {
	margin-top: 93px;
}

.subtitle {
	color: #000;
	font-family: "Libre Caslon Text", serif;
	font-size: 32px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	margin-bottom: 10px;
}

/* CONTAINERS */

.main-container {
	max-width: 1640px;
	margin: 0 auto;
	width: 100%;
	position: relative;
}

.container {
	max-width: 1453px;
	margin: 0 auto;
	width: 100%;
}

.medium-container {
	max-width: 1365px;
	margin: 0 auto;
	width: 100%;
}

.small-container {
	max-width: 1293px;
	margin: 0 auto;
	width: 100%;
}

.mini-container {
	max-width: 944px;
}

.single-member-container {
	max-width: 1138px;
	margin: 0 auto;
}


/* BUTTONS */

.schedule-btn {
	color: #FFF;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.42px;
	text-transform: uppercase;
	padding: 18px 28px;
	border-radius: 61px;
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	margin-top: 15px;
	z-index: 1;
	transition: all .2s;
	border: 1px solid transparent;

}

footer .schedule-btn {
	font-size: 13px;
	transition: all .2s;
}

.schedule-btn::after {
	content: " ";
	position: relative;
	display: inline-block;
	width: 17px;
	height: 12px;
	background-image: url(assets/images/carta.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.schedule-btn.red {
	background: var(--Linear, linear-gradient(100deg, #B00F0F -8.99%, #4A0606 135.29%));
}

.schedule-btn.red:hover {
	background: var(--Linear, linear-gradient(100deg, #1D1D1D -8.99%, #1D1D1D 135.29%));
	border: 1px solid #FFF;
}

.schedule-btn.white {
	background: #FFF;
	color: #000;
}

.schedule-btn.white:hover {
	background: #E1E1E1;
}

.footer-schedule-card .schedule-btn.white:hover {
	background: var(--Linear, linear-gradient(100deg, #B00F0F -8.99%, #4A0606 135.29%));
	color: #fff;
}

.schedule-btn.white::after {
	filter: invert(1);
}

.footer-schedule-card .schedule-btn.white:hover::after {
	filter: invert(0);
}

/* HEADER */

header {
	background-color: var(--header-bg);
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 100;
	transition: all .2s;
}

.header-gradient {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.00) 22%, #D8D8D8 100%);
}

.header-locations {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.header-locations a {
	color: #3A3A3A;
	font-size: 12px;
	font-weight: 500;
	line-height: 100%;
	letter-spacing: 0.96px;
	text-transform: uppercase;
	transition: all .2s;
	padding: 7px 16px 6px 16px;
}


.header-locations a:hover {
	background-color: #C4C4C4;
}

header .custom-logo-link {
	position: absolute;
	top: 11px;
	max-width: 180px;
	z-index: 1;
}

.custom-logo-link img {
	width: 100%;
	object-fit: contain;
}

header .menu-top {
	display: flex;
	justify-content: flex-end;
	gap: 24px;
	align-items: center;
}

.menu-top>li:not(:last-child)>a {
	color: #000;
	font-size: 14px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.42px;
	text-transform: uppercase;
	padding: 28px 0 26px 0;
	position: relative;
}

.menu-top>li:not(:last-child)>a::after {
	content: " ";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 4px;
	width: 0%;
	background-color: #B00F0F;
	transition: all .2s;
}

.menu-top>li:not(:last-child)>a:hover::after {
	width: 100%;
}

.menu-top>li:last-child>a,
.contact-btn {
	color: #2E2E2E;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.42px;
	text-transform: uppercase;
	padding: 18px 28.5px;
	background-color: #FFF;
	display: block;
	border-radius: 76px;
	box-shadow: 0px 0px 34.9px 0px rgba(0, 0, 0, 0.07);
	position: relative;
	display: flex;
	align-items: center;
	transition: all .2s;
}

.menu-top>li:last-child>a:hover,
.contact-btn:hover {
	background-color: #E1E1E1;
	box-shadow: unset;
}

.menu-top>li:last-child>a::after,
.contact-btn::after {
	content: " ";
	position: relative;
	display: inline-block;
	background-image: url(assets/images/telefone.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 13px;
	height: 12px;
	margin-left: 10px;
}

header .menu-item-has-children {
	position: relative;
	display: flex;
	gap: 6px;
	align-items: center;
}

header .menu-item-has-children::after {
	content: " ";
	position: relative;
	display: inline-block;
	width: 9px;
	height: 5px;
	background-image: url(assets/images/seta-baixo.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

header .menu-item-has-children .sub-menu {
	position: absolute;
	display: none;
	z-index: 3;
	background-color: #FFF;
	padding: 10px 0px 24px 0px;
	width: 187px;
	top: 68px;
	left: -24px;
}

header .menu-item-has-children .sub-menu.active {
	display: block;
}

header .menu-item-has-children .sub-menu a {
	color: #000;
	font-size: 14px;
	font-weight: 300;
	line-height: 120%;
	padding: 3px 22px 4px 24px;
}

header .menu-item-has-children .job-position a {
	color: #B7B7B7;
	font-size: 12px;
	font-weight: 600;
	line-height: 130%;
	text-transform: uppercase;
	pointer-events: none;
	margin-bottom: 4px;
}

header .menu-item-has-children .job-position:not(:first-child) a {
	margin-top: 15px;
}

header .menu-item-has-children .sub-menu .current-menu-item a {
	background-color: #F3F3F3;
	position: relative;
}

header .menu-item-has-children .sub-menu .current-menu-item a::before {
	content: " ";
	position: absolute;
	left: 0;
	top: 0;
	width: 17px;
	height: 100%;
	background-color: #1D1D1D;
}

.btn-mobile {
	display: none;
}

header .menu-top li:not(.job-position):hover {
	background-color: #f3f3f3;
}

/* FOOTER */

footer {
	background-color: var(--black-color);
	padding: 86.5px 5% 49px 5%;
	position: relative;
}

footer::after {
	content: " ";
	position: absolute;
	right: 20%;
	bottom: 0;
	background-image: url(assets/images/footer-estatua.webp);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom;
	width: 380px;
	height: 250px;
}

footer h4 {
	color: #FFF;
	font-family: "Libre Caslon Text", serif;
	font-size: 23px;
	font-weight: 400;
	line-height: 150%;
	margin-bottom: 13px;
}

footer h5 {
	color: #FFF;
	font-family: "Libre Caslon Text", serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 0.16px;
	margin-bottom: 2px;
}

footer h6 {
	color: #6D6D6D;
	font-size: 12px;
	font-weight: 600;
	line-height: 140%;
	text-transform: uppercase;
	margin-top: 11px;
}

footer p,
footer a {
	color: #D1D1D1;
	font-size: 14px;
	font-weight: 300;
	line-height: 170%;
	position: relative;
	transition: all .2s;
}

footer a {
	cursor: pointer;
}

footer a:hover {
	color: #FFF;
}

footer .main-container {
	display: grid;
	grid-template-columns: 19% 76%;
	gap: 5%;
}

.footer-schedule-card {
	margin-top: 50px;
	padding: 24px 37px 24px 24px;
	border: 1px solid #FFF;
	width: fit-content;
}

.footer-schedule-card .schedule-btn {
	margin-top: 80px;
}

.footer-schedule-card span {
	color: #FFF;
	font-family: "Libre Caslon Text", serif;
	font-size: 23px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%;
	/* 32.2px */
}

.footer-schedule-card p {
	color: #9B9B9B;
	font-size: 16px;
	font-style: normal;
	font-weight: 300;
	line-height: 150%;
	/* 24px */
}

.footer-contacts-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 40px;
	row-gap: 4px;
}

.footer-contacts-grid-item>div {
	display: flex;
	gap: 5px;
}

.footer-contacts-grid-item .home a::after,
.footer-contacts-grid-item .mobile::after {
	position: relative;
	top: -3px;
	left: -1px;
	display: inline-block;
	color: #D1D1D1;
	font-size: 14px;
	font-weight: 300;
	line-height: 170%;
}

.footer-contacts-grid-item .home {
	margin-right: 4px;
}

footer .fax a {
	position: relative;
	display: flex;
	gap: 4px;
}

footer .fax a::before {
	content: " ";
	position: relative;
	display: inline-block;
	left: -4px;
	top: 3px;
	height: 18px;
	width: 1px;
	background-color: #D1D1D1;
}

footer .mobile-flex a:nth-of-type(2)::before {
	content: " / ";
	position: relative;
	display: inline-block;
}

.footer-contacts-grid-item .home a::after {
	content: "*";
}

.footer-contacts-grid-item .mobile::after {
	content: "**";
}

.footer-contacts-grid-item:nth-of-type(3) {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.footer-info {
	display: flex;
	gap: 20px 50px;
}

.footer-info-content {
	display: flex;
	gap: 33px 50px;
}

.adv-code {
	margin-top: 107px;
}

.adv-code span,
.privacy-policy-item {
	color: #666;
	font-size: 12px;
	font-weight: 400;
	line-height: 160%;
	text-transform: uppercase;
}

.avd-code-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.icon-blisq {
	margin-right: 205px;
}

.icon-blisq img {
	transition: all .2s;
}

.icon-blisq:hover img {
	transform: scale(1.1);
}

.content-call-to-national,
.footer-contacts-grid-item:not(:last-child) .call-to-national {
	display: none;
}

.footer-head-office {
	color: #FFF;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 5px 10px;
	border-radius: 30px;
	border: 1px solid #FFF;
	margin-bottom: 9px;
	display: block;
	width: fit-content;
}

/* FRONTAGE */
/* FRONTPAGE - HERO */

.hero {
	position: relative;
	background-image: url(assets/images/livros.webp);
	background-repeat: no-repeat;
	background-size: 65% 100%;
	background-position: right;
	min-height: 100vh;
	display: flex;
	padding: 0 5%;
}

.hero::before {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #1C1C1C 39%, rgba(26, 33, 52, 0.00) 106.97%);
	z-index: 0;
}

.hero::after,
.single-member-banner::after,
.page-banner::after {
	content: " ";
	position: absolute;
	width: 400px;
	height: 26px;
	background-color: var(--main-grey-color);
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.hero h1 {
	color: #FFF;
	font-family: "Libre Caslon Text", serif;
	font-size: 50px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	z-index: 1;
	position: relative;
}

.hero p {
	color: #FFF;
	font-size: 19px;
	font-weight: 300;
	line-height: 160%;
	z-index: 1;
	position: relative;
	margin-top: 7px;
}

.hero .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.hero-content {
	width: 36%;
}

.hero-img img {
	z-index: 1;
	position: relative;
}

.hero .schedule-btn::before {
	content: " ";
	position: absolute;
	left: -200%;
	top: 50%;
	transform: translateY(-50%);
	width: 200px;
	height: 1px;
	background-color: #FFF;
	transition: all .6s;
}

.hero .schedule-btn.visible::before {
	left: -100%;
}


/* FRONTPAGE - PRESENTATION */

.presentation {
	padding: 140px 5% 150px 5%;
	background-color: var(--main-grey-color);
}

.presentation .small-container {
	display: flex;
	gap: 160px;
	align-items: center;
}

.presentation-thumb figure {
	position: relative;
}

.presentation-thumb figure img {
	position: relative;
	z-index: 1;
	object-fit: cover;
}

.presentation-thumb figure::before {
	content: " ";
	position: absolute;
	width: 100%;
	height: 65%;
	border: 1px solid #4B4B4B;
	bottom: -30px;
	left: -30px;
	z-index: 0;
}

/* FRONTPAGE - LOCATION */

.locations {
	padding: 80px 5% 40px 5%;
}

.locations-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 53px;
	gap: 90px;
}

.location-card {
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 238px;
	padding: 40px 20px 24px 20px;
	position: relative;
	transition: all .8s;
}

.location-card .mobile-flex {
	display: flex;
	justify-content: center;
	gap: 5px;
}

.location-card:hover {
	background-color: #EDEDED;
}

.location-card:hover::before {
	color: #DCDCDC;
}

.head-office {
	color: #FFF;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 6px 10px;
	border-radius: 29.143px;
	background: linear-gradient(100deg, #B00F0F -8.99%, #4A0606 135.29%);
	width: fit-content;
	position: absolute;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
	transition: all .2s;
}

.location-card:hover .head-office {
	top: 25px;
	transition: all .2s;
}

.location-card h3 {
	color: #000;
	text-align: center;
	font-family: "Libre Caslon Text", serif;
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	position: relative;
	transition: all .2s;
	top: 0;
}

.location-card:hover h3 {
	top: -50px;
}

.location-card::before {
	counter-increment: location;
	content: counter(location, decimal-leading-zero) ".";
	color: #F1F1F1;
	position: absolute;
	text-align: center;
	font-family: "Libre Caslon Text", serif;
	font-size: 136px;
	font-weight: 400;
	line-height: 150%;
	left: 50%;
	top: 0px;
	transform: translateX(-50%);
}

.location-card .see-more {
	color: #000;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.42px;
	text-transform: uppercase;
	margin-top: 60px;
	position: relative;
	display: flex;
	align-items: center;
	gap: 9px;
	justify-content: center;
	transition: all .2s;
	bottom: 0;
}

.location-card .see-more::after {
	content: " ";
	position: relative;
	display: inline-block;
	width: 29px;
	height: 8px;
	background-image: url(assets/images/seta.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.location-card-info {
	display: flex;
	flex-direction: column;
	gap: 17px;
	z-index: 1;
	position: absolute;
	opacity: 0;
	visibility: hidden;
	transition: all .2s;
	top: 50%;
	transform: translateY(-21%);
	width: 100%;
	left: 0;
}

.location-card:hover .location-card-info {
	visibility: visible;
	opacity: 1;
	transition: all 2s;
}

.location-card-info p,
.location-card-info a {
	color: #000;
	text-align: center;
	font-size: 13px;
	font-weight: 400;
	line-height: 155%;
}

.location-card:hover .see-more {
	opacity: 0;
	visibility: hidden;
	transition: all .2s;
	bottom: -50px;
	margin-top: 0;
}

.location-card .call-to-national {
	margin-top: 2px;
}

/* FRONTPAGE - QUOTE */

.quote-section {
	background-image: url(assets/images/reuniao.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding: 340px 5% 92px 5%;
}

.quote {
	background-color: #FFF;
	max-width: 50%;
	padding: 83px 16px 87px 66px;
	margin: 0 0 0 auto;
}

.quote p {
	color: #000;
	font-family: "Libre Caslon Text", serif;
	font-size: 24.626px;
	font-weight: 400;
	line-height: 160%;
	position: relative;
	z-index: 1;
}

.quote p::before,
.quote p::after {
	content: '';
	position: absolute;
	background-image: url(assets/images/quote.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 25%;
	z-index: -1;
	height: 70%;
}

.quote p::before {
	top: -40%;
	left: -4%;
}

.quote p::after {
	transform: rotateZ(180deg);
	right: 13%;
	bottom: -42%;
}

/* FRONTPAGE - PRACTICE AREAS */

.practice-areas {
	padding: 120px 5% 93px 5%;
	background-color: var(--main-grey-color);
}

.practice-areas-text-wrapper {
	max-width: 1036px;
}

.practice-areas-columns {
	margin-top: 70px;
	display: flex;
	gap: 40px;
}

.practice-area-tax {
	color: #000;
	font-family: "Libre Caslon Text", serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 25px;
	padding-bottom: 23px;
	border-bottom: 1px solid #D0D0D0;
	padding-left: 14px;
}

.practice-area-tax.has-children {
	cursor: pointer;
}


.first-column,
.second-column {
	display: flex;
	flex-direction: column;
	width: 50%;
	gap: 23px;
}

.practice-areas-sub-menu {
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transition: opacity 200ms linear, max-height 2ms linear;
	z-index: -1;
	position: absolute;
}

.practice-area-tax[aria-expanded=true] .practice-areas-sub-menu {
	opacity: 1;
	max-height: 100%;
	transition: all 200ms linear;
	z-index: 0;
	position: relative;
	transition: opacity 300ms linear, max-height 300ms linear;
}

.practice-areas-sub-menu li h4 {
	color: #000;
	font-size: 16px;
	font-weight: 300;
	line-height: 170%;
}

.practice-area-tax h3 {
	color: #000;
	font-family: "Libre Caslon Text", serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 25px;
	width: fit-content;
	position: relative;
	display: flex;
	gap: 15px;
	align-items: center;
}

.practice-area-tax.active h3 {
	font-weight: 600;
}

.practice-area-tax.has-children h3::after {
	content: " ";
	position: relative;
	display: inline-block;
	width: 31px;
	height: 31px;
	right: 0;
}

.practice-area-tax.has-children[aria-expanded=false] h3::after {
	background-image: url(assets/images/abrir.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.practice-area-tax.has-children[aria-expanded=true] h3::after {
	background-image: url(assets/images/fechar.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.practice-area-tax.has-children[aria-expanded=false]:hover h3::after {
	background-image: url(assets/images/abrir-vermelho.svg);
}

/* FRONTPAGE - MEMBERS */

.team {
	text-align: center;
	padding: 0 5% 120px 5%;
	background: linear-gradient(180deg, #F2F2F2 32%, rgba(223, 223, 223, 1) 25%);
}

.team-grid {
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.team-card {
	position: relative;
}

.team-card::before {
	content: " ";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 40%;
	width: 100%;
	background: linear-gradient(0deg, #131313 32.67%, rgba(19, 19, 19, 0.00) 100%);
}

.team-card::after {
	content: " ";
	position: absolute;
	top: 0;
	right: 0;
	width: 66px;
	height: 66px;
	background-image: url(assets/images/abrir-vermelho.svg);
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0;
	visibility: hidden;
	transform-origin: right top;
	transition: transform 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s ease-out;
	transform: scale(85%);
}

.team-card:hover::after {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
}

.team-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	transition: all .2s;
}

.team-card figure {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
}

.team-card:hover img {
	height: calc(100% - 33px);
}

.team-grid .team-card:nth-of-type(1) {
	grid-area: 1 / 1 / 2 / 3;
}

.team-grid .team-card:nth-of-type(2) {
	grid-area: 1 / 3 / 2 / 5;
}

.team-grid .team-card:nth-of-type(1),
.team-grid .team-card:nth-of-type(2) {
	height: 637px;
}

.team-grid .team-card:not(.team-card:nth-of-type(1), .team-card:nth-of-type(2)) {
	height: 413px;
}

.team-card-info {
	position: absolute;
	left: 26px;
	bottom: 26px;
}

.team-card-info h3 {
	color: #FFF;
	font-family: "Libre Caslon Text", serif;
	font-size: 26px;
	font-weight: 400;
	text-align: start;
}

.team-card-info>div {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-top: 6px;
	text-align: start;
}

.team-card-info span,
.team-card-info p {
	color: #FFF;
	font-size: 16px;
	font-weight: 400;
	line-height: 100%;
	position: relative;
}

.team-card-info p,
.single-member-banner-content-info p {
	display: flex;
	gap: 5px;
	align-items: center;
}

.team-card-info p::before,
.single-member-banner-content-info p::before {
	content: " . ";
	position: relative;
	display: inline-block;
	left: 0;
	top: -5px;
}

/* CONTACTS SECTION */

.contacts-section {
	padding: 120px 5%;
	background-color: var(--main-grey-color);
}

.contacts-section .medium-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.contacts-section-content {
	width: 32%;
}

.contacts-section-text-wrapper {
	max-width: 277px;
}

.contacts-section a:not(.schedule-btn, .contact-btn) {
	display: inline-block;
	color: #4B4B4B;
	font-size: 16px;
	font-weight: 500;
	line-height: 170%;
}

.buttons-flex {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 20px;
}

.contacts-section .schedule-btn {
	margin: 0;
}

.call-to-national {
	color: #828282;
	font-size: 10px;
	font-weight: 300;
	line-height: 100%;
	display: block;
	margin-top: 8px;
	text-transform: uppercase;
}

.contacts-section-image figure {
	position: relative;
}

.contacts-section-image figure::before {
	content: " ";
	position: absolute;
	left: 82px;
	top: -35px;
	width: 330px;
	height: 50px;
	background-color: #FFF;
	box-shadow: 0px 0px 34.9px 0px rgba(0, 0, 0, 0.07);
}

.contacts-section-image figure::after {
	content: " ";
	position: absolute;
	right: -26px;
	bottom: -26px;
	height: 65%;
	width: 80%;
	border: 1px solid #000;
}

.contacts-section-image img {
	position: relative;
	z-index: 1;
	width: 790px;
	height: 466px;
	object-fit: contain;
}

/* SINGLE MEMBRO */

.single-member-banner {
	position: relative;
	background-color: #1D1D1D;
}

.grey-span {
	color: #494949;
	font-size: 14px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.42px;
	text-transform: uppercase;
}

.single-member-banner h1 {
	color: #FFF;
	font-family: "Libre Caslon Text", serif;
	font-size: 38px;
	font-weight: 400;
	margin-top: 97px;
}

.single-member-banner-content {
	padding: 70px 53% 120px 0;
}

.single-member-banner-image {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 50%;
}

.single-member-banner-image::before {
	content: " ";
	position: absolute;
	bottom: 150px;
	left: 0;
	width: 25%;
	height: 28px;
	background: var(--Linear, linear-gradient(100deg, #B00F0F -8.99%, #4A0606 135.29%));
}

.single-member-banner-image::after {
	content: " ";
	position: absolute;
	top: 45px;
	right: 0;
	height: 28px;
	width: 15%;
	background: var(--Linear, linear-gradient(100deg, #B00F0F -8.99%, #4A0606 135.29%));
}

.single-member-banner-image figure {
	height: 100%;
}

.single-member-banner-image img {
	height: inherit;
	object-fit: cover;
	width: 100%;
}

.single-member-banner-content-info {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 15px;
}

.single-member-banner-content-info p,
.single-member-banner-content-info span {
	color: #FFF;
	font-size: 19px;
	font-weight: 400;
	line-height: 100%;
}

.single-member-banner .schedule-btn {
	margin-top: 40px;
}

.single-member-content {
	padding: 90px 5% 110px 5%;
	background-color: var(--main-grey-color);
}

.single-member-content .single-member-container {
	display: flex;
	justify-content: flex-end;
	display: flex;
	gap: 80px;
	padding-left: 9%;
}

.single-member-content-career h2 {
	color: #000;
	font-family: "Libre Caslon Text", serif;
	font-size: 27px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	margin-bottom: 19px;
	text-transform: none;
}

.single-member-content-career h2:not(:first-child) {
	margin-top: 40px;
}

.single-member-content-career {
	width: 67%;
}

.single-member-content-details {
	width: calc(33% - 80px);
}

.single-member-content-career ul {
	padding: 10px 0 10px 34px;
	position: relative;
}

.single-member-content-career ul::before {
	content: " ";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 1px;
	background-color: #9D9D9D;
}

.single-member-content-career li {
	color: #5E5E5E;
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	margin-bottom: 10px;
}

.single-member-content-career li strong {
	font-weight: 800;
}

.single-member-content-details span {
	color: #BEBEBE;
	font-size: 14px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.42px;
	text-transform: uppercase;
	margin-bottom: 10px;
	display: block;
}

.single-member-content-details>div {
	margin-top: 20px;
}

.single-member-content-details p {
	color: #1F2637;
	font-size: 12px;
	font-weight: 400;
	line-height: 160%;
}

.get-in-touch {
	background-color: #FFF;
	padding: 25px 28px 28px 25px;
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
	align-items: center;
}

.get-in-touch p {
	color: #000;
	font-family: "Libre Caslon Text", serif;
	font-size: 22px;
	font-weight: 400;
	line-height: normal;
}

.other-members {
	background: linear-gradient(180deg, #F2F2F2 60%, #DFDFDF 25%);
	text-align: center;
	padding: 0 5% 96px 5%;
}

.other-members-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
	margin-top: 35px;
}

/* ERROR 404 */

.error-section {
	padding: 160px 5%;
	background-color: var(--main-grey-color);
	position: relative;
}

.error-section::before,
.error-section::after {
	content: " ";
	position: absolute;
	width: 20%;
	height: 233px;
	background-repeat: no-repeat;
	background-size: contain;
}

.error-section::before {
	background-image: url(assets/images/erro-before.svg);
	left: 0;
	bottom: 70px;
}

.error-section::after {
	background-image: url(assets/images/erro-after.svg);
	right: 0;
	top: 30px;
}

.error-section .mini-container {
	margin: 0 auto;
	text-align: center;
}

.error-section h1 {
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.54px;
	text-transform: uppercase;
	background: var(--Linear, linear-gradient(100deg, #B00F0F -8.99%, #4A0606 135.29%));
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 20px;
}

.error-section h2 {
	color: #1D1D1D;
	text-align: center;
	font-family: "Libre Caslon Text", serif;
	font-size: 50px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: none;
	margin-bottom: 20px;
}

.error-section a,
.error-section span:not(:last-child) {
	display: inline-block;
	color: #4B4B4B;
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
}

.error-section span:last-child {
	color: #4B4B4B;
	font-size: 8px;
	font-weight: 300;
	line-height: 170%;
}

.error-section .back-home {
	color: #232323;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.42px;
	text-transform: uppercase;
	margin-top: 20px;
	border-radius: 61px;
	background-color: #DFDFDF;
	padding: 18px 28px;
	transition: all .2s;
}

.error-section .back-home:hover {
	background-color: #131313;
	color: #EDEDED;
}

/* PRIVACY POLICY */

.page-banner {
	padding: 60px 5% 85px 5%;
	background-color: #DFDFDF;
	position: relative;
}

.page-banner .mini-container {
	margin: 0 auto;
}

.page-banner h1 {
	color: #232323;
	font-family: "Libre Caslon Text", serif;
	font-size: 38px;
	font-weight: 400;
	text-align: center;
}

.page-content {
	padding: 70px 5% 120px 5%;
	background-color: var(--main-grey-color);
}

.page-content .mini-container {
	margin: 0 auto;
}

.page-content h2 {
	color: #000;
	font-family: "Libre Caslon Text", serif;
	font-size: 27px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: none;
	margin-bottom: 10px;
	position: relative;
	display: flex;
	gap: 10px;
}

.page-content h2::before {
	counter-increment: page-h2;
	content: counter(page-h2, decimal-leading-zero) '.';
	display: inline-block;
	background: var(--Linear, linear-gradient(100deg, #B00F0F -8.99%, #4A0606 135.29%));
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.page-content h2:not(:first-child) {
	margin-top: 35px;
}

.page-content h3 {
	margin-top: 25px;
	color: #000;
	font-family: "Libre Caslon Text", serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.page-content ul {
	list-style: disc;
	margin-left: 15px;
	margin-top: 7px;
}

.page-content li {
	color: #4B4B4B;
	font-size: 15px;
	font-weight: 300;
	line-height: 170%;
}

.page-content table {
	width: 100%;
	margin-top: 33px;
}

.page-content table tr:nth-of-type(even) {
	background: #DFDFDF;
}

.page-content td {
	padding: 8px;
}

.page-content thead td {
	color: #888;
	font-size: 11px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 0.11px;
	text-transform: uppercase;
	padding-bottom: 10px;
}

.page-content tbody td {
	color: #181818;
	font-size: 12px;
	font-weight: 300;
	line-height: 110%;
}

@media screen and (min-width: 2400px) {

	.hero .schedule-btn::before {
		left: -600%;
	}

	.hero .schedule-btn::before {
		width: 250%;
	}

	.hero .schedule-btn.visible::before {
		left: -300%;
	}

	footer::after {
		right: 28%;
	}

}

@media screen and (max-width: 2280px) {
	.hero .schedule-btn::before {
		width: 270%;
	}

	.hero .schedule-btn.visible::before {
		left: -310%;
	}

	footer::after {
		right: 25%;
	}

}

@media screen and (max-width: 1920px) {
	.hero .schedule-btn.visible::before {
		left: -100%;
	}

	.hero .schedule-btn::before {
		width: 200px;
	}

	footer::after {
		right: 20%;
	}
}

@media screen and (max-width: 1745px) {
	.footer-schedule-card span {
		font-size: 22px;
	}

	.footer-contacts-grid {
		column-gap: 40px;
	}
}

@media screen and (max-width: 1680px) {
	.subtitle {
		font-size: 30px;
	}

	.location-card h3 {
		font-size: 20px;
	}

	.quote p {
		font-size: 22px;
	}

	header .main-container {
		padding: 0 5%;
	}

	.hero-img {
		max-width: 50%;
	}

	.hero-img img {
		object-fit: contain;
		width: 100%;
	}

	.hero h1 {
		font-size: 45px;
	}

	.footer-contacts-grid-item>div {
		flex-direction: column;
		gap: 0;
	}

	footer::after {
		width: 300px;
	}

	footer .fax a::before {
		display: none;
	}

	footer .main-container {
		grid-template-columns: 21% 74%;
	}

	.single-member-banner h1 {
		font-size: 36px;
		margin-top: 80px;
	}

	.practice-area-tax h3 {
		font-size: 21px;
	}

	footer h4 {
		font-size: 21px;
	}

	.team-card-info h3 {
		font-size: 24px;
	}

	.team-card-info span,
	.team-card-info p {
		font-size: 15px;
	}

	footer .mobile-flex a:nth-of-type(2)::before {
		display: none;
	}
}

@media screen and (max-width: 1550px) {

	main {
		margin-top: 91px;
	}

	.header-locations a {
		font-size: 11px;
	}

	.menu-top>li:not(:last-child)>a,
	.menu-top>li:last-child>a,
	.contact-btn {
		font-size: 13px;
	}

	header .custom-logo-link {
		max-width: 135px;
		top: 16px;
	}

	.hero h1 {
		font-size: 43px;
	}

	.hero p {
		font-size: 18px;
	}

	.team-card-info h3 {
		font-size: 24px;
	}

	.contacts-section .schedule-btn {
		font-size: 12px;
	}

	footer h4 {
		font-size: 21px;
	}

	.footer-schedule-card span {
		font-size: 20px;
	}

	footer::after {
		right: 10%;
	}

	.single-member-content-career h2 {
		font-size: 25px;
	}

	.get-in-touch p {
		font-size: 20px;
	}

	.single-member-banner-content {
		padding-left: 5%;
	}

	.page-banner h1 {
		font-size: 35px;
	}

	.page-content h2 {
		font-size: 26px;
	}

	.error-section h2 {
		font-size: 46px;
	}

	header .menu-item-has-children .sub-menu {
		top: 67px;
	}
}

@media screen and (max-width: 1440px) {

	.presentation-thumb figure img {
		position: relative;
		z-index: 1;
		object-fit: cover;
		width: 100%;
		height: auto;
	}

	.presentation .small-container {
		gap: 7%;
	}

	.presentation-thumb,
	.presentation-content {
		width: 50%;
	}

	.practice-area-tax h3 {
		font-size: 20px;
	}

	.team-grid .team-card:nth-of-type(1),
	.team-grid .team-card:nth-of-type(2) {
		height: 550px;
	}

	.contacts-section-content,
	.contacts-section-image {
		width: 50%;
	}

	.contacts-section-image img {
		width: 100%;
		height: auto;
		object-fit: contain;
	}

	footer p,
	footer a {
		font-size: 13px;
	}

	footer::after {
		width: 300px;
		right: 11%;
	}

	.footer-schedule-card .schedule-btn {
		margin-top: 40px;
		line-height: 1.3;
	}

	.footer-info {
		gap: 20px;
	}

	.footer-info-content {
		gap: 30px;
	}

	.icon-blisq {
		margin-right: 0;
	}

	.footer-schedule-card p {
		font-size: 14px;
	}

	.footer-schedule-card span {
		font-size: 19px;
	}

	.single-member-banner h1 {
		font-size: 34px;
		margin-top: 70px;
	}

	.single-member-banner-content-info p,
	.single-member-banner-content-info span {
		font-size: 18px;
	}

	.page-banner h1 {
		font-size: 33px;
	}

	.hero h1 {
		font-size: 40px;
	}

	.team-card-info h3 {
		font-size: 22px;
	}

	header .menu-item-has-children .sub-menu {
		top: 66px;
	}

	.team-grid .team-card:not(.team-card:nth-of-type(1), .team-card:nth-of-type(2)) {
		height: 350px;
	}

	.subtitle {
		font-size: 28px;
	}

	.single-member-content-career h2 {
		font-size: 24px;
	}

	.schedule-btn {
		font-size: 13px;
	}
}

@media screen and (max-width: 1376px) {

	p,
	.error-section a,
	.error-section span:not(:last-child) {
		font-size: 14px;
	}


	.subtitle {
		font-size: 22px;
	}

	.presentation {
		padding: 100px 5% 110px 5%;
	}

	.schedule-btn {
		font-size: 12px;
		padding: 15px 25px;
	}

	.location-card h3 {
		font-size: 20px;
	}

	.locations-grid {
		margin-top: 25px;
		gap: 50px;
	}

	.locations {
		padding: 60px 5% 40px 5%;
	}

	.location-card .see-more {
		font-size: 13px;
	}

	.location-card::before {
		font-size: 120px;
	}

	.head-office,
	.location-card:hover .head-office {
		top: 14px;
	}

	.call-to-national {
		font-size: 9px;
	}

	.location-card-info {
		padding: 0 20px;
	}

	.quote p {
		font-size: 20px;
	}

	.quote-section {
		padding: 220px 5% 90px 5%;
	}

	.menu-top>li:last-child>a,
	.contact-btn {
		padding: 15px 25px;
	}

	.hero h1 {
		font-size: 38px;
	}

	.hero p {
		font-size: 16px;
	}

	.team-card-info h3 {
		font-size: 22px;
	}

	.team-card::after {
		height: 45px;
		width: 45px;
	}

	.team-card-info span,
	.team-card-info p {
		font-size: 15px;
	}

	.team-card-info h3 {
		font-size: 21px;
	}

	.team {
		padding-bottom: 80px;
	}

	.team-card-info span,
	.team-card-info p {
		font-size: 14px;
	}

	.footer-info-content {
		flex-direction: column;
	}

	.footer-info-contacts {
		width: 70%;
	}

	footer .main-container {
		grid-template-columns: 25% 70%;
	}

	footer::after {
		width: 238px;
		right: 10%;
	}

	footer h4 {
		font-size: 19px;
	}

	footer h5 {
		font-size: 15px;
	}

	.single-member-content-career h2 {
		font-size: 22px;
	}

	.single-member-content-career li {
		font-size: 14px;
		margin-bottom: 6px;
	}

	.single-member-content-career li strong {
		font-size: 14px;
	}

	.single-member-content-career h2:not(:first-child) {
		margin-top: 20px;
	}

	.single-member-banner h1 {
		font-size: 30px;
		margin-top: 40px;
	}

	.page-banner h1 {
		font-size: 31px;
	}

	.page-content h2 {
		font-size: 24px;
	}

	.page-content h3 {
		font-size: 21px;
	}

	.error-section h2 {
		font-size: 40px;
	}

	.error-section::before {
		bottom: -25px;
	}

	.hero-img {
		max-width: 40%;
	}

	.hero h1 {
		font-size: 36px;
	}

	.team-grid .team-card:nth-of-type(1),
	.team-grid .team-card:nth-of-type(2) {
		height: 400px;
	}

	.practice-areas-columns {
		margin-top: 40px;
	}

	.practice-areas {
		padding: 80px 5%;
	}

	.practice-area-tax {
		padding-bottom: 15px;
	}

	.practice-area-tax h3 {
		font-size: 18px;
	}

	.practice-area-tax.has-children h3::after {
		width: 25px;
		height: 25px;
	}

	.practice-areas-sub-menu li h4 {
		font-size: 15px;
	}

	.practice-areas-sub-menu {
		margin-top: 10px;
	}

	.single-member-content-details span {
		margin-bottom: 5px;
	}

	.hero .container {
		margin-top: -6%;
	}
}

@media screen and (max-width: 1280px) {

	.location-card-info p,
	.location-card-info a {
		font-size: 12px;
	}

	header .custom-logo-link {
		max-width: 135px;
		top: 20px;
	}

	.hero h1 {
		font-size: 35px;
	}

	.practice-area-tax h3 {
		font-size: 18px;
	}

	.practice-areas-columns {
		margin-top: 40px;
	}

	.practice-areas {
		padding: 80px 5%;
	}

	.practice-area-tax.has-children h3::after {
		width: 25px;
		height: 25px;
	}

	.practice-areas-sub-menu {
		margin-top: 10px;
	}

	.practice-area-tax {
		padding-bottom: 20px;
	}

	.team-card-info h3 {
		font-size: 18px;
	}

	.contacts-section-text-wrapper {
		max-width: 343px;
	}

	footer .main-container {
		grid-template-columns: 30% 65%;
	}

	footer::after {
		display: none;
	}

	.single-member-content-career h2 {
		font-size: 21px;
	}

	.single-member-content-career ul {
		padding: 6px 0 6px 20px;
	}

	.other-members-grid a {
		height: 100% !important;
	}

	.single-member-banner h1 {
		font-size: 30px;
	}

	.single-member-banner-image {
		width: 45%;
	}

	.location-card h3 {
		font-size: 19px;
	}

	.subtitle {
		font-size: 21px;
	}

	header .custom-logo-link {
		max-width: 125px;
		top: 23px;
	}

	.quote p {
		font-size: 19px;
	}

	.team-grid .team-card:not(.team-card:nth-of-type(1), .team-card:nth-of-type(2)) {
		height: 300px;
	}

	.team-card-info {
		left: 15px;
		bottom: 15px;
	}
}

@media screen and (max-width: 1180px) {
	.subtitle {
		font-size: 19px;
	}

	.location-card h3 {
		font-size: 18px;
	}

	.quote {
		padding: 70px 40px;
	}

	.quote p::before {
		left: 0;
	}

	.quote p::after {
		right: 0;
	}

	.menu-top>li:not(:last-child)>a,
	.menu-top>li:last-child>a,
	.contact-btn {
		font-size: 12px;
	}

	.header-locations a {
		font-size: 11px;
	}

	.team-grid .team-card:not(.team-card:nth-of-type(1), .team-card:nth-of-type(2)) {
		height: 280px;
	}

	.team-grid .team-card:nth-of-type(1),
	.team-grid .team-card:nth-of-type(2) {
		height: 400px;
	}

	.footer-info {
		flex-direction: column;
	}

	.footer-info-content {
		flex-direction: row;
		gap: 28px;
	}

	.footer-info-contacts {
		width: 100%;
	}

	.footer-contacts-grid {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 10px;
	}

	footer .main-container {
		grid-template-columns: 26% 69%;
	}

	.footer-contacts-grid-item:nth-of-type(3) {
		justify-content: flex-start;
	}

}

@media screen and (max-width: 1080px) {
	.hero .container {
		margin-top: 0;
	}

	.locations-grid {
		display: flex;
		gap: 40px;
		overflow-x: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.locations-grid::-webkit-scrollbar {
		display: none;
	}


	.location-card {
		flex: 0 0 248px;
	}

	.hero {
		min-height: auto;
	}

	.hero h1 {
		font-size: 30px;
	}

	.hero p {
		font-size: 15px;
	}

	footer .main-container {
		grid-template-columns: 100%;
	}

	.footer-schedule {
		display: flex;
		gap: 10%;
	}

	.footer-schedule-card {
		margin-top: 0;
		width: 100%;
		text-align: center;
	}

	.footer-schedule-card .schedule-btn {
		margin: 20px auto 0 auto;
	}

	.footer-contacts-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.footer-contacts-grid-item:last-child {
		justify-content: flex-start;
	}

	.footer-info {
		gap: 30px;
	}

	.single-member-content .single-member-container {
		padding-left: 0;
	}

	.single-member-content {
		padding: 50px 5% 80px 5%;
	}

	.page-banner h1 {
		font-size: 29px;
	}

	.page-banner {
		padding: 50px 5% 70px 5%;
	}

	.error-section h2 {
		font-size: 36px;
	}

	.error-section h1,
	.error-section h2 {
		margin-bottom: 10px;
	}

	.adv-code span {
		font-size: 11px;
	}

	footer .schedule-btn {
		font-size: 12px;
	}
}

@media screen and (max-width: 1024px) {
	.presentation .small-container {
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 60px;
	}

	.presentation-content {
		width: 100%;
	}

	.presentation-thumb {
		width: 50%;
		margin: 0 auto;
	}

	h2 {
		font-size: 13px;
	}

	.presentation {
		padding: 75px 5% 75px 5%;
	}

	.practice-areas .subtitle {
		max-width: 100% !important;
	}

	.subtitle:not(.quote-section .subtitle, .single-member-container .subtitle) {
		max-width: 50%;
	}

	.quote {
		max-width: 70%;
	}

	.hero-content {
		width: 43%;
	}

	.practice-areas-sub-menu li h4 {
		font-size: 15px;
	}

	.team-card-info {
		left: 10px;
	}

	.team-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.team-grid .team-card:nth-of-type(2) {
		grid-area: 2 / 1 / 3 / 3;
	}

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

	.team {
		text-align: start;
	}

	.contacts-section-content {
		width: 60%;
	}

	.contacts-section-content .subtitle {
		max-width: 100% !important;
	}

	.single-member-banner h1 {
		font-size: 28px;
		margin-top: 30px;
	}

	.grey-span {
		font-size: 13px;
	}


	.error-section {
		padding: 100px 5%;
	}

	.error-section::before,
	.error-section::after {
		height: 38%;
	}

	.quote {
		margin: 0 auto;
		max-width: 100%;
	}

	.subtitle:not(.quote-section .subtitle, .single-member-container .subtitle) {
		max-width: 100%;
	}

	.quote p::before,
	.quote p::after {
		width: 7%;
	}

	.quote p::before {
		left: -19px;
	}
}

@media screen and (max-width: 940px) {

	header {
		position: relative;
	}

	main {
		margin-top: 0;
	}

	header nav.main-container {
		padding: 20px 5%;
	}

	header .menu-top {
		position: absolute;
		background-color: #E0E0E0;
		top: 60px;
		right: -100vw;
		height: calc(100vh - 84px);
		width: 55vw;
		transition: all .5s;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		padding: 60px 130px 30px 130px;
	}

	.menu-top>li:not(:last-child)>a,
	.menu-top>li:last-child>a,
	.contact-btn {
		font-size: 14px;
	}

	.menu-top>li:not(:last-child) {
		width: 100%;
		border-bottom: 1px solid #BABABA;
		padding-bottom: 23px;
	}

	header .menu-item-has-children .job-position:not(:first-child) a {
		margin-top: 11px;
	}

	header .menu-item-has-children .sub-menu .current-menu-item a::before {
		left: -16%;
		width: 15%;
	}

	header .menu-item-has-children .sub-menu a {
		padding-left: 0;
	}

	header .menu-item-has-children::after {
		position: absolute;
		right: 0;
	}

	header .menu-top.active {
		right: 0;
	}

	header .menu-item-has-children .sub-menu {
		display: none;
	}

	header .menu-item-has-children .sub-menu.active {
		position: relative;
		top: auto;
		left: auto;
		background-color: transparent;
		width: 100%;
		padding-bottom: 0;
	}


	header .menu-item-has-children {
		flex-direction: column;
		align-items: flex-start;
	}

	.menu-top>li:not(:last-child)>a {
		padding: 0;
	}

	header .menu-item-has-children .sub-menu .current-menu-item a {
		background-color: #D1D1D1;
		position: relative;
	}

	.btn-mobile {
		display: block;
		width: 45px;
		cursor: pointer;
		margin-left: auto;
		position: relative;
	}

	.btn-mobile.active {
		scale: .8;
	}

	.btn-mobile span {
		display: block;
		width: 100%;
		border-radius: 3px;
		height: 2px;
		background: #1d1d1d;
		transition: all .3s;
		position: relative;
	}

	.btn-mobile span+span {
		margin-top: 8px;
	}

	.btn-mobile.active span:nth-child(1) {
		animation: ease .7s top forwards;
	}

	.btn-mobile.not-active span:nth-child(1) {
		animation: ease .7s top-2 forwards;
	}

	.btn-mobile.active span:nth-child(2) {
		animation: ease .7s scaled forwards;
	}

	.btn-mobile.not-active span:nth-child(2) {
		animation: ease .7s scaled-2 forwards;
	}

	.btn-mobile.active span:nth-child(3) {
		animation: ease .7s bottom forwards;
	}

	.btn-mobile.not-active span:nth-child(3) {
		animation: ease .7s bottom-2 forwards;
	}

	@keyframes top {
		0% {
			top: 0;
			transform: rotate(0);
		}

		50% {
			top: 11px;
			transform: rotate(0);
		}

		100% {
			top: 11px;
			transform: rotate(45deg);
		}
	}

	@keyframes top-2 {
		0% {
			top: 11px;
			transform: rotate(45deg);
		}

		50% {
			top: 11px;
			transform: rotate(0deg);
		}

		100% {
			top: 0;
			transform: rotate(0deg);
		}
	}

	@keyframes bottom {
		0% {
			bottom: 0;
			transform: rotate(0);
		}

		50% {
			bottom: 11px;
			transform: rotate(0);
		}

		100% {
			bottom: 11px;
			transform: rotate(135deg);
		}
	}

	@keyframes bottom-2 {
		0% {
			bottom: 11px;
			transform: rotate(135deg);
		}

		50% {
			bottom: 11px;
			transform: rotate(0);
		}

		100% {
			bottom: 0;
			transform: rotate(0);
		}
	}

	@keyframes scaled {
		50% {
			transform: scale(0);
		}

		100% {
			transform: scale(0);
		}
	}

	@keyframes scaled-2 {
		0% {
			transform: scale(0);
		}

		50% {
			transform: scale(0);
		}

		100% {
			transform: scale(1);
		}
	}

	.contacts-section .medium-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 80px;
	}

	.contacts-section {
		padding: 80px 5%;
	}


	.contacts-section-image {
		width: 75%;
		margin: 0 auto;
	}

	.contacts-section-text-wrapper {
		max-width: 100%;
	}

	.contacts-section-content {
		width: 100%;
	}

	.footer-schedule-card .schedule-btn {
		margin: 30px auto 0 auto;
	}

	.page-banner h1 {
		font-size: 27px;
	}

	.page-content h2 {
		font-size: 22px;
	}

	.page-content h3 {
		font-size: 19px;
	}

	.menu-top>li:not(:last-child)>a::after {
		display: none;
	}

	header .menu-top li:not(.job-position):hover {
		background-color: transparent;
	}

	.menu-top>li:not(:last-child)>a {
		pointer-events: none;
	}
}

@media screen and (max-width: 890px) {


	header .custom-logo-link {
		max-width: 118px;
		top: 30px;
	}

	.hero .container {
		flex-direction: column;
		align-items: flex-start;
		gap: 50px;
	}

	.hero-img img {
		height: auto;
	}

	.hero {
		padding: 10% 5%;
	}

	.hero-content {
		width: 100%;
		padding: 0 10%;
	}

	.hero-img {
		max-width: 69%;
		align-self: center;
	}

	.practice-area-tax h3 {
		font-size: 17px;
	}

	.practice-areas-columns {
		gap: 20px;
	}

	header .menu-top {
		padding: 50px 5% 30px 8%;
	}

	.team {
		padding-bottom: 90px;
	}

	.contacts-section-image figure::before {
		display: none;
	}

	.footer-info-content,
	.footer-contacts-grid {
		display: grid;
		grid-template-columns: 50% 50%;
		gap: 20px;
	}

	.footer-contacts-grid-item:last-child {
		justify-content: flex-end;
	}

	.single-member-content .single-member-container {
		flex-direction: column-reverse;
		gap: 30px;
	}

	.single-member-content-career {
		width: 100%;
	}

	.single-member-content-details {
		width: 100%;
	}

	.other-members-grid {
		grid-template-columns: 1fr;
	}

	.other-members-grid a {
		height: 350px !important;
	}

	.other-members {
		padding: 0 5% 70px 5%;
	}

	.other-members {
		text-align: start;
	}

	.other-members .team-card-info {
		left: 20px;
	}

	.single-member-banner-image {
		width: 50%;
	}

	.page-content {
		padding: 50px 5%;
	}

	.page-content li {
		font-size: 14px;
	}
}

@media screen and (max-width: 768px) {
	.subtitle {
		font-size: 19px;
	}

	h2 {
		font-size: 12px;
		margin-bottom: 7px;
	}

	.presentation-thumb {
		width: 65%;
	}


	.header-locations a {
		font-size: 9px;
	}

	.hero-content {
		padding: 0 5%;
	}

	.locations-grid {
		row-gap: 10px;
	}

	.presentation .small-container {
		font-size: 100px;
		top: 25px;
	}

	.practice-areas-columns {
		flex-direction: column;
	}

	.first-column,
	.second-column {
		width: 100%;
	}

	.practice-areas {
		padding: 50px 5%;
	}

	.practice-area-tax {
		padding-left: 0px;
	}

	.presentation-thumb figure::before {
		bottom: 10px;
		left: -15px;
	}

	.menu-top>li:not(:last-child)>a,
	.menu-top>li:last-child>a,
	.contact-btn {
		font-size: 12px;
	}

	header .menu-top {
		width: 100vw;
		overflow-y: hidden;
	}

	.footer-schedule {
		flex-direction: column;
		gap: 20px;
	}

	.footer-schedule>a {
		max-width: 120px;
	}

	.footer-schedule img {
		object-fit: contain;
		width: 100%;
	}

	.single-member-content-career h2 {
		font-size: 19px;
		margin-bottom: 10px;
	}

	.single-member-content {
		padding: 50px 5% 70px 5%;
	}

	.get-in-touch {
		flex-direction: column;
		align-items: flex-start;
	}

	.get-in-touch p {
		font-size: 18px;
	}

	.other-members-grid a {
		height: 320px !important;
	}

	.single-member-banner h1 {
		font-size: 26px;
		margin-top: 25px;
	}

	.single-member-banner-content-info p,
	.single-member-banner-content-info span {
		font-size: 15px;
	}

	.single-member-banner-content-info {
		margin-top: 10px;
	}

	.page-banner h1 {
		font-size: 25px;
	}

	.page-banner {
		padding: 50px 5% 50px 5%;
	}

	.page-banner::after {
		height: 15px;
	}

	.page-content h2 {
		font-size: 20px;
	}

	.page-content h3 {
		font-size: 17px;
	}

	.error-section h2 {
		font-size: 30px;
	}

	.error-section h1 {
		font-size: 16px;
	}

	.location-card::before {
		font-size: 100px;
		top: 15px;
	}
}

@media screen and (max-width: 630px) {

	.subtitle:not(.quote-section .subtitle) {
		max-width: 100%;
	}

	.presentation {
		padding: 50px 5%;
	}

	.presentation-thumb figure::before {
		bottom: 4px;
		left: -15px;
	}

	.quote {
		max-width: 100%;
	}

	.quote p {
		font-size: 18px;
	}

	.quote-section {
		padding: 90px 5% 30px 5%;
	}

	.quote p::before,
	.quote p::after {
		width: 15%;
	}

	.quote p::after {
		bottom: 0%;
	}

	.header-gradient {
		display: none;
	}

	header .custom-logo-link {
		max-width: 100px;
		top: 12px;
	}

	.hero h1 {
		font-size: 28px;
	}

	.location-card h3 {
		font-size: 17px;
	}

	.location-card .see-more {
		font-size: 12px;
	}

	.location-card-info {
		gap: 0;
		padding: 0 5px;
	}

	.quote {
		padding: 40px;
	}

	.quote p::before,
	.quote p::after {
		height: 40%;
	}

	.quote p::before {
		top: -14%;
	}

	.team-grid .team-card:nth-of-type(1),
	.team-grid .team-card:nth-of-type(2) {
		grid-area: unset;
	}

	.team-card-info>div {
		flex-direction: column;
		gap: 5px;
	}

	.team-card-info p::before {
		display: none;
	}

	.team-card-info h3 {
		font-size: 17px;
	}

	.team-card-info span,
	.team-card-info p {
		font-size: 12px;
	}

	.team-card,
	.team-grid .team-card:nth-of-type(1),
	.team-grid .team-card:nth-of-type(2) {
		height: 280px;
	}

	.contacts-section-image {
		width: 100%;
		margin: 0 auto;
	}

	.contacts-section .medium-container {
		gap: 40px;
	}

	.contacts-section {
		padding: 50px 5%;
	}

	.contacts-section-image figure::after {
		right: -12px;
		bottom: -9px;
	}

	footer .main-container {
		gap: 3%;
	}

	footer h4 {
		font-size: 18px;
	}

	footer {
		padding: 55px 5% 30px 5%;
	}

	.single-member-content-career h2 {
		font-size: 18px;
		margin-bottom: 10px;
	}

	.single-member-content-career li {
		font-size: 13px;
	}

	.hero::after,
	.single-member-banner::after,
	.page-banner::after {
		display: none;
	}

	.single-member-content {
		padding: 30px 5% 50px 5%;
	}

	.get-in-touch p {
		font-size: 17px;
	}

	.single-member-banner-image {
		position: relative;
		width: 100%;
		height: 350px;
	}

	.single-member-banner-content {
		padding: 55px 5% 55px 5%;
	}

	.single-member-banner h1 {
		font-size: 24px;
		margin-top: 15px;
	}

	.single-member-banner-image::before {
		bottom: 60px;
	}

	.page-banner h1 {
		text-align: start;
		font-size: 23px;
	}

	.page-banner {
		padding: 40px 5%;
	}

	.page-banner h1 {
		text-align: start;
		font-size: 21px;
	}

	.page-content h2:not(:first-child) {
		margin-top: 25px;
	}

	.page-content tbody td {
		min-width: 80px;
	}

	.page-content table {
		overflow-x: scroll;
		display: block;
		height: auto !important;
	}

	.location-card {
		flex: 0 0 230px;
	}

	.error-section h2 {
		font-size: 28px;
	}

	.error-section .back-home {
		font-size: 12px;
	}

	.error-section::before {
		bottom: -87px;
	}
}

@media screen and (max-width: 500px) {
	.team-card-info h3 {
		font-size: 15px;
	}
}


@media screen and (max-width: 440px) {

	.presentation-thumb {
		width: 70%;
	}

	p,
	.error-section a,
	.error-section span:not(:last-child) {
		font-size: 13px;
	}

	.quote p::after,
	.quote p::before {
		height: 28%;
	}

	.quote p::before {
		top: -12%;
	}

	.quote p::after {
		bottom: 0%;
	}

	.quote p {
		font-size: 16px;
	}

	.hero .container {
		justify-content: flex-start;
	}

	.hero {
		min-height: 70vh;
	}

	.hero-content {
		padding: 0;
	}

	.hero h1 {
		font-size: 26px;
	}

	.hero-img {
		max-width: 90%;
	}

	.presentation .small-container {
		gap: 40px;
	}

	.locations-grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 0px;
	}

	.location-card::before {
		font-size: 100px;
		top: 20px;
	}

	.first-column,
	.second-column {
		gap: 15px;
	}

	.practice-area-tax.has-children h3::after {
		width: 20px;
		height: 20px;
	}

	.practice-areas-columns {
		margin-top: 25px;
	}

	.practice-area-tax {
		padding-bottom: 12px;
	}

	.subtitle {
		font-size: 18px;
	}

	.practice-area-tax h3 {
		font-size: 16px;
	}

	.practice-area-tax h3 {
		gap: 10px;
	}

	.practice-areas-sub-menu li h4 {
		font-size: 13px;
	}

	.hero::after {
		display: none;
	}

	.menu-top>li:not(:last-child) {
		padding-bottom: 15px;
	}

	.team-card-info>div {
		flex-direction: column;
		align-items: flex-start;
	}

	.team-card-info p::before {
		display: none;
	}

	.team {
		padding-bottom: 50px;
	}

	.footer-schedule-card span {
		font-size: 18px;
	}

	.buttons-flex {
		flex-direction: column;
		align-items: flex-start;
	}

	.location-card {
		padding: 15px 20px;
	}

	.footer-schedule-card .schedule-btn {
		width: 100%;
		justify-content: center;
	}

	.single-member-banner-image {
		height: 290px;
	}

	.single-member-banner-content {
		padding: 35px 5% 40px 5%;
	}

	.single-member-banner-content-info span,
	.single-member-banner-content-info p {
		font-size: 13px;
	}

	.error-section h2 {
		font-size: 24px;
	}

	.error-section h1 {
		font-size: 14px;
	}

	.error-section {
		padding: 75px 5%;
	}

	.error-section .back-home {
		font-size: 11px;
	}

	.footer-schedule>a {
		max-width: 110px;
	}

	.footer-info-content,
	.footer-contacts-grid {
		grid-template-columns: 100%;
	}

	.footer-info-contacts,
	footer .call-to-national,
	.footer-schedule-card {
		display: none;
	}


	.footer-contacts-grid {
		gap: 40px;
		overflow-x: scroll;
		width: 100%;
	}

	.footer-contacts-grid-item {
		white-space: nowrap;
	}

	.footer-contacts-grid-item:not(:first-child) {
		margin-top: 30px;
	}

	.footer-contacts-grid-item:last-child .call-to-national {
		display: none;
	}

	.content-call-to-national {
		display: block;
		margin-top: -20px;
	}

	.quote p::after {
		bottom: -14%;
	}

	.quote-section {
		height: 200px;
	}

	.quote {
		padding: 30px 5%;
	}

	.quote p::after,
	.quote p::before {
		display: none;
	}

	.single-member-banner-content-info p::before {
		top: -3px;
	}

	.subtitle {
		line-height: 25px;
	}
}

@media screen and (max-width: 400px) {
	.hero::after {
		display: none;
	}

	.practice-area-tax h3 {
		font-size: 15px;
	}

	.footer-schedule>a {
		max-width: 100px;
	}

	.team-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}