html {
    scroll-behavior: unset !important;
}  


/*** because of flicker in scroll reveal ****/
html.sr .slideup,  html.sr .slideupdelay, html.sr .fadein, html.sr .fadeindelay, html.sr .slideleft, html.sr .slideright{
    visibility: hidden;
}



:root {  

  /** text ***/
   --basetext: #717171;
  --blacktext: #1d1d1b;
   --lightgreytext: #d0d0d0;
  --greytext: #a8a8a8;
  --whitetext: #fff;
  --bluetext: #041f41;
  --creamtext: #b5946b;
 
  /** bg **/
  --blackbg: #1d1d1b;
  --greybg:  #f6f5f2;
  --whitebg: #FFFFFF;
  /*--creambg: #f5f1ea;*/
  --creambg: #f6f5f2;
  --darkbluebg: #041c2c;
  --brownbg: #533d33;
  --lightbrownbg: #CA9E67;
  
  /*** color pallete ***/
  --yellow: #ffeba5;
  --darkyellow: #e3c356;

 

  /** sizes ***/
  	--smallsize: 13px;
	--basesize: 16px;
   --smallmediumsize: max(1.2vw, 18px);
   --mediumsize: max(2vw, 22px);
  --bigsize: max(3vw, 30px);
  	--extrabigsize: max(4.4vw, 35px);
  
 /** weights ***/ 
  --thin: 100; 
  --extralight: 200; 
  --light: 300; 
  --regular: 400; 
  --medium: 500; 
  --semibold: 600;
   --bold: 700; 
   --extrabold: 800;
   --black: 900;

  /** paddings ***/
  --sidesmallpadding: 3vw;
  --sidepadding: 6vw;
  --sideextrapadding: 14vw;
  --verticalsmallpadding: 4vh;
  --verticalpadding: 8vh;
  --verticalextrapadding : 14vh;
  
  /*** spacing **/
  --letterspacing: 0.25em;
  
  /*** font ***/

  --secondaryfont: "kutaregular";
  /*--secondaryfont: "argesta_hairline";*/
  --primaryfont: "silka";
  
  
  /** texture ***/
  --texturebg2: url("https://www.legera.pt/images/graphics/dark-dotted-2.png");
  --texturebg1: url("https://www.legera.pt/images/graphics/brilliant.png");
  
  

}


/**** COOKIE YES ****/
button.cky-btn.cky-btn-customize, button.cky-btn.cky-btn-reject {
    border: 1px solid #041c2c !important;
}

button.cky-btn.cky-btn-accept {
    background-color: #041c2c !important;
    color: #fff !important;
    border: 1px solid #041c2c !important;
}



/******************** SPINNER **********************/

.spinnerwrapper {
  width: 100vw;
  height: 100svh;
  align-items: center;
  justify-content: center;
  background-color: var(--darkbluebg);
  display: flex;
  background-image: var(--texturebg1);
}
/*
#myspinner {
  border-width: 1px;
  width: 50px;
  height: 50px;
}*/

#myspinner {
  border-width: 1px;
  width: 90px;
  height: 90px;
  position: absolute;
  opacity: 0.5;
}

.spinnerImage img {
  width: 30px;
  height: 30px;
  filter: invert();
  opacity: 0.7;
  margin-bottom: 4px;
}


#preloader {
  width: 100vw;
  height: 100svh;
  z-index: 0;
  position: fixed;
  left: 0;
  top: 0;
}


/******** FOR TOP MENU ANIM IN ENGAGE BOX ********/

@keyframes slideup {
    0%   {transform: translateY(40px);opacity: 0;visibility: visible;}
    100% {transform: translateY(0);opacity: 1;visibility: visible;}
}
  
@keyframes fadein {
    0%   {opacity: 0;visibility: visible;}
    100% {opacity: 1;visibility: visible;}
  }

@keyframes slidedown {
    0% {transform: translateY(-40px);opacity: 0;visibility: visible; }
    100% {transform: translateY(0);opacity: 0.6;visibility: visible;}
  }


/*** menu ***/
.topNavBox .nav-item.topmenuanim{
    visibility: hidden;
}

.topNavBox .nav-item.topmenuanim {
   animation-name: slideup;
   animation-duration: 0.6s;
   animation-timing-function: cubic-bezier(.18,.3,.65,1);
   animation-iteration-count: 1;
   animation-fill-mode: forwards;
   -webkit-animation-fill-mode: forwards;    

}

.topNavBox .nav-item.item-139{
    -webkit-animation-delay: .1s;
    animation-delay: .1s;
}
.topNavBox .nav-item.item-143{
    -webkit-animation-delay: .2s;
    animation-delay: .2s;
}
.topNavBox .nav-item.item-142{
    -webkit-animation-delay: .3s;
    animation-delay: .3s;
}

.topNavBox .nav-item.item-269{
    -webkit-animation-delay: .4s;
    animation-delay: .4s;
}
.topNavBox .nav-item.item-145{
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
}
.topNavBox .nav-item.item-160{
    -webkit-animation-delay: .6s;
    animation-delay: .6s;
}
.topNavBox .nav-item.item-149{
    -webkit-animation-delay: .7s;
    animation-delay: .7s;
}
.topNavBox .nav-item.item-150{
    -webkit-animation-delay: .8s;
    animation-delay: .8s;
}
.topNavBox .nav-item.item-151{
    -webkit-animation-delay: .9s;
    animation-delay: .9s;
}




/** video ***/

.topNavBox .videoWrapper.videoanim{
    visibility: hidden;
}
.topNavBox .videoWrapper.videoanim {
   animation-name: fadein;
   animation-duration: 1.5s;
   animation-timing-function: cubic-bezier(.18,.3,.65,1);
      animation-iteration-count: 1;
   animation-fill-mode: forwards;
   -webkit-animation-fill-mode: forwards;   
  -webkit-animation-delay: 0s;
    animation-delay: 0s;


}

/*** subtitle ***/

.topNavBox .videosubtitle.subtitleanim{
    visibility: hidden;
}

.topNavBox .videosubtitle.subtitleanim {
   animation-name: slidedown;
   animation-duration: 1s;
   animation-timing-function: cubic-bezier(.18,.3,.65,1);
  animation-iteration-count: 1;
   animation-fill-mode: forwards;
   -webkit-animation-fill-mode: forwards;   
  -webkit-animation-delay: .7s;
    animation-delay: .7s;

}


/** small icons ***/


.topNavBox .topmenuBottomLinks div{
    visibility: hidden;
}

.topNavBox .topmenuBottomLinks div {
   animation-name: fadein;
   animation-duration: 1s;
   animation-timing-function: cubic-bezier(.18,.3,.65,1);
  animation-iteration-count: 1;
   animation-fill-mode: forwards;
   -webkit-animation-fill-mode: forwards;   
  -webkit-animation-delay: .7s;
    animation-delay: .7s;

}



/*
------------------------------------------------------------------------------------------------------
:::::::: BODY & MAIN STUFF
------------------------------------------------------------------------------------------------------
*/

body {
    color: var(--basetext) !important;
    font-family: var(--primaryfont) !important;
	font-weight: var(--regular) !important;
    font-size: var(--basesize) !important;
    letter-spacing: 0;
    line-height: 1.6em !important;
  	background-color: var(--darkbluebg) !important;
  	background-image: var(--texturebg1);
   
   -webkit-font-smoothing: antialiased;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
  
}



.primaryfont {
  font-family: var(--primaryfont) !important;
   -webkit-font-smoothing: antialiased;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

.secondaryfont {
  font-family: var(--secondaryfont) !important;
   -webkit-font-smoothing: antialiased;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}





/**
-------------------------------------------------------------------------
::::::::  GENERAL
-------------------------------------------------------------------------
**/


.row {
  margin: 0 !important;
}

.mobileonly {
  display:none !important;
}


.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
 /* padding-right: calc(var(--sidesmallpadding) * .5) !important;
  padding-left: calc(var(--sidesmallpadding) * .5) !important;
  */
  padding:0 !important;
  margin-top: 0;
  
  position: relative;
}

.centered {
  margin-left: auto !important;
  margin-right: auto !important;
}


.whiteborder {
  border:1px solid #fff;
}
.greyborder {
  border: 1px solid var(--greybg);
}
.creamborder {
  border: 1px solid var(--creambg);
}
.brownborder {
  border: 1px solid var(--brownbg);
}


button {
  background-color: transparent !important;
  border: none !important;
}


.knowmore {
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  opacity: 1;
   z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--sidesmallpadding);
  color: #fff;
  
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
 
}
.knowmore.hide {
  opacity: 0;
}
.knowmore i {
  background-color: #fff;
  color: var(--blacktext);
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 25px;
}


.lineseparator {
  width: 100%;
  box-shadow: 0 0.5px 0 #777;
  height: 1px;
  margin-bottom: 50px;
 /* margin-top: 30px;*/
}

.lineseparator.white {
  box-shadow: 0 0.5px 0 #fff;
  opacity: 0.3;
}

.legenda {
  margin-top: 20px;
  letter-spacing: 0.01em;
  font-size: var(--smallsize);
}
.legenda p {
  margin: 0 !important;
}



.sectiontitle {
   font-size: var(--smallsize) !important;
  /*font-size: 15px !important;*/
 font-weight: var(--bold) !important;
  text-transform: uppercase;
  letter-spacing: var(--letterspacing);
  color: var(--bluetext) !important;
}

.uppertitle {
   font-size: var(--smallsize) !important;
  /*font-size: 15px !important;*/
  font-weight: var(--bold) !important;
  text-transform: uppercase !important;
  letter-spacing: var(--letterspacing);
  color: var(--blacktext) !important;
}



.bullets {
  padding: 0;
  list-style: none;
  margin-bottom: 0 !important;
}
.bullets li {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}
.bullets li::before {
  content: "\F309";
  margin-right: 5px;
  font-family: 'bootstrap-icons';
  line-height: 100%;
}




.roundimage {
  width: max(30vw, 280px);
  height: max(30vw, 280px);
  overflow: hidden;
  border-radius: 50%;
}



/******** PLUS CURSOR IMAGE *****/

#cursor {
  height: 100px;
  width: 100px;
  position:fixed;
  backface-visibility: hidden;
  z-index: 999;
  pointer-events: none; 
  cursor: none;
  transition: all 0.1s ease-out;
}


/***** BGS ******/

.blackbg {
  background-color: var(--blackbg) !important;
}
.greybg {
  background-color: var(--greybg) !important;
}
.whitebg {
  background-color: var(--whitebg) !important;
}
.creambg {
  background-color: var(--creambg) !important;
}
.yellowbg {
  background-color: var(--yellowbg) !important;
}
.darkbluebg {
  background-color: var(--darkbluebg) !important;
}
.brownbg {
  background-color: var(--brownbg) !important;
}
.lightbrownbg {
  background-color: var(--lightbrownbg) !important;
}

.texturebg1 {
  background-image: var(--texturebg1);
}
.texturebg2 {
  background-image: var(--texturebg2);
}

/****** flexbox ***/

.flexbox {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.flexbox.horizontalcentered {
    justify-content: center;
  align-items: center;
}

.flexbox.verticalcentered {
    flex-flow: column;
    justify-content: center;
}
.flexbox.row.verticalcentered {
    align-items: center;
}
.flexbox.right {
    justify-content: flex-end;
  -webkit-justify-content: flex-end;
}

.flexbox.left {
    justify-content: flex-start;
  -webkit-justify-content: flex-start;
}

.flexbox.justify {
    justify-content: space-between;
  -webkit-justify-content: space-between;
}


.flexbox.bottom {
    flex-direction: column;
    justify-content: flex-end;
}
.flexbox.top {
    flex-direction: column;
    justify-content: flex-start;
}

.flexbox.column {
    flex-direction: column;
}
.flexbox.row {
    flex-direction: row;
}
.flexbox.row.centered {
    justify-content: center;
}


/*****  HEIGHTS ********/

.fullwidth {
  width:100%;
}

.fullheight {
  height: 100vh !important;
  height: 100svh !important;
}

.fullheight90 {
  height: 92vh !important;
  min-height: 500px;
}

.twothirdsheight {
  height:75vh !important;
   min-height: 500px;
}

.halfheight {
  height: 50vh !important;
  min-height: 350px;
}
.onethirdheight {
  height: 30vh !important;
  min-height: 250px;
}

.quarterheight {
  height: 25vh !important;
  min-height: 220px;
}




/******* PADDINGS **********/

.leftsmallpadding {
  padding-left: var(--sidesmallpadding) !important;
}

.leftpadding {
  padding-left: var(--sidepadding) !important;
}

.leftextrapadding {
  padding-left: var(--sideextrapadding) !important;
}

.rightsmallpadding {
  padding-right: var(--sidesmallpadding) !important;
}

.rightpadding {
  padding-right: var(--sidepadding) !important;
}

.rightextrapadding {
  padding-right: var(--sideextrapadding) !important;
}

.noleftpadding {
  padding-left:0 !important;
}
.norightpadding {
  padding-right:0 !important;
}


.topsmallpadding {
  padding-top: var(--verticalsmallpadding) !important;
}
.toppadding {
  padding-top: var(--verticalpadding) !important;
}
.topextrapadding {
  padding-top: var(--verticalextrapadding) !important;
}

.bottomsmallpadding {
  padding-bottom: var(--verticalsmallpadding) !important;
}
.bottompadding {
  padding-bottom: var(--verticalpadding) !important;
}
.bottomextrapadding {
  padding-bottom: var(--verticalextrapadding) !important;
}



/****** STICKY *******/

.sticky{
  position: sticky !important;
  position: -webkit-sticky !important;
}
.sticky.top {
    top: 0px;
}
.sticky.top0 {
    top: 0;
}
.sticky.middle{
  top:50vh;
}




/****** VIDEO ****/

.videoWrapper {
  height: 100%;
  position: relative;
  width: 100%;
  overflow: hidden !important;
}

.videoWrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/** when it is fullheight ***/
.videoWrapper.fullheight video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/*** for embeded videos ***/

.videoIframe {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
}

.videoIframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}




/**
-------------------------------------------------------------------------
::::::::  TEXT
-------------------------------------------------------------------------
**/

p {
  margin-bottom: 15px !important;
}

h1, h2 {
 margin-bottom: 30px !important;
}
h3 {
 margin-bottom: 15px !important;
}

/** headings ***/

h1 {
  color: inherit;
  font-weight: inherit !important;
  line-height: inherit !important;
  /*margin-bottom: 0px !important;*/
  font-size: inherit !important;
}


h2 {
  color: inherit;
  font-weight: inherit !important;
  line-height: inherit !important;
  /*margin-bottom: 0px !important;*/
  font-size: inherit !important;
}


h3 {
  color: inherit;
  font-weight: inherit !important;
  line-height: inherit !important;
 /*margin-bottom: 0px !important;*/
  font-size: inherit !important;
}


/**** SIZES ***/

.smallsize {
  font-size:var(--smallsize) !important;
  line-height: 140% !important;
}
.basesize {
  font-size:var(--basesize) !important;
}

.smallmediumsize {
  font-size: var(--smallmediumsize) !important;
  line-height: 150%;
}

.mediumsize {
  font-size:var(--mediumsize) !important;
  line-height: 120% !important;
}

.bigsize {
  font-size:var(--bigsize) !important;
  line-height: 110% !important;
}

.extrabigsize {
  font-size: var(--extrabigsize) !important;
  line-height: 110% !important;
}



/***** colors *****/

.blacktext {
  color:var(--blacktext) !important;
}

.greytext {
  color:var(--greytext) !important;
}
.lightgreytext {
  color:var(--greytext) !important;
}
.whitetext {
 color:var(--whitetext) !important;
}
.bluetext {
  color: var(--bluetext) !important;
}
.creamtext {
  color: var(--creamtext) !important;
}
.yellowtext {
  color: var(--yellow) !important;
}

.darkyellowtext {
  color: var(--darkyellow) !important;
}

/******* weight ******/

.thin {
  font-weight: var(--thin) !important;
}
.extralight {
  font-weight: var(--extralight) !important;
}

.light {
  font-weight: var(--light) !important;
}

.regular{
  font-weight: var(--regular) !important;
}

.medium {
   font-weight: var(--medium) !important;
}
.semibold {
  font-weight: var(--semibold) !important;
}
.bold {
  font-weight: var(--bold) !important;
}
.extrabold {
  font-weight: var(--extrabold) !important;
}
.black {
  font-weight: var(--black) !important;
}


.secondaryfont.bold {
  font-weight: normal !important;
  -webkit-text-stroke: 0.02em !important;
  text-stroke: 0.02em !important;
}


/***** position ***/

.centertext {
  text-align:center !important;
}

.righttext {
  text-align:right !important;
}

.oblique {
  font-style: italic;
}

.uppercase {
  text-transform:uppercase !important;
}

.justifytext {
  text-align:justify !important;
}

.justifytext p {
  text-align:justify !important;
}


/**** letter spacing ****/

.letterspacing {
  letter-spacing: var(--letterspacing);
}

.secondaryfont.mediumsize {
  letter-spacing: 0.03em;
  line-height: 140% !important;
}
.secondaryfont.bigsize {
  letter-spacing: 0.05em;
  line-height: 120% !important;
}
.secondaryfont.extrabigsize {
letter-spacing: 0.05em;
  line-height: 110% !important;
}
/*
.quote.secondaryfont.mediumsize  {
  letter-spacing: 0.05em;
  line-height: 140% !important;
}
*/


/**** flex text *****/
.flextext {
  display: flex;
  justify-content: space-between;
}


/******** INTRO ABOUT *******/
.introabout h1 {
  font-size: max(6vw, 40px) !important;
  margin-bottom: 10px !important;
  -webkit-text-stroke: 0 !important;
    text-stroke: 0 !important;
}





/**
-------------------------------------------------------------------------
::::::::  STRUCTURE
-------------------------------------------------------------------------
**/



#wrap_all {
  background-color: #fff;
  position: relative;
  width: 100%;
  float: left;
  
  -webkit-transition: opacity .5s ease-out;
  -moz-transition: opacity .5s ease-out;
  -o-transition: opacity  .5s ease-out;
  transition: opacity .5s ease-out;
  
}


#wrap_body {
  position: relative;
  width: 100%;
  float: left;
  z-index: 3;
  background-color: #fff;
}

#stage {
  float: left;
  position: relative;
  width: 100%;
  z-index: 2;
}

#top {
    float: left;
    width: 100%;
    position: relative;
    z-index: 4;
}

#bottom {
  float: left;
  width: 100%;
  position: relative;
  z-index: 3;
  background-color: #fff;
}

#footer {
  float: left;
  width: 100% !important;
  position: relative;
  z-index: 999;
  background-color: var(--darkbluebg);
  color: #fff !important;
  background-image: var(--texturebg1);
}


/**
-------------------------------------------------------------------------
::::::::  FOOTER
-------------------------------------------------------------------------
**/

/*
.footerlinks {
  display: flex;
  justify-content: space-between;
  font-size: 15px;
  padding-right: var(--sidepadding);
}

.footerlinksblock {
  margin-right: 0vw;
}

.footerlinksblock ul {
  display: flex;
  flex-direction: column;
}
.footerlinksblock .footerlinkblocktitle {
  font-weight: var(--regular) !important;
  text-transform: uppercase;
  letter-spacing: var(--letterspacing) !important;
  font-size: 11px !important;
  opacity: 0.3;
  margin-bottom: 10px;
}
.footerlinksblock a {
  opacity: 0.7;
  font-weight: var(--light) !important;
   -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.footerlinksblock a:hover {
  opacity: 1;
}

.footerlinksblock a img {
  display: none;
}
*/

/**** new version ****/

#footer #newfooterlinks .footerlinksblock ul {
  display: flex;
  flex-direction: column;
}

#footer #newfooterlinks .footerlinks {
  display: flex;
  justify-content: start;
  font-size: var(--basesize);
  padding-left: var(--sidesmallpadding) !important;
}

#footer #newfooterlinks .footerlinksblock {
  padding-right: 40px;
}
#footer #newfooterlinks .footerlinksblock a {
  opacity: 0.7;
  font-weight: var(--light) !important;
   -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}
#footer #newfooterlinks .footerlinksblock a:hover {
  opacity: 1;
}

#footer #newfooterlinks .footerlinksblock.biglinks a {
  font-size: max(1.3vw, 20px);
  opacity: 1 !important;
  line-height: 160%;
  font-weight: var(--regular) !important;
}
#footer #newfooterlinks .footerlinksblock.biglinks a:hover {
  opacity: 0.7 !important;
}

#footer #newfooterlinks .footerlinksblock.smalllinks a {
  font-weight: var(--light) !important;
}

#newfooterlinks h2 {
  letter-spacing: 3.5vw;
}



/*** copyright ***/
#footer .copyright {
  opacity: 0.6;
  /*font-size: 11px;*/
  font-size: var(--smallsize);
  line-height: 140%;
}

#footer .copyright span {
  font-size: 13px;
  display: inline-block;
  text-indent: 1px;
}


/*** under footer ****/
.zed {
  font-size: 16px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.1em;
  color: #c1c6ca;
  display: flex;
  align-items: flex-end;
  line-height: 100%;
}
.zed:hover {
  color: #fff;
}

.underfooter {
  position: relative;
  display: flex;
  margin-bottom: 40px !important;
  align-items: center;
  justify-content: space-between;
}





/**
-------------------------------------------------------------------------
::::::::  HEAD
-------------------------------------------------------------------------
**/



#head {
  z-index: 9991;
  position: fixed;
  width: 100vw !important;
  height: 90px;
  display: flex;
}
/*** set background ***/
div#head::after {
  content: "";
  width: 100%;
  height: 90px;
  background-color: #fff;
  position: fixed;
  top: -90px;
  left: 0;
  z-index: -1;
   -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}
div#head.active::after {
  top: 0px;
}


.brandlogo {
  display: flex;
  height: 90px;
  position: absolute;
  left: var(--sidesmallpadding);
  right: 0;
  z-index: 9999;
  max-width: 160px;
}

.brandlogo img, .brandlogo a {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding-top: 2px;
}



/****** when in whitehead *******/
.whitehead #head .brandlogo {
  filter: invert() brightness(2) !important;
}
.whitehead #head  .headright {
   color: #fff;
}

.whitehead #head .headnav .openmenu {
  filter: invert();
}



/** back to normal after whitebg shows **/
.whitehead #head.active .brandlogo {
   filter: none !important;
}
.whitehead #head.active  .headright {
   color: var(--blacktext);
}
.whitehead #head.active .headnav .openmenu {
  filter: none !important;
}




/**
-------------------------------------------------------------------------
::::::::  SOCIAL
-------------------------------------------------------------------------
**/

.socialiconswrapper {
  display: flex;
  align-items: center;
  
  display: none;
}

#head .socialicon svg {
  width: 14px;
  height: 14px;
}

#head .socialicon a {
  border: 1px solid rgba(0,0,0,0.4);
   background-color: transparent;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px !important;
  margin: 0 4px;
   -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
  
}

#head .socialicon a:hover {
  background-color: var(--darkbluebg);
  opacity: 1 !important;
  border: 1px solid var(--darkbluebg);
}
#head .socialicon a:hover svg {
  fill: #fff !important;
}


/*** when head is active ***/

#head.active .socialicon a {
  border: 1px solid rgba(0,0,0,0.4);
}

#head.active .socialicon a:hover {
  background-color: var(--darkbluebg);
  opacity: 1 !important;
  border: 1px solid var(--darkbluebg);
}
#head.active .socialicon a:hover svg {
  fill: #fff !important;
}

/** in white head ***/
.whitehead #head .socialicon a {
  border: 1px solid rgba(255,255,255,0.4);
}
.whitehead #head .socialicon a svg{
  fill: #fff !important;
}
.whitehead #head .socialicon a:hover {
  background-color: #fff !important;
  border: 1px solid #fff !important;
}

.whitehead #head .socialicon a:hover svg {
  fill: #000 !important;
}


.whitehead #head.active .socialicon a {
  border: 1px solid rgba(0,0,0,0.4);
}
.whitehead #head.active .socialicon a svg{
  fill: #000 !important;
}
.whitehead #head.active .socialicon a:hover {
  background-color: var(--darkbluebg) !important;
  border: 1px solid var(--darkbluebg) !important;
}
.whitehead #head.active .socialicon a:hover svg {
  fill: #fff !important;
}




/**
-------------------------------------------------------------------------
::::::::  NAV BURGUER
-------------------------------------------------------------------------
**/

#head .headnav {
  display: flex;
  align-items: center;
  height: 100%;
  position: absolute;
  right: var(--sidesmallpadding);
    
}

#head .headnav .openmenu {
  border: 1px solid #000;
  /*padding: 10px;*/
  width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
}

/*
#head .headnav .openmenu p {
  display: flex;
}
*/
/*
#head .headnav .openmenu p {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: var(--letterspacing);
  font-weight: var(--regular);
  margin-top: -1px;
}
*/
/** open version ***/
/*
#head .headnav .openmenu .burguericon {
  height: 18px;
  width: 35px;
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
 margin-left: 2vw;
  margin-top: 0px;
}
*/
/** square version ***/
#head .headnav .openmenu .burguericon {
  height: 10px;
  width: 20px;
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  margin-top: 0px;

}

#head .headnav .openmenu .burguericon span {
  width: 100%;
  height: 2px;
  display: block;
  background-color: #000;
}



/**
-------------------------------------------------------------------------
::::::::  TOP MENU CONTENT
-------------------------------------------------------------------------
**/

/*

.topmenu {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.topmenu .logowrapper {
  position: relative;
}
.topmenunav {
  margin-top: 140px;
  display: flex;
  flex-wrap: wrap;
}

.topmenunav ul {
  display: flex;
  flex-direction: column;
}

.topmenublock {
  text-align: left;
  margin-bottom: 40px;
  margin-right: 9vw;
}

.topmenublock a {
  font-size: var(--mediumsize);
  line-height: 160%;
  color: var(--bluetext) !important;
  font-family: var(--secondaryfont);
  text-transform: uppercase;
  letter-spacing: 0.0em;
}


.topmenunav li.current.active a {
 color:var(--greytext) !important;
  opacity: 1 !important;
}
.topmenunav a:hover {
  color:var(--greytext) !important;
  opacity: 1 !important;
}
.topmenublock .titlemenublock {
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: var(--letterspacing);
  margin-left: 1px;
  margin-bottom: 25px !important;
}
*/

/**** new version with blue background ****/


.topmenu {
  display: inline-block;
  height: 100svh;
  background-color: var(--darkbluebg);
  width: 100%;
  background-image: var(--texturebg1);
}

.topmenu .brandlogo img {
  filter: invert() brightness(2);
}

.topmenu .logowrapper {
  position: relative;
}
.topmenunav {
  margin-top: 140px !important;
  display: flex;
  flex-wrap: wrap;
}

.topmenublock {
  text-align: left;
  margin-bottom: 70px;
  padding-right: 5vw !important;
}
.topmenunav ul {
  display: flex;
  flex-direction: column;
}

.topmenublock .titlemenublock {
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: var(--letterspacing);
  margin-left: 1px;
  margin-bottom: 25px !important;
  color: var(--yellow);
}

.topmenublock a {
  font-size: max(1.7vw, 26px);
  line-height: 160%;
  color: #fff !important;
  letter-spacing: 0.0em;
  font-weight: var(--regular);
  opacity: 1;
}

.topmenunav li.current.active a, .topmenunav a:hover {
  opacity: 0.5;
}


/** small links below ***/


.topmenuBottomLinks {
  position: absolute;
  bottom: 30px;
  left: var(--sidesmallpadding);
  display: flex;
  align-items: center;
}

.topmenuBottomLinks div {
  margin-right: 40px;
}

.topmenuBottomLinks a {
  color: var(--yellow) !important;
  display: inherit;
}





/**
-------------------------------------------------------------------------
::::::::  IMAGES AND BANNERS
-------------------------------------------------------------------------
**/

/*
.projectLogo {
  max-width: 160px !important;
}

.projectLogoBig {
  max-width: 200px !important;
}
*/

.img-responsive {
  max-width: 100%;
  max-height: 100%;
  position: relative;
  width: auto;
  height: auto;
}



/**** simple image banner ***/

.imagewrapper {
  position: relative;
  height: auto;
  overflow: hidden;
  width: auto;
  background-color: #000;
}

.imagewrapper img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  
  -webkit-transition: all .2s !important;
  -moz-transition: all .2s !important;
  -o-transition: all .2s !important;
  transition: all .2s !important;

}

/** fixed ****/
.imagewrapper.fixed, .videoWrapper.fixed {
  position: relative;
  height: 100%;
  clip-path: inset(0);
}

.imagewrapper.fixed img, .videoWrapper.fixed video {
  object-fit: cover;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}


/**** for banners with layers ***/

.bannerwrapper {
  position: relative;
  width: 100%;
  height: 100%;
  flex-direction: column;
  
  	-webkit-transition: all .1s;
  	-moz-transition: all .1s;
  	-o-transition: all .1s;
  	transition: all .1s;
}

.bannerover {
  position: absolute !important;
  z-index: 2;
  width: 100%;
  height: auto;
  min-height: 100% !important;
  left: 0;
  top: 0;
}

.bannerunder {
  position: relative !important;
  z-index: 1;
  width: 100% !important;
  height: auto;
  overflow: hidden;
 background-color: var(--blackbg);
}

.bannerunder img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;

}

.bannerlink {
  font-size: 0 !important;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 3 !important;
}

/*
.bannerlink:hover ~ .bannerunder .imagewrapper img {
  transform: scale(1.1) !important;
}

.bannerlink:hover ~ .bannerover .link {
  opacity: 1 !important;
}


.bannerlink:hover ~ .bannerover .link::before {
  margin-right: 30px;
}
*/

/****** over link ***/
.overlink {
  position: absolute;
  z-index: 3;
  width: 100%;
  height: 100%;
  font-size: 0;
  cursor: pointer !important;
}

/***** parallax container ****/

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


/**
-------------------------------------------------------------------------
::::::::  PORTFOLIO
-------------------------------------------------------------------------
**/

/**** project logo on banner ***/
.portfolioproject .projectlogo img {
  width: max(17vw, 200px);
  margin: 0 auto;
  filter: invert() brightness(2);
}
.portfolioproject .projectlogo {
  text-align: center;
}



/**
-------------------------------------------------------------------------
::::::::  LINKS & BOTS
-------------------------------------------------------------------------
**/


::selection {
  background: #111;/* WebKit/Blink Browsers */
  color:#fff;
}
::-moz-selection {
  background: #111; /* Gecko Browsers */
   color:#fff;
}

input::-moz-focus-inner { 
  border: 0; 
}
a:hover, a:active, a:focus {
 outline: 0;
}
button:hover, button:active, button:focus {
   outline: 0;
}


a {
 color: inherit !important;
  text-decoration: none !important;
  opacity: 1;
  position: relative;
  -webkit-transition: all .1s;
  -moz-transition: all .1s;
  -o-transition: all .1s;
  transition: all .1s;
}

a:hover {
	text-decoration: none !important;
opacity: 1;
}

a:hover img {
  opacity: 1;
  
}




/**** SHOW MENU IMAGE ***/

a:hover .follow-img {
  opacity: 1 !important;
  right: -20%;
}

a .follow-img {
  
  /** not working ***/
  display:none !important;
  
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  min-height: 450px;
  box-sizing: border-box;
 /* transition: ease .5s;*/
  transform: translate(100%, -50%);
  z-index: -1;
  object-fit: cover;
  min-width: 500px;
  
   -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}




/***** BOTS ******/
.botwrapper {
  /*margin-top: 5px;*/
  margin-top:15px;
  display: inline-block;
}



/*
.bot {
  border-radius: 0;
  background-color: transparent;
  padding: 18px 40px;
  font-weight: var(--semibold);
  color: var(--darkbluebg);
  text-decoration: none !important;
  font-size: 11px;
  display: inline-flex;
 
  text-transform: uppercase;
  letter-spacing: 0.1em;
  line-height: 100%;
  margin-top: 10px;
  border: 1px solid var(--darkbluebg);
  
   -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}
*/

.bot {
  border-radius: 0;
  background-color: transparent;
  padding: 15px 40px;
  font-weight: var(--regular);
  color: var(--blacktext) !important;
  text-decoration: none !important;
  font-size: 15px;
  display: inline-flex;
  line-height: 100%;
  margin-top: 10px;
  border: 1px solid var(--darkbluebg);
  
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}



.bot:hover {
  background-color: var(--darkbluebg);
  color: #fff !important;
}

/** white ***/
.bot.white {
  border: 1px solid #fff !important;
  color: #fff !important;
}

.bot.white:hover {
  border: 1px solid #fff !important;
  background-color: #fff;
  color: var(--darkbluebg) !important;
}


/*** link ***/
.link {
 color: var(--creamtext) !important;
  line-height: 180%;
  opacity:1;
  display: flex;
  align-content: center;
   -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

.link::before {
  content: "\F138";
  font-family: 'bootstrap-icons';
  margin-right: 12px;
   -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}
.link:hover {
  opacity:1;
  text-decoration: none !important;
  color: var(--blacktext) !important;
}
.link:hover::before {
  margin-right: 22px !important;
}


/*** white ***/

.link.white {
  color: var(--whitebg) !important;
  opacity: 1 !important;
  font-weight: var(--light) !important;
}

.link.white:hover {
  color: var(--whitebg) !important;
  opacity: 0.7 !important;
}




/**
-------------------------------------------------------------------------
::::::::  ACCORDION v2 -- using jQuery UI -- loaded in head
-------------------------------------------------------------------------
**/


/** tab ***/
.ui-accordion .tab {
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin-bottom: 1px;
  box-shadow: 0 .5px 0 #777;
  padding: 20px 0 !important;
}

/** title ***/
.ui-accordion .tab h3 {
  font-size: var(--smallmediumsize) !important;
  font-weight: var(--regular) !important;
  color: var(--blacktext) !important;
  line-height: 120% !important;
  max-width: 85%;
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
  margin-bottom:0 !important;
}

.ui-accordion .tab:hover h3 {
  color: var(--blacktext) !important;
}
.ui-accordion .tab.ui-state-active h3 {
 color: var(--blacktext) !important;
}


/** icon **/
.ui-accordion .panelicon {
  width: 15px;
  position: relative;
  height: 15px;
  margin-right: 20px;
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
}

.ui-accordion .panelicon::after {
  content: "";
  width: 1px;
  height: 100%;
  box-shadow: 1px 1px 0 var(--blackbg);
  display: block;
  left: 0;
  right: 0;
  margin-left: auto;
  position: absolute;
  margin-right: auto;
  
    -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.ui-accordion .panelicon::before {
  width: 100%;
  height: 1px;
  content: "";
  position: absolute;
  box-shadow: 1px 1px 0 var(--blackbg);
  left: 0;
}

.ui-accordion .tab.ui-state-active .panelicon::after {
  height: 1px !important;
}


/** content **/
.ui-accordion .content {
  padding: 20px 0px;
}

#accordion .content .row > * {
  margin-bottom: 0 !important;
}


/**
-------------------------------------------------------------------------
::::::::  TABS - jqueri ui
-------------------------------------------------------------------------
**/

.tabswrapper ul {
  display: flex;
  justify-content: center;
   border-bottom: 1px solid #ddd;
  padding: 0 0 10px;
  list-style: none;
  margin-bottom: 30px;
}
.tabswrapper li {
  padding: 0 20px;
  position:relative;
  margin: 0 10px;
}


.tabswrapper li::after {
  content: "";
  width: 100%;
  height: 1px;
  border-bottom: 1px solid #000;
  display: block;
  bottom: -11px !important;
  position: absolute;
  left: 0;
  
  transform: scale(0);
  transform-origin: center;
  transition: opacity 300ms, transform 300ms;
}


.tabswrapper li.ui-tabs-active::after {
  content: "";
  width: 100%;
  height: 1px;
  border-bottom: 1px solid #000;
  display: block;
  bottom: -11px !important;
  position: absolute;
  left: 0;
  
  transform: scale(1);
  
}
.tabswrapper li a {
  text-decoration: none !important;
  color: var(--greytext) !important;
  font-size: var(--smallmediumsize);
}

.tabswrapper li.ui-tabs-active a{
  color: var(--blacktext) !important;
}

.tabswrapper li a:hover {
  color: var(--blacktext) !important;
}



/**
-------------------------------------------------------------------------
::::::::  JUXTAPOSE
-------------------------------------------------------------------------
**/
.jx-knightlab {
  display: none !important;
}

div.jx-control {
  width: 1px !important;
  
}
div.jx-controller {
  display: none;
}

.juxtapose div.jx-arrow {
  margin: auto;
  top: 0;
  bottom: 0;
  transition: all .2s ease;
  background-color: #fff;
  width: 50px !important;
  height: 50px !important;
  position: absolute;
  display: block !important;
  border: 0 !important;
  border-radius: 50%;
  right: 0 !important;
  left: 0 !important;
  background-image: url('https://www.legera.pt/images/graphics/swipe_arrows.svg');
  background-size: 60%;
  background-position: center !important;
  background-repeat: no-repeat;
  margin-left: -5px;
}

/** before image ***/

div.jx-image.jx-left img {
  left: 0;
  opacity: 0.8;
  filter: saturate(0) brightness(1.2);
}




/**
-------------------------------------------------------------------------
::::::::  GRID
-------------------------------------------------------------------------
**/

.grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.grid.col4 .item{
  width: calc(25% - 1px);
   overflow:hidden;
  margin-bottom: 1px;
  position: relative;
}

.grid.col3 .item{
  width: calc(33.33% - 1px);
  overflow: hidden;
  margin-bottom: 1px;
  position: relative;
}

.grid.col2 .item{
  width: calc(50% - 1px);
   overflow:hidden;
  margin-bottom: 1px;
  position: relative;
}


/**
-------------------------------------------------------------------------
::::::::  SCROLER
-------------------------------------------------------------------------
**/



.scroller {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  flex-direction: row;
  padding-bottom: 15px;
    scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.scroller .item {
  width: 80vw;
  min-width: 80vw;
  margin-right: 1px;
}

/** for projects slider ***/
.scroller.projects {
  padding-bottom: 40px;
  
}
.scroller.projects .item {
  width: 26vw !important;
  min-width: 26vw;
  margin-right: 40px;
}
.scroller.projects .imagewrapper {
  height: 60vh;
  min-height: 400px;
}
.scroller.projects h1 {
  font-size: max(1.6vw, 20px) !important;
}


/*********** STYLING SCROLL BAR *************/

.scroller::-webkit-scrollbar {
    width: 100% !important;
    height: 5px;
}

.scroller::-webkit-scrollbar-track {
    background-color: transparent;
    border: 0px solid #fff;
}

.scroller::-webkit-scrollbar-thumb {
    background-color: #c2beb3;
    border-radius: 5px;
    border: 1px solid #c2beb3;
    cursor: pointer;
}

/** arrows **/
.ScrollerNavigation button:hover {
  opacity: 0.4;
}



 /* NOT WORKING ---- Hide scrollbar for Chrome, Safari and Opera */

...scroller::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
...scroller {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none; !important; /* Firefox */
  
} 



/**
-------------------------------------------------------------------------
::::::::  FORMS
-------------------------------------------------------------------------
**/

.convertforms {
  font-family: var(--primaryfont) !important;
}

.convertforms .cf-content-wrap, .convertforms .cf-form-wrap {
  padding: 0 !important;
}

.cf-control-group {
  padding: 0 !important;
}


.convertforms .cf-input {
  font-size: 1em !important;
  color: var(--blacktext) !important;
  background-color: transparent !important;
  padding: 20px 0 20px 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  text-align: left;
  font-family: var(--primaryfont) !important;
  font-size: var(--smallmediumsize) !important;
  letter-spacing: 0 !important;
  font-weight: var(--light) !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  margin-bottom: 0px !important;
  box-shadow: 0 0.5px 0 #777 !important;
}
.convertforms textarea.cf-input {
  overflow: auto;
  max-height: 160px !important;
  min-height: 90px !important;
}

.convertforms ::placeholder {
  color: var(--basetext) !important;
  letter-spacing: -0.04em;
  font-weight: var(--light);
  opacity:1 !important;
}

.convertforms .cf-fields {
  margin: 0 !important;
}

.convertforms .cf-btn {
  background-color: var(--darkbluebg) !important;
  border-radius: 0px !important;
  margin-top: 20px;
  padding: 12px 40px !important;
  font-size: var(--basesize) !important;
  font-weight: var(--regular);
  margin-bottom: 0px;
  display: inline-flex;
  align-items: center;
}
.convertforms .cf-btn::after {
  content: "\F138";
  font-family: 'bootstrap-icons';
  margin-left: 15px;
  transform: translateX(0px) translateY(0px);
  transition: all 0.3s ease-out;
}
.convertforms .cf-btn:hover::after {
  transform: translateX(4px) translateY(0px);
}
.convertforms .smallsize .cf-label {
  font-size: var(--smallsize) !important;
  font-weight: 500 !important;
}

.convertforms .cf-checkbox-group input {
  margin: 0 10px 0 0 !important;
}

.convertforms .legal {
    margin-top: 20px;
}
.cf-control-group.recaptcha {
  margin-top: 20px;
}

.convertforms .legal .cf-control-input-desc {
  color: var(--blacktext) !important;
  font-size: var(--smallsize ) !important;
}

.convertforms.cf-success .cf-response {
  background-color: transparent !important;
  display: block !important;
  border-radius: 0 !important;
  padding: 50px 0 !important;
  text-align: left !important;
  color: #57ac84 !important;
  font-weight: var(--regular);
  margin-top: -5px;
}

/** texto recaptcha ***/
.convertforms .cf-recaptcha-v3-text-badge {
  margin: 0;
  font-size: var(--smallsize) !important;
  color: #999;
}

/**
-------------------------------------------------------------------------
::::::::  CAROUSEL - bootstrap
-------------------------------------------------------------------------
**/


.carousel-controls {
  z-index: 999;
  position: absolute;
  width: 120px;
  display: flex;
  align-items: center;
  height: 80px;
  bottom: 25px;
  right: var(--sidesmallpadding);
}



.carousel-controls .carousel-indicators {
  display: none !important;
}


.carousel-control-next, .carousel-control-prev {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35% !important;
  padding: 0;
  color: #fff;
  text-align: center;
  background: 0 0;
  border: 0;
  opacity: 1 !important;
  transition: opacity .15s ease;
}
.carousel-control-next:hover, .carousel-control-prev:hover {
  opacity: 0.5 !important;
}

/*
.carousel-control-next-icon, .carousel-control-prev-icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}
*/


.carousel-controls .carousel-control-next-icon {
  display: inline-block;
  width: 60px;
  height: 30px;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
  background-image: url("https://legera.pt/images/graphics/long_arrow.svg") !important;
}

.carousel-controls .carousel-control-prev-icon {
  display: inline-block;
  width: 60px;
  height: 30px;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
  background-image: url("https://legera.pt/images/graphics/long_arrow.svg") !important;
  transform: rotate(180deg);
}




.carousel-controls.white .carousel-control-next-icon, .carousel-controls.white .carousel-control-prev-icon {
 
  filter: invert();
}



/**
-------------------------------------------------------------------------
::::::::  IGNITE GALLERY 
-------------------------------------------------------------------------
**/


/*** full gallery - all images fit container ***/
.fullgallery {
  background-color: #000;
  height: 100%;
}
.fullgallery .igui-scope {
  height: 100%;
}
.fullgallery  .ig-gallery-wrapper {
  height: 100%;
}
.fullgallery .ig-slideshow > div {
  height: 100%;
}
.fullgallery .ig-slideshow ul {
  height: 100% !important;
}
.fullgallery .igui-slideshow-items li {
   height: 100% !important;
}
.fullgallery .ig-slideshow-item-inner-lboxon {
  height: 100% !important;
  width: 100%;
}




/*** SLIDER *******/
.ig-slideshow-button {
  padding: 0 !important;
  opacity: 0 !important;
  opacity: 1 !important;
  width: 45px;
  height: 100%;
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
  transform: none !important;
  top: 0;
}
.ig-slideshow:hover .ig-slideshow-button {
  opacity: 1 !important;
}

.ig-slideshow-button-left {
  margin-left: 0px !important;
}
.ig-slideshow-button-right {
  margin-right: 0px !important;
}

.ig-slideshow-button svg {
  background: transparent !important;
  width: 35px;
  height: 25px;
  box-sizing: content-box;
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.ig-slideshow-button svg polyline {
  stroke: #fff !important;
}

/*
.ig-slideshow-image {
  max-height: 100% !important;
  margin: 0px !important;
  height: 100% !important;
}

.igui-slideshow-items li {
  list-style-type: none !important;
  list-style-image: none !important;
  margin: 0px !important;
  padding: 0px !important;
  align-items: center;
  display: flex;
  justify-content: center;
}
*/


/*** image gets full width and height ***/
/*
.fullimagegallery .ig-slideshow-image {
  max-height: 100% !important;
  margin: 0px !important;
  height: 100% !important;
  width: 100%;
  object-fit: cover !important;
}
.fullimagegallery .ig-slideshow-item-inner-lboxon {
  height: 100% !important;
}

*/


/***** FOR SCROLLER *******/
.ig-thumb-scroller-main-below {
  padding-top: 0 !important;
}

.ig-thumb-scroller li {
  list-style-type: none !important;
  list-style-image: none !important;
  background-image: none !important;
   height: 80vh;
  min-height: 600px;
}


.ig-thumb-scroller .ig-scroller-img-wrapper .ig-img-link {
  object-fit: cover !important;
  width: 100%;
  height: 100%;
  max-height: 100% !important;
 /* cursor: auto;*/
}

.ig-scroller-img {
  object-fit: cover;
  min-height: 100%;
  opacity: 1 !important;
}

.ig-scroller-img-wrapper a {
  opacity: 1 !important;
  border: 0 !important;
}

.ig-thumb-scroller-right svg, .ig-thumb-scroller-left svg {
  padding: 0px !important;
 color: #fff !important;
 
}
.ig-thumb-scroller-right svg polyline, .ig-thumb-scroller-left svg polyline {
  stroke-width: 3;
}

.ig-thumb-scroller-right, .ig-thumb-scroller-left {
  background-color: #000;
  padding: 18px !important;
  margin: 0 10px 0 10px;
  transform: translateY(-50%) translateY(0) !important;
  opacity: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  
   -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}


/** show arrows on hover ***/
.ig-thumb-scroller:hover .ig-thumb-scroller-right, .ig-thumb-scroller:hover .ig-thumb-scroller-left {
  opacity: 1;
}



/**** FOR LIGHT BOX ****/

.igui-lightbox-toolbar {
  padding: 0px !important;
  background-color: transparent !important;
}
.igui-lightbox {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
   z-index: 99999;
  background: #fff !important;
  opacity: 0;
  transition: opacity .15s linear;
}
.igui-lightbox-items li {
  padding: 60px !important;
}


.igui-lightbox-toolbar .igui-close {
  opacity: 1 !important;
  top: 15px;
  position: fixed;
  right: 10px !important;
  margin: 0 !important;
}


.igui-lightbox-toolbar .igui-close svg {
  width: 40px;
  height: 40px;
}

.igui-lightbox-toolbar .igui-close svg line {
  stroke-width: 0.3px !important;
  color: #000 !important;
}



.ig-lightbox-button-right, .ig-lightbox-button-left {
  padding: 0 18px !important;
  margin: 0px !important;
  opacity: 1 !important;
  /*color: #000 !important;*/
}
.ig-lightbox-button svg {
  background: transparent !important;
  padding: 10px !important;
  width: 25px;
  height: 40px;
  box-sizing: content-box;
}
.ig-lightbox-button svg polyline {
  stroke-width: 1px !important;
   color: #000 !important;
}
.ig-lightbox-descriptions-overlay {
  padding: 10px;
  background: #fff !important;
  color: var(--blacktext) !important;
  max-height: 30vh;
  overflow-y: scroll;
  transform: none !important;
  font-size: var(--basesize);
}

/** icon to show lightbox open on main image **/
.ig-lbox-open-icon {
  display:none !important;
  
  margin: 0 !important;
  background-color: rgb(255, 255, 255);
  padding: 15px !important;
}
.igui-overlay-icon.igui-icon {
  color: #000;
}
.igui-overlay-icon svg {
  width: 30px;
  height: 30px;
}

/** image custom link hover - no effect  ***/

.ig-lightbox-custom-link:hover {
  opacity: 1 !important;
}
.ig-lightbox-custom-link:hover img {
  opacity: 1 !important;
}




/**
-------------------------------------------------------------------------
::::::::  PRESS WALL & ROW
-------------------------------------------------------------------------
**/
/*****

.mwall-detail-box .mwall-desc {
  color: inherit !important;
}



.presswall {
  padding-bottom: var(--verticalpadding) !important;
  padding-left: var(--sidesmallpadding) !important;
  padding-right: var(--sidesmallpadding) !important;
  margin-top: 120px;
}

.presswall .mwall-items {
  margin-top: 0 !important;
  margin-right: var(--sidepadding) !important;
  margin-left: var(--sidepadding) !important;

}
.presswall .mwall-item-inner {
  padding: 0 !important;
  position: relative;
  z-index: 2;
}

.presswall .mwall-desc {
  font-size: vart(--basesize) !important;
  line-height: inherit !important;
  padding: 0 !important;
}
.presswall .mwall-item {
  padding-bottom: 100px !important;
  padding-top: 0 !important;
}


.presswall .mwall-filters .button-group {
  display: inline-block;
  padding: 0 !important;
  margin: 0 !important;
}


.presswall .mwall-filters-sortings {
  margin: 90px 0 70px 0 !important;
  background-color: #fff !important;
  z-index: 9;
  padding-bottom: 0;
  box-shadow: 0 -0.5px 0 #777;
  padding-top: 30px;
}

.presswall .mwall-buttons > span {
  display: none;
}
.presswall .mwall-buttons a.mwall-filter-active {
  background-color: #ffffff;
  border-color: #ffffff;
  box-shadow: 0 0 0 !important;
  color: #000 !important;
}
.presswall .mwall-filter {
  border: 0 !important;
  box-shadow: 0 0 0 !important;
  color: var(--greytext) !important;
  font-size: var(--smallsize) !important;
  padding: 0 !important;
  display: inline-block;
  line-height: 140%;
  height: auto !important;
  border: 0px solid #ddd !important;
  margin: 0 30px 0 0 !important;
  text-decoration: none;
  outline: none;
  text-transform: uppercase;
  letter-spacing: var(--letterspacing);
  font-weight: var(--light);
}
.presswall .mwall-filters-container {
  margin: 0 !important;
}
*****/



/*** press row --- bottom of the page ****/
/*****
.pressrow {
  margin-top: 30px;
}

.pressrow .mwall-item {
  padding-top: 0 !important;
}
.pressrow .mwall-item-inner {
  padding: 0 !important;
  position: relative;
  z-index: 2;
}
.pressrow .mwall-desc {
  line-height: inherit !important;
  padding: 0 !important;
}
****/



/*** press banner -- not beeing used ****/
/****
.pressbanner .mwall-item {
  padding-top: 0 !important;
}
.pressbanner .mwall-item-inner {
  padding: 0 !important;
  position: relative;
  z-index: 2;
}
.pressbanner .mwall-desc {
  font-size: vart(--basesize) !important;
  line-height: inherit !important;
  font-weight: var(--light) !important;
  padding: 0 !important;
  
}
.pressbanner .newsitem .title {
  font-size: var(--mediumsize) !important;
  font-weight: var(--medium);
}
.pressbanner .newsitem .content {
  padding: 0 var(--sidesmallpadding) var(--verticalsmallpadding) var(--sidesmallpadding);
  width: calc(100vw / 12 * 7);
  margin: 40px auto !important;
}

.pressbanner .mwall-desc img {
  max-width: 100%;
  width: 100%;
}
.pressbanner  .newsitem:hover .image img {
  transform: scale(1) !important;
}
****/



/*** ------------------------------------------------------

NEWS PAGE -- all news in a blog layout

----------------------------------------------------------------------- **/

/****
.site.newsblog #stage {
  padding-left: var(--sidesmallpadding);
  padding-right: var(--sidesmallpadding);
  padding-top: 60px;
  padding-bottom: var(--verticalextrapadding);
}


.site.newsblog #stage .newsitem {
  width: max(60vw, 350px);
  margin: 0 auto 50px;
}

.site.newsblog #stage .com-content-category-blog__children.cat-children {
  display: none;
}
****/










/**
-------------------------------------------------------------------------
::::::::  TEAM
-------------------------------------------------------------------------
**/

.team .col-md-6 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}


/**
-------------------------------------------------------------------------
::::::::  TRACK RECORD
-------------------------------------------------------------------------
**/

.trackrecordWrapper {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
}

.trackrecordItem {
  width: 25%;
  min-width: 300px;
  margin-bottom: 30px;
}


/**
-------------------------------------------------------------------------
::::::::  PROJECT PAGE
-------------------------------------------------------------------------
**/

/*** nav ***/
#projectNav {
  display: flex;
  flex-direction: column;
}
#projectNav .anchorlink {
  font-size: var(--smallsize);
  font-weight: var(--light);
  margin-bottom: 5px;
  color: var(--blacktext) !important;
  opacity: 0.6 !important;
}
#projectNav .anchorlink:hover {
  opacity: 1 !important;
}
#projectNav .anchorlink.active {
  opacity: 1 !important;
}

#projectNav .anchorlink::after {
  width: 100%;
  content: "";
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  box-shadow: 0 0.5px 0 var(--darkbluebg);
  transform: scale(0);
  transform-origin: left;
  transition: opacity 300ms, transform 300ms;
}
#projectNav .anchorlink.active::after {
  transform: scale(1);
}




/**** banner ***/

.projectbanner .projectlogo img {
  width: max(26vw, 220px);
  margin: 0 auto;
  object-fit: contain;
  height: max(22vw, 260px) !important;
}


/*** project ID ****/
.projectID {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  margin-bottom:30px;
 /* font-size: var(--basesize);*/
}
.projectID p {
  display: flex;
  flex-direction: row;
  margin-bottom: 5px !important;
  color: var(--greytext);
  line-height: 160%;
}

.projectID p span {
  color: var(--blacktext);
  margin-left: 5px;
}


/***************** ICONES ***************/
.projecticons .iconblock {
  margin: 0 25px;
  text-align: center;
}
.projecticons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.projecticons .icon {
  display: none;
}
.projecticons .iconblock p {
  font-family: var(--secondaryfont);
  font-size: var(--smallmediumsize) !important;
  text-transform: uppercase;
  color: var(--bluetext) !important;
}



/****** TIPOLOGIES  -- blocks *********/

.typologiesWrapper.grid.col3 .item {
  width: calc(33% - 10px);

}

.typologiesWrapper .item {
  background-color: #fff;
  padding: 50px 30px;
}

.typologiesWrapper .image {
  width: 100%;
  height: max(40vh, 400px);
}

.typologiesWrapper .item .image img {
  object-fit: cover !important;
  width: 100%;
  height: 100%;
}

.typologiesWrapper .item .info {
  text-align: center;
  margin-bottom: 20px !important;
}

.typologiesWrapper .item .title {
  font-size: var(--mediumsize);
  line-height: 100%;
  font-family: var(--secondaryfont);
  margin-bottom: 15px;
  text-transform: uppercase;
  color: var(--creamtext);
}

.typologiesWrapper .item .desc {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
}

.typologiesWrapper .item .units {
  font-weight: var(--medium);
  margin-bottom: 10px !important;
  border-top: 1px solid #ddd;
  padding-top: 15px;
}

.typologiesWrapper .item .price {
  color: var(--greytext);
  /*font-family: var(--secondaryfont);*/
  text-transform: uppercase;
  font-size: var(--smallsize);
  letter-spacing: 0.1em;
  margin-bottom: 10px !important;
}
.typologiesWrapper .botwrapper {
  margin-top: 0px;
  display: block;
  text-align: center;
}








/**
-------------------------------------------------------------------------
::::::::  LOGOS ---- PROJECTS, PARTNERS & BROKERS
-------------------------------------------------------------------------
**/

.logorow {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  align-items: center;
}

.logorow .logowrapper {
  width: 190px;
  display: inline-flex;
  align-content: center;
  justify-content: center;
  margin-bottom: 0px;
  align-items: center;
  padding: 15px;
  height: 90px;
}


.logorow .logowrapper img, .logorow .logowrapper a {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(0);
}

.logorow .logowrapper img {
   opacity: 1;
}


/** footer logos ****/

#footer .logorow .logowrapper img{
  object-fit: contain;
  width: 100%;
  height: 100%;
  filter: invert(1) brightness(2);
}


#footer .logorow .logowrapper.albatroz {
  height: 120px;
}

#footer .logorow .logowrapper.gomes {
  height: 170px;
}
#footer .logorow .logowrapper.cedar {
  height: 125px;
}





/*** ------------------------------------------------------

TABELA TIPOLOGIAS  -- JS version

----------------------------------------------------------------------- **/


.mytable {
  width: 100%;
  table-layout: fixed;
  min-width: 600px;
  overflow: scroll;
}
.mytable th {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  padding: 0 15px;
  text-align: center;
  font-weight: var(--light);
}
.mytable th a {
  cursor: pointer;
  font-weight: var(--light);
}

.mytable thead tr {
  background-color: transparent;
  background-image: none !important;
  color: var(--creamtext) !important;
}

.mytable tr {
  height: 50px;
  background-color: transparent;
  color: #fff !important;
 box-shadow: 0 0.5px rgba(255,255,255,0.5);
}
.mytable tr .price span {
  font-size: 0;
}
.mytable tbody tr:hover {
  background-color: rgba(0,0,0,0.1);
}


/*
.mytable thead tr:hover {
  background-color: #fff !important;
  color: #000 !important;
}*/

.mytable td {
  padding: 10px;
  text-align: center;
  font-size: 15px;
}
.mytable td i {
  font-size: 25px;
}

.mytable .downloadplanta {
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #eac79c !important;
  text-decoration: none !important;
}

.mytable .downloadplanta::after {
  content: "\F30A";
  font-family: 'bootstrap-icons';
  font-size: 21px;
}

.mytable .downloadplanta:hover {
  color: #fff !important;
}


/***** when sold ******/

.mytable tr.sold {
  height: 50px;
  color: rgba(255,255,255,0.6) !important;
  background-image: none !important;
  background-color: rgba(0,0,0,0.1);
}

.mytable tr.sold .price {
  font-size: 0;
}

.mytable tr.sold .price span {
  text-transform: none !important;
  font-size: var(--smallsize) !important;
  letter-spacing: 0.1em !important;
  vertical-align: middle;
}
.mytable tr.sold .downloadplanta {
  /*display: none;*/
  opacity: 0.4;
}





/********
------------------------------------------------------------
NEWS BLOG -- CATEGORY PAGE OVERRIDE 
------------------------------------------------------------
********/


/*** news blog layout ***/
.newsblog {
  padding-bottom: var(--verticalpadding) !important;
  padding-left: var(--sidepadding) !important;
  padding-right: var(--sidepadding) !important;
  margin-top: 120px;
}


.newsgrid {
  container-type: inline-size;
}

.newsblogitem {
  width: 50cqw;
  padding: 0 var(--sidesmallpadding) 70px var(--sidesmallpadding);
}


/***** news item ***/
.newsitem {
  position: relative;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

.newsitem .image {
  overflow: hidden !important;
  height:350px;
}

.newsitem .image img {
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.newsitem .overlink:hover ~ .image img {
  transform: scale(1.05);
  transition-timing-function: ease-in-out;
  transition: 0.5s;
}


.newsitem .content {
  margin-top: 25px !important;
}
.newsitem .body {
  font-size: var(--basesize);
  line-height: 150%;
}


.newsitem .title {
  font-size: var(--smallmediumsize);
  color: var(--blacktext) !important;
  margin-bottom: 15px;
  line-height: 130%;
  font-weight: var(--semibold);
}


.newsitem .font {
  font-size: 11px;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
}



/*** news highlight -- for news flash module on home page ***/

.newsflash {
  display: flex;
  container-type: inline-size;
  justify-content: space-between;
  flex-wrap: nowrap;
  overflow-x: scroll;
  padding-bottom: 20px;
}
.newsflash .mod-articlesnews__item {
  width: 35cqw !important;
  min-width: 35cqw !important;
  margin-right: 5cqw !important;
}








/******* HIDE COOKIES SETTINGS BUTTON *****/

.cky-btn-revisit-wrapper {
  display: none !important;
}








