/* Global */
.card-half{
	opacity:85%;
}

body {
  background: #ffffff !important;       
  background-image: none !important;   
  transition: none; 

}

/* NavBar */
/* Top bar */
#header_meta {
  background: #c00;
  color: #fff;
}
#header_meta .container {
  max-width: 1350px;
  margin: 0 auto;
  display: flex;
  justify-content: end;
  align-items: center;
  padding: 0px 40px;
	min-height: 30px;
  gap: 20px;
  white-space: nowrap;
}

#header_meta .phone-info {
  display: flex;
  align-items: center;
	font-size: 14px;
	margin-top: -2px;
	font-weight: 800;
}
#header_meta .phone-info a {
  color: #fff;
  text-decoration: none;
}
#header_meta .phone-info a:hover {
  color: #fff;
  text-decoration: underline;
}
#header_meta .social-bookmarks {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
#header_meta .social-bookmarks li a img {
  display: block;
  width: 24px;
  height: 24px;
}
#header_meta .social-bookmarks li a:hover img {
  opacity: 0.7;
}

#header_meta .social-bookmarks li{
	min-height: 30px;
	display:flex;
	align-items: center;
	padding: 0px 8px
}
#header_meta .linkedin:hover{
	background-color:#419CCA;
}
#header_meta .instagram:hover{
	background-color:#A67658;
}
#header_meta .facebook:hover{
	background-color:#37589B;
}
#header_meta .youtube:hover{
	background-color:#A72B1D;
}
.header {
  background: #ffffff !important;
  background-image: none !important;
  transition: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.header__logo {
  display: flex;
  justify-content: flex-start; 
  align-items: center;
  margin-top: -10px;
}

.header__logo-img {
  max-height: 120px;
  min-height: 100px;
  max-width: 300px;
  height: auto;
  width: auto;
	padding-left: 120px;
}

.header__logo:hover {
  opacity: 0.8;
}

.header__nav,
.header__menu,
.header__menu > li,
.header__menu ul {
	background-color: #ffffff;
}

.header__nav {
  display: flex;
  justify-content: center !important;
  align-items: center;
  flex: 1 1 auto;
}

.header__menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
	flex-direction: row;
  white-space: nowrap;
	gap: 10px;
}

.header__menu a {
  color: #969696;
  font-size: 16px;
  text-transform: none;
  text-decoration: none;
  transition: color 0.3s ease; 
}

.header__menu a:hover,
.header__menu a:focus {
  color: #D64B4F;
}

.header__control {
	background-color: #ffffff;
}

.header__menu ul.level-2 {
	background-color: #ffffff;
}

.header__menu ul.level-2 li {
  border-bottom: 1px solid #000000;
}

.header__menu ul.level-2 li:last-child {
  border-bottom: none;
}

.header__control img {
  filter: invert(1) brightness(0) 
}

@media (max-width: 1530px){
		.header__logo-img {
		padding-left: 20px;
  }
	
	.header__menu {
		gap: 0px;
	}
	
}

@media (max-width: 1278px) {
  .header__logo {
    margin-top: -10px;
  }

  .header__logo-img {
    max-height: 100px;
		padding-left: 20px;
  }
	
	.header__menu {
		margin: 0;
		padding: 0;
		list-style: none;
		display: flex;
		flex-direction: column;
		gap: 0px;
	}
	
	.header__menu > li:first-child > a {
  margin-top: 50px;
	}

	.header__nav {
		display: block;
	}
	
}

@media (max-width: 768px) {
  #header_meta .container {
    justify-content: center;
    flex-wrap: wrap;
  }
  #header_meta .social-bookmarks {
    display: none;
  }
  #header_meta .phone-info {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
	
	.header__logo-img {
		padding: 0;
  }
	
	.header__menu > li:first-child > a {
  margin-top: 50px;
	}
	
	.header__menu {
		margin: 0;
		padding: 0;
		list-style: none;
		display: flex;
		flex-direction: column;
	}
	
	.header__nav {
		display: block;
	}
	
}
/* SLIDER */
.section__bg-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.bg-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.8s ease-in-out;
}

.bg-slide.active {
	opacity: 1;
}

.bg-slider-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,0.9);
	border: none;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	z-index: 10;
	margin-top: 20px;
}

.bg-slider-nav:hover {
	background: rgba(255,255,255,1);
	box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.bg-slider-nav.prev {
	left: 30px;
}

.bg-slider-nav.next {
	right: 30px;
}

.bg-slider-dots {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 10;
}

.bg-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(255,255,255,0.5);
	cursor: pointer;
	transition: all 0.3s ease;
}

.bg-dot.active,
.bg-dot:hover {
	background: rgba(255,255,255,1);
	transform: scale(1.2);
}

@media (max-width: 768px) {
	.bg-slider-nav {
		width: 40px;
		height: 40px;
	}

	.bg-slider-nav.prev {
		left: 15px;
	}

	.bg-slider-nav.next {
		right: 15px;
	}

	.bg-slider-dots {
		bottom: 20px;
	}

	.bg-dot {
		width: 10px;
		height: 10px;
	}
}

@media (max-width: 415px) {
	.bg-slider-nav {
		width: 35px;
		height: 35px;
	}

	.bg-slider-nav.prev {
		left: 10px;
	}

	.bg-slider-nav.next {
		right: 10px;
	}

	.bg-slider-dots {
		bottom: 15px;
		gap: 6px;
	}

	.bg-dot {
		width: 8px;
		height: 8px;
	}
}
/* HOME PAGE */
.home-tag {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: start; 
	height: 660px;
	width: auto;
	text-wrap: nowrap;
	position: relative;
	z-index: 20;
}
.home-tag h1 {
	font-size: 80px;
	text-shadow: 3px 3px 20px rgba(0, 0, 0, 0.5);
	margin: 0; 
	margin-bottom: 20px;
}
.home-tag strong {
	font-size: 120px;
	margin-left: 80px;
	text-shadow: 3px 3px 20px rgba(0, 0, 0, 0.5);
}
.home-tag-img img{
	margin: 10px 100px;
}
.arrow img{
	margin: 10px 260px 0px;
	animation: upDown 1s ease-in-out infinite;
}
@keyframes upDown {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-20px);
	}
	100% {
		transform: translateY(0); 
	}
}
@media (max-width: 768px) {
	.home-tag {
		height: 600px;
		align-items: center;
		text-align: center;
	}

	.home-tag-img img{
		margin: 0px 0px;
	}

	.home-tag h1 {
		font-size: 60px;
	}
	.home-tag strong {
		font-size: 100px;
		margin-left: 0;
	}

	.arrow img{
		margin-top: 15px;
	}
}
@media (max-width: 415px){
	.home-tag {
		align-items: center;
		text-align: center;
	}
	.home-tag-img img{
		margin: 0px;
		max-width: 200px;
	}

	.home-tag h1 {
		font-size: 30px;
		margin-bottom: -5px;
	}
	.home-tag strong {
		font-size: 50px;
	}

	.arrow img{
		margin-top: 15px;
		max-width: 15px;
	}
}

/* PROPERTIES PAGE */
.grid__cell .es-properties.es-properties--hfm.es-properties--hfm--full-width {
  margin-left: 0 !important;    
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  left: auto !important;
}

.select2-selection__clear {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
	width: 0 !important;
	height: 0 !important;
	opacity: 0 !important;
}

article.section.section--narrow.section--bg5 .section__content .grid .grid__cell {
	position: relative;
}

article.section.section--narrow.section--bg5 {
    margin: 0 !important;
}

.nai-back-wrap {
  display: block;
  margin-bottom: 12px;
  margin-top: 0px;    
	margin-left: 0px;
  transition: margin-top .22s ease;
  position: relative;
  z-index: 1;
}

.nai-back-wrap:hover{
	opacity: 60%;
}

@media (max-width: 359px) {
  .nai-back-wrap { 
		margin-top: 0px; 
		margin-left: 0px; 
	}
}


@media (min-width: 360px) and (max-width: 767px) {
  .nai-back-wrap { margin-top: -10px; margin-left: -20px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .nai-back-wrap { margin-top: -30px; margin-left: -25px; }
}

@media (min-width: 1024px) {
  .nai-back-wrap { margin-top: -50px; 
	margin-left: -30px;}
}

.nai-back-link {
	font-size: 16px;
	color: #000 !important;    
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	font-weight: 400;
}
.nai-back-link .nai-chevron { font-size: 26px; transform: translateY(-1px); opacity: .9; }


@media (max-width: 800px) {
	.nai-back-wrap { margin-bottom: 8px; }
	.nai-back-link { font-size: 13px; }
}
@media (max-width: 420px) {
	.nai-back-link { white-space: normal; }
}

.js-es-single.es-single {
  margin-top: -60px !important;
}

.js-es-single.es-single[data-layout="single-slider"] {
  margin-top: -10px !important;
}

@media (min-width: 768px) {
  .js-es-single.es-single[data-layout="single-slider"] {
    margin-top: -30px !important;
  }
}


@media (min-width: 1024px) {
  .js-es-single.es-single[data-layout="single-slider"] {
    margin-top: -40px !important;
  }
}

@media (min-width: 1440px) {
  .js-es-single.es-single[data-layout="single-slider"] {
    margin-top: -60px !important;
  }
}


.es-dymanic-content,
.es-dynamic-content {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.es-address {
  font-size: clamp(1.0rem, 1.6vw + 0.4rem, 1.6rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.2px !important;
  margin-bottom: 0.35rem !important;
}

.es-property-fields .es-property-field__label {
  display: inline-block;
  font-size: clamp(0.9rem, 1.2vw + 0.2rem, 1.05rem) !important; 
  font-weight: 700 !important;
  min-width: 7.5rem;
  margin-right: .5rem;
}

.es-property-fields .es-property-field__value {
  display: inline-block;
  font-size: clamp(1.3rem, 1.4vw + 0.2rem, 1.2rem) !important; /* value size */
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

.es-property-fields .es-entity-field {
  display: flex !important;
  align-items: baseline !important;
  gap: 0.5rem !important;
  padding: .25rem 0 !important;
  flex-wrap: wrap !important;
}


@media (max-width: 600px) {
  .es-property-fields .es-entity-field {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .es-property-fields .es-property-field__label {
    min-width: 0;
    margin-right: 0;
    font-size: 0.95rem !important;
  }

  .es-property-fields .es-property-field__value {
    font-size: 1.05rem !important;
  }

  .es-address {
    font-size: 1.05rem !important;
  }
}


.es-property-fields {
  gap: 0.35rem;
}

.es-address,
.es-property-fields .es-property-field__label,
.es-property-fields .es-property-field__value {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
/* ALL SECTOR PAGE */
.sector-h1 {
  font-size: 56px;
  line-height: 1.2;
  max-width: 100%; 
}

@media (max-width: 1278px) {
  .sector-h1 {
    font-size: 44px;
  }
}

@media (max-width: 768px) {
  .sector-h1 {
    font-size: 32px;
  }
}

@media (max-width: 400px) {
  .sector-h1 {
    font-size: 24px;
  }
}



/* PROJECT MANAGEMENT PAGE */
.faq-container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 20px;
	text-align: center; 
	box-sizing: border-box;
}

.faq-col {
	flex: 1 1 300px;     
	max-width: 300px;      
	box-sizing: border-box;
}

.faq-col summary::marker {
    color: red;
  }

.faq-col li::marker {
  color: red;
}


.faq-col > details:first-of-type > summary {
  list-style: none;          
  color: gray;              
  cursor: pointer;
  position: relative;
  padding-left: 1.2em;       
}

.faq-col > details:first-of-type > summary::-webkit-details-marker {
  display: none;
}

.faq-col > details:first-of-type > summary::marker {
  content: none;
}

.faq-col > details:first-of-type > summary::before {
  content: "+ ";
  color: gray;
  font-weight: bold;
  position: absolute;
  left: 0;
}

.faq-col > details:first-of-type[open] > summary::before {
  content: "- ";
}

@media (max-width: 768px) {
	.faq-container {
		flex-wrap: warp;
		flex-direction: column;
	}
	
	.faq-col {
		flex: none ;  
		width: 100% !important;  
		max-width: 100% !important;
	}
}
/* CASE STUDIES PAGE*/
.case-studies {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 100%;
	margin: 0;
	padding: 0;
	margin-top: 25px;
}


.case-studies a {
	position: relative;
	display: inline-block;
	text-decoration: none; 
}

.case-studies img {
	display: block;
	margin-top: 25px;
	border-radius: 4px;
	transition: opacity 0.3s, transform 0.3s;
}

.case-studies a::before {
	content: "";
	position: absolute;                    
	background: rgba(0,0,0,0.4);
	border-radius: 4px;
	opacity: 0;
	transition: opacity 0.3s;
}

.case-studies a::after {
	content: "▶";               
	font-size: 50px;
	color: white;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity 0.3s;
}


.case-studies a:hover::before,
.case-studies a:hover::after {
	opacity: 1;
}
.case-studies a:hover img {
	opacity: 0.6;
}

@media (max-width: 768px) {
	.case-studies {
		justify-content: center;
		margin-top: 25px;
	}
	.case-studies img {
		margin-top: 25px;
		width: 300px;
		height: 100%;
		margin: 0 10px 20px;
	}
}

/* CONTACT PAGE*/
.nai-contact-form {
    max-width: 600px;
    padding: 20px;
    border-radius: 6px;
    margin: 0 auto;
}

.nai-contact-form .form-group {
    margin-bottom: 15px;
}

.nai-contact-form label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.nai-contact-form input[type="text"],
.nai-contact-form input[type="email"],
.nai-contact-form input[type="tel"],
.nai-contact-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #bbb;
    border-radius: 3px;
    box-sizing: border-box;
    font-size: 14px;
}

.nai-contact-form textarea {
    resize: vertical;
    min-height: 120px;
}

.nai-contact-form .form-group input[name="first_name"],
.nai-contact-form .form-group input[name="last_name"] {
    width: calc(50% - 2px);
    display: inline-block;
}

.nai-contact-form .g-recaptcha {
    transform: scale(0.9);
    transform-origin: left;
}

.nai-contact-form button {
    background-color: #c00;
    color: #fff;
    padding: 12px 20px;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    font-weight: bold;
    font-size: 14px;
    text-transform: uppercase;
}

.nai-contact-form button:hover {
    background-color: #a00;
}

@media (max-width: 768px) {
    .nai-contact-form .form-group input[name="first_name"],
    .nai-contact-form .form-group input[name="last_name"] {
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px;
    }
}


.map-wrapper {
  max-width: 768px;
  margin: 0 auto;
}

.map-container {
  position: relative;
  padding-bottom: 56.25%; 
  height: 0;
  overflow: hidden;
  border-radius: 8px;
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

