html {
    scroll-behavior: unset !important;
    font-size: 16px;
}  


html,
body {
  background: #fff;
}

/********* PAGE FADE IN FADE OUT **********/
body {
  --page_fade_ms: 400ms;
}

body #wrap_all {
  opacity: 0;
  transition: opacity var(--page_fade_ms) ease-in-out;
}

/* Visible state */
body.is-loaded #wrap_all{
  opacity: 1;
}
body.is-loaded #preloader .spinnerwrapper{
  visibility: hidden;
}
body.is-loaded #preloader {
  z-index:-1;
}


/* Fade out */
body.is-leaving {
  overflow: hidden;
  height: 100vh;
  touch-action: none;
}
body.is-leaving #wrap_all{
  opacity: 0;
  pointer-events: none;
}
body.is-leaving #preloader  .spinnerwrapper{
  visibilily: visible;
}



:root {  


  
  /** text ***/
  --basetext: #717171;
  --blacktext: #0a1115;
  --bluetext: #46768d;
  --greytext: #717171;
  --lightgreytext: #bbb;
  --whitetext: #fff;
   
  --yellowtext:#ffd97f;
  /*--yellowtext: #ffb183;*/
  --bronzetext: #D29D6C;

  --lightbronzetext: #DDAA7B; /* light bronze */
  --greyborder: #ccc;

 
  /** bg **/
  --blackbg: #0a1115;
  --bluebg: #041c2c;
  --yellowbg: #fff683;
  --greybg:  #f4f3f2;
  --whitebg: #FFFFFF;

  /** sizes ***/
  --smallsize: 0.875rem;
  --basesize:1.125rem;
  --smallmediumsize: 1.375rem;
  --mediumsize: 1.875rem;
  --bigsize: 3.25rem;
  --extrabigsize: 5rem;
  
 /** weights ***/ 
  --regular: 400; 

  /** paddings ***/
  --sidesmallpadding: 2svw;
  --sidepadding: 4svw;
  --sideextrapadding: 8svw;
  --verticalsmallpadding: 5svh;
  --verticalpadding: 10svh;
  --verticalextrapadding : 15svh;
 
  /*** spacing **/
  --letterspacing-small: -0.02rem;
  --letterspacing-big: -0.05rem;
  
  /*** font ***/
  --primaryfont: "Legera Unica", sans-serif;

  /*** heights***/
  --headheight: 90px;
  --footerheight: 550px;

  /*** transitions ****/
  --transition1: all .5s ease-out;
  --transition2: all .2s ease-out;
  --transition3: all 1s ease-out;
  --transition4: all 0.1s ease-out;

 /** logo slider ****/
  --marquee-width: 100vw;
  --marquee-height: 20vh;
  --marquee-elements-displayed: 5;
  --marquee-element-width: calc(var(--marquee-width) / var(--marquee-elements-displayed));
  --marquee-animation-duration: calc(var(--marquee-elements) * 3s);

  /** textures ****/
  
  --texturebg1: url("../../../images/assets/graphics/textures/brilliant.png");


  /*** images ***/

  --aboutbanner: url('/images/assets/images/website/20260505__00040__R6D27752.jpg');
  

}



/*** SCROLL DOWN ON BANNER ****/
.scrolldown {
  position: absolute;
  z-index:9;
  /*bottom: 50px;*/
  top: calc(100svh - 120px);
  height: 70px;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  opacity: 0.7;
  font-size:var(--smallsize);
  transition: var(--transition2);
}
.scrolldown span {
  font-weight:300;
}
.scrolldown.hide {
  opacity: 0;
}


/******************** SEO MARKUP ON HEAD OF EVERY PAGE **********************/
.seomarkup {
  position: absolute;
  z-index: -1;
  color: #000 !important;
  transform: translate3d(-100vw,0px,0px) !important;
}



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

#preloader {
  z-index: 0;
  height: 100svh; /** safari hack **/
  width: 100svw;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  position: absolute;
  left: 0;
  right: 0;
 
}
.inverthead #preloader{
 /*background-color: var(--whitebg);*/
}


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


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

body {
    background-color: var(--whitebg) !important;
    color: var(--basetext) !important;
    font-family: var(--primaryfont) !important;
	font-weight: var(--regular) !important;
    font-size: var(--basesize) !important;
    letter-spacing: var(--letterspacing-small) !important;
    line-height: 140% !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizelegibility;

}


.primaryfont {
  font-family: var(--primaryfont) !important;
  font-optical-sizing: auto;
  font-weight: inherit;
  font-style: normal;
}


.row {
  margin: 0 !important;
}

.mobileonly {
  display:none !important;
}

.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding:0 !important;
  margin-top: 0;
  position: relative;
}

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




/**** line separator *******/

.lineseparator {
  width: 100%;
  /*box-shadow: 0 0.5px 0 #777;*/
  border-top: 1px solid var(--greyborder);
  height: 1px;
  margin-top: -2px;
  /*margin-bottom: var(--verticalsmallpadding);
  margin-top: var(--verticalsmallpadding);*/
}

.lineseparator.white {
  border-top: 1px solid var(--greyborder);
  opacity: 0.3;
}

.smalllineseparator {
  width: 30px;
  border-top: 1px solid var(--greyborder);
  height: 1px;
  margin-top: 0;
  margin-bottom: 20px !important;
}
.smalllineseparator.black {
  border-top: 1px solid var(--blacktext);
}



/**** middle dot separator *******/
.dot {
  margin: 0 15px;
}

/** legenda ***/
.legenda {
  margin-top: 15px;
  font-size: var(--smallsize);
  line-height: 140%;
}
.legenda p {
  margin: 0 !important;
}
.legenda .opacity {
  opacity: 0.7;
}

/** legendas on banners **/
.bannerover .legenda {
  position: absolute;
  z-index: 1;
  padding: var(--verticalsmallpadding) var(--sidesmallpadding);
}
.bannerover .legenda.right {
  right: 0;
}
.bannerover .legenda.left {
  left: 0;
}
.bannerover .legenda.bottom {
  bottom: 0;
}


/***** white box contents *******/
.whitebox {
  background-color: var(--whitebg);
  padding: 25px 50px;
}
.greybox {
  background-color: var(--greybg);
  padding: 25px 50px;
}

.whitebox .title, .greybox .title {
  font-size: var(--smallmediumsize);
  color: var(--blacktext);
  /*color: var(--bronzetext);*/
}
.whitebox .title::before, .greybox .title::before {
  content: "\e7cd";
  font-family: 'Material Symbols Outlined';
color: var(--blacktext);
     /*color: var(--bronzetext);*/
  position: ;
  display: block;
  margin-top: -15px;
  margin-bottom: 20px;
  font-size: var(--mediumsize);
  font-weight: 200;
  opacity: 0.8;

  display:none;
}

.whitebox .subtitle, .greybox .subtitle{
  font-size: var(--basesize);
  color: var(--basetext);
  margin-bottom: 0 !important;
}


/***** blackbox contents *******/
.blackbox {
  background-color: var(--blackbg);
  padding: 70px 50px;
  position: relative;
  /*clip-path: border-box;*/
}
.blackbox .title {
  font-size: var(--smallmediumsize);
  color: var(--whitetext);
}
.blackbox .title::before {
  content: "\e7cd";
  font-family: 'Material Symbols Outlined';
  color: var(--whitetext);
  position: ;
  display: block;
  margin-top: -15px;
  margin-bottom: 20px;
  font-size: var(--mediumsize);
  font-weight: 200;
  opacity: 0.8;

  display:none;
}

.blackbox .subtitle{
  font-size: var(--basesize);
  color: var(--whitetext);
  opacity: 0.7;
  margin-bottom: 0 !important;
}


/**** box specifics ***/

.processfocus .item .title::before {
  content: "\e941";
  font-family: 'Material Symbols Outlined';
  position: absolute;
  display: block;
  margin-top: 0px;
  margin-bottom: 20px;
  font-size: var(--mediumsize);
  font-weight: 200;
  opacity: 0.8;
  right: 0;
}
.processfocus .item.last .title::before {
  display:none;
}
/*
.processfocus .item:hover {
  background-color: var(--blackbg);
}
.processfocus .item:hover .title:before  {
  color: var(--whitetext);
}
.processfocus .item:hover .title  {
  color: var(--whitetext);
}
.processfocus .item:hover .subtitle  {
  color: var(--whitetext);
  opacity:0.8;
}
*/

/**** bullets *******/

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


/********* SECTION NAV ****/
ul.sectionNav {
  list-style: none;
  padding: 0;
  margin-bottom: 0 !important;
  font-size: 1rem;
}
ul.sectionNav li {
  margin-bottom: 10px;
  line-height: 120%;
}
ul.sectionNav li a {
  text-decoration: none !important;
  color: var(--basetext);
}
ul.sectionNav li a.active, ul.sectionNav li a:hover {
  color: var(--blacktext) !important;
  opacity: 1 !important;
}

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

.blackbg {
  background-color: var(--blackbg) !important;
}
.greybg {
  background-color: var(--greybg) !important;
}
.whitebg {
  background-color: var(--whitebg) !important;
}
.bluebg {
  background-color: var(--bluebg) !important;
}

/******* BACKGROUNDS WITH IMAGE **********/

.texturebg1::after {
  content: "";
  background-image: var(--texturebg1);
  top: 0;
  left: 0;
  width: 100%;
  background-position: center;
  height: 100% !important;
  position: absolute;
  opacity: 1;
  z-index: -1;
}

/*
#footer .mod-custom::after {
  content: "";
  background-image: var(--texturebg1);
  top: 0;
  left: 0;
  width: 100%;
  background-position: center;
  height: 100% !important;
  position: absolute;
  opacity: 1;
  z-index: -1;
}
*/




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

.flexbox {
  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.row.bottom {
  align-items: flex-end;
}
.flexbox.row.top {
  align-items: flex-start;
}
.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 ********/
.fullheight {
 /* height: calc(100svh - var(--headheight)) !important;*/
  height: 100svh !important;
 min-height: 500px;
}
.fullheight90 {
  height:90svh !important;
  min-height: 500px;
}
.twothirdsheight {
  height:75svh !important;
   min-height: 400px;
}

.halfheight {
  height: 55svh !important;
  min-height: 400px;
}
.onethirdheight {
  height: 30svh !important;
  min-height: 300px;
}

.quarterheight {
  height: 25svh !important;
  min-height: 300px;
}


/********* RATIOS *************/

.imagewrapper.ratio4-3 {
  aspect-ratio: 4 / 3;
}
.imagewrapper.ratio3-4 {
  aspect-ratio: 3 / 4;
}
.imagewrapper.ratio1-1 {
  aspect-ratio: 1 / 1;
}
.imagewrapper.ratio3-2 {
  aspect-ratio: 3 / 2;
}



/******* 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;
}

.headmargin {
  margin-top: var(--headheight);
}


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

.sticky{
  position: sticky !important;
  position: -webkit-sticky !important;
}
.sticky.top {
    top: 120px;
}
.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
-------------------------------------------------------------------------
**/


::selection {
  background: var(--yellowbg);/* WebKit/Blink Browsers */
  color: var(--blacktext);
}
::-moz-selection {
  background: var(--yellowbg); /* Gecko Browsers */
   color: var(--blacktext);
}


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

p.mediumsize {
 /*margin-bottom: 15px !important;*/
}

h1{
 margin-bottom: 10px !important;
}
h2 {
 margin-bottom: 10px !important;
}
h3 {
 margin-bottom: 10px !important;
}
h4 {
 margin-bottom: 10px !important;
}

/** headings ***/

h1 {
  color: inherit;
  font-weight: inherit;
   line-height: inherit !important;
  font-size: inherit !important;
}

h2 {
  color: inherit;
  font-weight: inherit;
  line-height: inherit !important;
  font-size: inherit !important;
}

h3 {
  color: inherit;
  font-weight: inherit;
   line-height: inherit !important;
  font-size: inherit !important;
}
h4 {
  color: inherit;
  font-weight: inherit;
   line-height: inherit !important;
  font-size: inherit !important;
}


/**** SIZES ***/

.smallsize {
  font-size:var(--smallsize) !important;
  line-height: 130% !important;
}
.basesize {
  font-size:var(--basesize) !important;
  line-height: 140% !important;
  letter-spacing: var(--letterspacing-small);
}
.smallmediumsize {
  font-size: var(--smallmediumsize) !important;
  line-height: 130% !important;
  letter-spacing: var(--letterspacing-big);
}
.mediumsize {
  font-size: var(--mediumsize) !important;
  line-height: 120% !important;
  letter-spacing: var(--letterspacing-big);
}
.bigsize {
  font-size:var(--bigsize) !important;
  line-height: 110% !important;
  letter-spacing: var(--letterspacing-big);
}
.extrabigsize {
  font-size:var(--extrabigsize) !important;
  line-height: 110% !important;
  letter-spacing: var(--letterspacing-big);
}

/*
.projectbanner .extrabigsize {
  font-size:7rem !important;
  line-height: 110% !important;
  letter-spacing: var(--letterspacing-big);
}
*/


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

.blacktext {
  color:var(--blacktext) !important;
}
.opacity.blacktext {
  opacity: 0.3;
}
.greytext.opacity {
  opacity: 0.7;
}
.greytext {
  color:var(--greytext) !important;
}
.lightgreytext {
  color:var(--lightgreytext) !important;
}
.yellowtext {
  color:var(--yellowtext) !important;
}
.bronzetext {
  color: var(--bronzetext) !important;
}
.lightbronzetext {
  color: var(--lightbronzetext) !important;
}
.whitetext {
 color:var(--whitetext) !important;
}
.whitetext.opacity {
  opacity: 0.7;
}

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


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

/***** position ***/

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

.righttext {
  text-align:right !important;
}
.justifytext {
  text-align:justify !important;
}
.oblique {
  font-style: italic;
}
.uppercase {
  text-transform:uppercase !important;
}


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


/**** text icons ****/
.icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 20px auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.icon span {
  font-size: 60px;
  font-weight: 100;
}


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

#wrap_all {
  position: relative;
  width: 100%;
  float: left;
  background-color: var(--whitebg);
 /* transition: var(--transition2);*/
}

#wrap_body {
  position: relative;
  width: 100%;
  float: left;
  z-index: 3;
  /*** margin-top: 0 !important; ***/
  
  /*** for fixed footer ***/
  margin-bottom: var(--footerheight) !important;
background-color: var(--whitebg);

}
.inverthead #wrap_body, .onsubmenu #wrap_body {
  margin-top: 0 !important;
}

#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;
}



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

#head {
  position: fixed;
  height: var(--headheight);
  transform: translate3d(0,0,0);
  z-index: 99;
  width: 100%;
 /* background: linear-gradient(rgba(25, 24, 23, 0.35) 0%, rgba(25, 24, 23, 0) 100%);*/
  transition: var(--transition2);
}
/** show hide  --- not working ***/

#head.hide-header {
  /*top: calc(var(--headheight)*-1);*/
  top: 0;
}
#head.show-header {
  top: 0;
}


/*** show background ***/

#head::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: var(--whitebg);
  top: 0;
  position: absolute;
  z-index: 0;
  transition: var(--transition2);
}

#head.active::after {
  top: 0;
}






/*** wrap elements ***/
#head .headwrapper {
  padding-left: var(--sidepadding);
  padding-right: var(--sidepadding);
  display: flex;
  align-items: center;
  justify-content: space-between;

/* new */
  position: relative;
  width: 100%;
  margin:0px auto;
  transform: translate3d(0px, 0px, 0px);
  z-index: 99;
  height: var(--headheight);
  transition: var(--transition2);
  
}
/*
#head .headwrapper::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  left: 0px;
  top: 0px;

}
*/

/** logo ***/
#head .logo {
  height: var(--headheight);
  width: 110px;
  display: flex;
  align-items: center;
  filter: none;
}
#head .logo a {
  opacity: 1 !important;
  width: 100%;
}
/** menus **/
#head .headwrapper .navigation {
  display: flex;
  align-items: center;
}
#head .navigation .mainmenu ul {
  padding: 0;
  margin: 0;
  display: flex;
}
#head .navigation li {
  display: initial;
  padding: 0;
  margin: 0;
}
#head .navigation li a {
  border: 0 !important;
  padding: 0 12px !important;
  color: var(--greytext) !important;
  opacity:1 !important;
  font-size: 1rem !important;
 /* font-size: var(--basesize) !important;*/
}
#head .navigation li a:hover, #head .navigation li.active a {
  color: var(--blacktext) !important;
   opacity:1 !important;
}

/*** burger button - open panel **/
#head .navigation .burgermenu {
  margin-left: 15px;
  /*margin-right: -10px;*/
}
#head .navigation .burgermenu a, #head .navigation .burgermenu button {
  opacity: 1 !important;
  /*display: block;*/
  /*padding: 10px;*/
  background-color: transparent;
  border: 0;
  height: var(--headheight);
}
#head .navigation .burgermenu .burgericon {
  width: 40px;
  height: 40px;
  border: 0px solid var(--blackbg);
  border-radius: 0%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
   -webkit-transition: var(--transition2);
  -moz-transition: var(--transition2);
  -o-transition: var(--transition2);
  transition: var(--transition2);
}

#head .navigation .burgermenu a:hover .burgericon, #head .navigation .burgermenu button:hover .burgericon {
  opacity:0.8;
}
#head .navigation .burgermenu .burgericon span {
 /* font-size: 20px;
  font-weight: 300;*/
  font-size: 30px;
  font-weight: 200;
  color: var(--blacktext) !important;
}
/** when head is active white bg ***/
#head.active .navigation .burgermenu .burgericon {
  border: 0px solid var(--blackbg);
}

/**** inverted head - over image or dark mode **/
/** using body.is-loaded.inverthead is because of the page transition - if dont have page transition no need ****/


/** on invert head, background starts off canvas ***/
.inverthead #head::after {
  top: calc(var(--headheight)*-1);
}
.inverthead #head.active::after {
   top: 0;
}


/** logo ***/
body.is-loaded.inverthead #head .logo {
  filter: invert() brightness(2);
   transition: var(--transition4);
}
body.is-loaded.inverthead #head.active .logo {
  filter: none;
}
/*** menus ***/
body.is-loaded.inverthead #head .navigation li a {
  color: var(--whitetext) !important;
  opacity:0.8 !important;
   transition: var(--transition4);
}
body.is-loaded.inverthead #head.active .navigation li a {
  color: var(--greytext) !important;
  opacity:1 !important;
}
body.is-loaded.inverthead #head .navigation li a:hover, body.is-loaded.inverthead #head .navigation li.active a {
  color: var(--whitetext) !important;
   opacity:1 !important;
}
body.is-loaded.inverthead #head.active .navigation li a:hover, body.is-loaded.inverthead #head.active .navigation li.active a {
  color: var(--blacktext) !important;
   opacity:1 !important;
}
/*** more ***/
body.is-loaded.inverthead #head .navigation .burgermenu .burgericon span {
  color: var(--whitetext) !important;
}
body.is-loaded.inverthead #head .navigation .burgermenu .burgericon {
  border: 0px solid var(--whitebg);
}
body.is-loaded.inverthead #head.active .navigation .burgermenu .burgericon {
  border: 0px solid var(--blackbg);
}
body.is-loaded.inverthead #head.active .navigation .burgermenu .burgericon span {
  color: var(--blacktext) !important;
}
body.is-loaded.inverthead #head.active .navigation .burgermenu .burgericon:hover {
  border: 0px solid var(--blackbg) !important;
}

/*** mobile menu take out border ***/
body.is-loaded.inverthead #head.active .navigation.navmobile .burgermenu .burgericon:hover {
border: 0px solid var(--blackbg) !important;
}
body.is-loaded #head .navigation.navmobile .burgermenu .burgericon:hover {
border: 0px solid var(--blackbg) !important;
}




/**
-------------------------------------------------------------------------
::::::::  NAV burger
-------------------------------------------------------------------------
**/


/*********** ENGAGE BOX version *******************/

.submenu-panel-box .submenu-content {
  margin-top: 0;
  padding-top: var(--verticalsmallpadding);
  padding-bottom: var(--verticalpadding);
  padding-left: var(--sidepadding);
  padding-right: var(--sidepadding);

}


.submenu-panel-box .submenus ul {
  display: block;
  text-align: right;
}

.submenu-panel-box .submenu-content .submenus a {
  /*font-size: var(--mediumsize) !important;*/
  font-size: 1.8rem;
  line-height: 150% !important;
  color: var(--blacktext) !important;
  opacity:1;
  text-decoration: none !important;
}
.submenu-panel-box .submenu-content .submenus a:hover {
   opacity:0.5;
}

/*** animation ***/

@keyframes slideupmenu {
    0%   {transform: translateY(-30px);opacity: 0;}
    100% {transform: translateY(0);opacity: 1;}
}
  

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

.topNavBox .nav-item.topmenuanim {
   animation-name: slideupmenu;
   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;    

}


/* Stagger effect */
.topNavBox .nav-item.topmenuanim:nth-child(1) { -webkit-animation-delay: .05s; animation-delay: .05s; }
.topNavBox .nav-item.topmenuanim:nth-child(2) { -webkit-animation-delay: .1s; animation-delay: .1s; }
.topNavBox .nav-item.topmenuanim:nth-child(3) { -webkit-animation-delay: .15s; animation-delay: .15s; }
.topNavBox .nav-item.topmenuanim:nth-child(4) { -webkit-animation-delay: .2s; animation-delay: .2s; }
.topNavBox .nav-item.topmenuanim:nth-child(5) { -webkit-animation-delay: .25s; animation-delay: .25s; }
.topNavBox .nav-item.topmenuanim:nth-child(6) { -webkit-animation-delay: .3s; animation-delay: .3s; }
.topNavBox .nav-item.topmenuanim:nth-child(7) { -webkit-animation-delay: .35s; animation-delay: .35s; }

 


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

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

/*** for fixed footer ***/
#footer .mod-custom {
  width: 100% !important;
  position: fixed;
  bottom: 0;
  height: var(--footerheight);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: var(--blackbg);
}

/*#footerwrapper {
  background-color: transparent !important;
}*/

#footer #footerwrapper .footermenus {
  margin-top: 7px;
}
#footer #footerwrapper .footermenus .footermenustitle {
  margin-bottom: 10px;
  font-size: 1rem !important;
}
#footer #footerwrapper ul {
  display: flex;
  flex-direction: column;
}
#footer #footerwrapper ul a {
  line-height: 180%;
  color: var(--greytext) !important;
  letter-spacing: var(--letterspacing-small) !important;
  font-size: 1rem !important;
}
#footer #footerwrapper ul a:hover {
  opacity: 1 !important;
  color: var(--blacktext) !important;
}
/*** on black footer version ***/
#footer #footerwrapper.blackbg ul a {
  color: var(--lightgreytext) !important;
}
#footer #footerwrapper.blackbg ul a:hover {
  opacity: 1 !important;
  color: var(--whitetext) !important;
}

#footer .copyright {
  padding-bottom: 40px !important;
  padding-left: var(--sidepadding);
  padding-right: var(--sidepadding);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#footer .copyright p {
  margin-bottom: 0px !important;
  font-size: 0.75rem !important;
}
/*
#footer .zed {
  position: absolute;
  right: var(--sidepadding);
  bottom: 38px;
}*/
.zed a {
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex;
}
#footer .zed img {
  width: 50px;
  height: 12px;
}


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

.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: var(--blackbg);
}

.imagewrapper img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  
  -webkit-transition: var(--transition2);
  -moz-transition: var(--transition2);
  -o-transition: var(--transition2);
  transition: var(--transition2);

}

/** 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;
  display: flex;
  width: 100%;
  height: 100%;
  /*clip-path: border-box;*/
  /*clip-path: inset(-2px);*/

  transition: var(--transition2);
}

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

.bannerover.rightside:after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 75%;
  height: 100%;
  right: 0px;
  top: 0px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
}
.bannerover.leftside:after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 75%;
  height: 100%;
  left: 0px;
  top: 0px;
  background: linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
}
.bannerover.bottomside::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 70%;
  left: 0px;
  bottom: -1px;
  background: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
}

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

.bannerunder img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  -webkit-transition: var(--transition2);
  	-moz-transition: var(--transition2);
  	-o-transition: var(--transition2);
  	transition: var(--transition2);

}


/**** intro banner - image + intro text combination ****/
.introbanner {
  min-height: 100svh !important;
}

.introbanner .bannerunder {
  height: 65svh !important;
  min-height: 500px !important;
}
.introbanner .imagewrapper, .introbanner .videoWrapper {
  height:100%;
  width:100%;
}

/**** info block - image + text below ****/
.infoblock {
  position: relative;
}
.infoblock .image {
  margin-bottom: 30px;
  overflow: hidden;
  background-color: #000;
  aspect-ratio: 4 / 3;

}
.infoblock.social .image {
  margin-bottom: 30px;
  overflow: hidden;
  background-color: #000;
  aspect-ratio: 3 / 4;

}


.infoblock .image img, .infoblock .image video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  -webkit-transition: var(--transition1);
  	-moz-transition: var(--transition1);
  	-o-transition: var(--transition1);
  	transition: var(--transition1);
}

.infoblock .body{
  /*padding-top: 20px;*/
}

.infoblock .body h3, .infoblock .body .title  {
  font-size: var(--smallmediumsize) !important;
  line-height: 130% !important;
  letter-spacing: var(--letterspacing-big);
  margin-bottom: 10px !important;
  color: var(--blacktext) !important;

}
.infoblock .body p {
  font-size: var(--smallmediumsize);
  color: var(--basetext);
  line-height: 130% !important;
  letter-spacing: var(--letterspacing-big);
  margin-bottom: 0 !important;
}


/**** asset banners ****/

.predevAsset {
  position:relative;
}
.predevAsset::after {
  content: "";
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 50%;
  left: 0px;
  bottom: 0px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
}
.predevAsset .col-md-12 {
  position: absolute;
  top: 22%;
}

.predevAsset .imagewrapper {
  margin-bottom: 0px;
  height: 60svh;
  min-height: 550px;
  overflow: hidden;
  background-color: #000;
  
}
.predevAsset .title {
  font-size: var(--mediumsize);
  color: var(--lightbronzetext);
  margin-bottom: 30px !important;
}
.predevAsset .info {
  color: var(--whitetext);
  font-size: var(--basesize);
}


/**** big banners *****/

.portfolioAsset .bannerover {
  background-color: rgba(0,0,0,0.5);
}
.portfolioAsset .asssetInfo {
  color: var(--whitetext);
  font-size: var(--basesize) !important;
}

.portfolioAsset .imagewrapper {
  height: 90svh;
  min-height: 500px;
}




/****** over link on banners ***/
.overlink {
  position: absolute;
  z-index: 4;
  width: 100%;
  height: 100%;
  font-size: 0;
  top: 0;
  border: 0 !important;
  padding: 0 !important;
}
.overlink:hover ~ .imagewrapper img {
  transform: scale(1.03);
  filter: none;
}

/** for asset banners ***/
.assetbanner .overlink:hover ~ .image img {
  transform: scale(1.03);
  filter: none;
}

/** for info blocks (image + content) with overlink ***/
.infoblock .overlink:hover ~ .image img {
  transform: scale(1.03);
}
.infoblock .overlink:hover ~ .body .arrowlink::after, .assetbanner .overlink:hover ~ .body .arrowlink::after {
  transform: translate3D(10px, 1px, 0);
}

/******* TEXT BLOCK - for texts on side images ****/
.textblock h3, .textblock .title {
  font-size: var(--smallmediumsize) !important;
  line-height: 130% !important;
  letter-spacing: var(--letterspacing-big);
  margin-bottom: 10px !important;
  color: var(--blacktext) !important;

}
.textblock p {
  font-size: var(--smallmediumsize);
  color: var(--basetext);
  line-height: 130% !important;
  letter-spacing: var(--letterspacing-big);
  margin-bottom: 0px !important;
}




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

input::-moz-focus-inner { 
  border: 0; 
}
a:hover, a:active, a:focus {
 outline: 0;
}
button:hover, button:active, button:focus {
   outline: 0;
}
button {
  background-color: transparent;
  padding: 0;
  border: 0;
   outline: 0;
}
a {
  color: inherit !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 5px !important;
  opacity: 1;
  position: relative;
 /* display: inline-block;*/
  -webkit-transition: var(--transition2);
  -moz-transition: var(--transition2);
  -o-transition: var(--transition2);
  transition: var(--transition2);
}

/*** for links without href and only id to call engage box ***/
#showForm {
  cursor: pointer;
}

/*
p a::after {
  content: '';
  width: 100%;
  height: 1px;
  position: relative;
  background-color: var(--basetext) !important;
  display: block;
  bottom: 3px;
}
*/


a:hover {
  opacity: 0.6;
}

a:hover img {
  	opacity: 1; 
}

#head a, #footer a {
  text-decoration: none !important;
}


/***** arrow link ****/

.link {
 position: relative;
  text-decoration:none !important;
  border:0 !important;
  display: inline-block;
   -webkit-transition: var(--transition2);
  -moz-transition: var(--transition2);
  -o-transition: var(--transition2);
  transition: var(--transition2);
}

.link:hover {
  opacity:1;
}

.link::after {
  content: '';
  position: relative;
  height: 1px;
  background-color: var(--basetext);
  transition: width 0.3s ease;
  display: block;
  margin-top: 5px;
  width: 100%;
}
.link:hover::after {
  width: calc(100% + 20px);
}
/** for links with color **/
.link.whitetext {
  opacity:0.7;
}
.link.whitetext:hover{
  opacity:1;
}
.link.whitetext::after {
  background-color: #fff;
}

.link.blacktext::after {
  background-color: var(--blacktext);
}
.link.greytext::after {
  background-color: var(--greytext);
}
.link.yellowtext::after {
  background-color: var(--yellowtext);
}




/**** arrow link ***/
.arrowlink {
  display: inline-flex;
  align-items: center;
  opacity: 1;
  text-decoration: none !important;
   letter-spacing: var(--letterspacing-small) !important;
}
.arrowlink:hover {
  opacity: 0.7 !important;
}
.arrowlink::after {
  content: "\e941";
  font-family: 'Material Symbols Outlined';
  font-weight: 300;
   transform: translate3D(6px, 1px, 0);
   -webkit-transition: var(--transition2);
  -moz-transition: var(--transition2);
  -o-transition: var(--transition2);
  transition: var(--transition2);
}

.arrowlink:hover::after {
   transform: translate3D(10px, 1px, 0);
}

.arrowlink.mediumsize, .arrowlink.smallmediumsize {
  letter-spacing: var(--letterspacing-big) !important;
}


/*** when the arrow link is grey text ***/
.arrowlink.greytext:hover {
 /* color: var(--blacktext) !important;*/
}

.arrowlink.whitetext {
  opacity:0.7;
}
.arrowlink.whitetext:hover {
  opacity: 1 !important;
}

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

.bot {
  border-radius: 0;
  border: 1px solid var(--blackbg);
  background-color: transparent;
  color: var(--blacktext);
  padding: 20px 40px;
  font-weight: var(--medium);
  text-decoration: none !important;
  font-size: var(--smallsize);
  display: inline-flex;
  line-height: 100%;
   -webkit-transition: var(--transition2);
  -moz-transition: var(--transition2);
  -o-transition: var(--transition2);
  transition: var(--transition2);
}

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

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





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


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

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

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



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

/** icon **/
.ui-accordion .panelicon {
  width: 15px;
  position: relative;
  height: 15px;
  margin-right: 0px;
  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: var(--transition2);
  -moz-transition: var(--transition2);
  -o-transition: var(--transition2);
  transition: var(--transition2);
}

.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;
}



/***** on BLACK BG ****/
.ui-accordion.blackbg .tab .title {
  color: var(--lightgreytext) !important;
}
.ui-accordion.blackbg .tab.ui-state-active .title {
  color: var(--whitetext) !important;
}
.ui-accordion.blackbg .tab {
  border-bottom: 1px solid #555;
}
.ui-accordion.blackbg .panelicon::before {
  box-shadow: 1px 1px 0 var(--whitetext);
} 
.ui-accordion.blackbg .panelicon::after {
  box-shadow: 1px 1px 0 var(--whitetext);
} 




/**
-------------------------------------------------------------------------
::::::::  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(--basetext) !important;
  font-size: var(--basesize);
}

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

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



/**
-------------------------------------------------------------------------
::::::::  GRID
-------------------------------------------------------------------------
**/
.grid.col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 40px;
  row-gap: 40px;
}
.grid.col3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
 column-gap: 40px;
  row-gap: 40px;
}
.grid.col4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 40px;
  row-gap: 40px;
}
.grid.col5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
 column-gap: 40px;
  row-gap: 40px;
}
.processfocus.grid.col5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 15px;
  row-gap: 15px;
}
.grid.col3.col1-2 > :first-child {
  grid-column: 1/2;
}
.grid.col3.col1-2 > :last-child {
  grid-column: 2/4;
}
.item .mod-custom {
  position: relative;
  height: 100%;
}


.grid.assetgrid {
  column-gap: 20px !important;
  row-gap: 20px !important;
}





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

.scroller {
  display: flex !important;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  flex-direction: row;
  padding-bottom: 25px !important;
  scrollbar-gutter: stable; /* improves layout where supported */
 
}
/* Firefox fallback */
.scroller {
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,.28) rgba(0,0,0,.06);
}

.scroller.col4 .item {
  width: 25vw;
  min-width: 25vw;
}
.scroller.col3 .item {
  width: 33vw;
  min-width: 33vw;
}
.scroller.col2 .item {
  width: 50vw;
  min-width: 50vw;
}



/**** STYLE HORIZONTAL SCROLL BAR *****/

.scroller::-webkit-scrollbar {
  height: 8px;
}

.scroller::-webkit-scrollbar-track {
  background: rgba(0,0,0,.06);
  border-radius: 999px;
}

.scroller::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,.28);
  border-radius: 999px;
}

.scroller::-webkit-scrollbar-thumb:hover {
  background: rgba(0,0,0,.42);
}






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


/*** full gallery - all images fit container ***/
.fullgallery {
  height: 100%;
  max-width: 100% !important;
}
.fullgallery .igui-scope {
  height: 100%;
  max-width: 100% !important;
}
.fullgallery  .ig-gallery-wrapper {
  height: 100%;
  max-width: 100% !important;
}

.fullgallery .ig-slideshow > div {
  height: 100%;
  max-width: 100% !important;
}
.fullgallery .ig-slideshow ul {
  height: 100% !important;
  max-width: 100% !important;
}
.fullgallery .igui-slideshow-items li {
   height: 100% !important;
  max-width: 100% !important;
}
.fullgallery .ig-slideshow-item-inner-lboxon {
  height: 100% !important;
  width: 100%;
}
.fullgallery .ig-slideshow-image {
  margin: 0px !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}


/**** slideshow *****/


.ig-slideshow-button {
  opacity: 1 !important;
  padding: 0 !important;
  text-decoration: none !important;
  transform: translateY(-50%) translateY(0px) !important;
}
.ig-slideshow-button svg {
  display: none;
}
.ig-slideshow-button-right::after {
  content: "\e941";
  color: #fff !important;
  height: 100px;
  font-size: 60px;
  line-height: 120%;
  font-family: 'Material Symbols Outlined';
  opacity: 1 !important;
  background-color: transparent;
  width: 100px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 100;
  border-radius: 0%;
}
.ig-slideshow-button-left::after {
  content: "\ef7d";
 color: #fff !important;
  height: 100px;
  font-size: 60px;
  line-height: 120%;
  font-family: 'Material Symbols Outlined';
  opacity: 1 !important;
  background-color: transparent;
  width: 100px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 100;
  border-radius: 0%;
}

.ig-lbox-open-icon {
  z-index: 5;
  margin: 8px !important;
  padding: 0px !important;
  display: none !important;
}




/***** LIGHTBOX *****/
.igui-lightbox {
  background: var(--whitebg);
}
.igui-lightbox-items li {
  padding: 100px !important;
}

.ig-lightbox-button {
  opacity: 1 !important;
  padding: 0 !important;
  text-decoration: none !important;
  transform: translateY(-50%) translateY(0px) !important;
 /* padding: 5vw !important;*/
}
.igui-lightbox-toolbar {
  background: transparent;
  transform: none !important;
}
.ig-lightbox-button svg {
  display: none;
}
.ig-lightbox-button-right::after {
  content: "\e941";
  color: var(--blacktext) !important;
  height: 100px;
  font-size: 60px;
  line-height: 120%;
  font-family: 'Material Symbols Outlined';
  opacity: 1 !important;
  background-color: #fff;
  width: 100px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 100;
  border-radius: 0%;
}
.ig-lightbox-button-left::after {
  content: "\ef7d";
  color: var(--blacktext) !important;
  height: 100px;
  font-size: 60px;
  line-height: 120%;
  font-family: 'Material Symbols Outlined';
  opacity: 1 !important;
  background-color: #fff;
  width: 100px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 100;
  border-radius: 0%;
}

.igui-lightbox-toolbar .igui-close {
  padding: 0 !important;
  opacity: 1 !important;
  text-decoration: none !important;
  margin: 0 !important;
}

.igui-lightbox-toolbar .igui-close svg {
  display:none;
}

.igui-lightbox-toolbar .igui-close:after {
  content: "\e5cd";
  color: var(--blacktext) !important;
  height: 100px;
  font-size: 60px;
  line-height: 120%;
  font-family: 'Material Symbols Outlined';
  opacity: 1 !important;
  background-color: #fff;
  width: 100px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 100;
  border-radius: 0%;
}

/*
------------------------------------------------------------------------------------------------------
:::::::: NEWSROOM
------------------------------------------------------------------------------------------------------
*/

/**** nav ***/
.newsnav ul li a {
  font-size: var(--smallmediumsize);
  text-decoration: none !important;
  margin-right: 15px;
  color: var(--greytext) !important;
  letter-spacing: var(--letterspacing-big) !important;
  margin-bottom: 10px !important;
  display: inline-block;
}
.newsnav ul li.current a {
  color: var(--blacktext) !important;
}
.newsnav ul li a:hover, .newsnav ul li a:focus {
  color: var(--blacktext) !important;
  opacity: 1 !important;
}

/** set the layout for the listing **/

body.newslist .blog-items {
  display: grid;
  padding-left: var(--sidepadding);
  padding-right: var(--sidepadding);
  padding-top: var(--verticalsmallpadding);
  padding-bottom: var(--verticalsmallpadding);
  grid-template-columns: repeat(3, 1fr);
  column-gap: 45px;
  row-gap: 75px;
}

/*** styling the newsitem block ***/
.newsitem {
  position: relative;
}
/** overlink ***/
.newsitem .overlink:hover ~ .image img {
  transform: scale(1.03);
  opacity:1;
}
.newsitem .overlink:hover ~ .content .title {
  opacity: 1;
}
.newsitem .overlink:hover ~ .link::after {
  width: calc(100% + 20px);
}

.newsitem .image {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background-color: #000;
  margin-bottom: 30px;
}
.newsitem .image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  -webkit-transition: var(--transition1);
  -moz-transition: var(--transition1);
  -o-transition: var(--transition1);
  transition: var(--transition1);
}

.newsitem .content {
  margin-top: 0;
  display: inline-block;
}
.newsitem .content .source {
  font-size: 12px;
  margin-bottom: 15px;
}
.newsitem .content .title {
  font-size: var(--smallmediumsize);
  color: var(--blacktext) !important;
  line-height: 130%;
  margin-bottom: 5px;
  letter-spacing: var(--letterspacing-big) !important;
  -webkit-transition: var(--transition2);
  -moz-transition: var(--transition2);
  -o-transition: var(--transition2);
  transition: var(--transition2);
}
.newsitem .content .body {
  font-size: var(--basesize) !important;
  display:none;
}
.newsitem .link {
  color: var(--blacktext);
   font-size: var(--basesize) !important;
  display:none;
}
.newsitem .content .link::after {
  display: none;
}

/***** for news flash articles module ****/
.newsflashtitle {
  display: flex;
  justify-content: space-between;
  margin-bottom: var(--verticalsmallpadding);
}

.newsflash .mod-articles-items {
  padding: 0;
}
.newsflash .mod-articles-items {
  padding: 0;
  list-style: none;
}
.newsflash .mod-articles-grid {
  --grid-layout-gap: 45px;
  margin-bottom: 0 !important;
}


/**************************** 
NEWS PAGE 
******************************/

.newspage {
  margin-top: var(--headheight);
}

.newspage .newscontent {
  padding-top: var(--verticalpadding);
  width: calc(100vw / 12 * 7);
  padding-left: var(--sidepadding);
  padding-right: var(--sidepadding);
  margin: 0 auto;
  padding-bottom: var(--verticalpadding);
}
.newspage .newscontent .title {
  font-size: var(--bigsize) !important;
  color: var(--blacktext) !important;
  margin-bottom: 20px !important;
  line-height: 110% !important;
}
.newspage .source {
  font-size: var(--smallsize);
  color: var(--greytext) !important;
  opacity: 0.7;
  margin-bottom: 20px !important;
  display: inline-block;
}

.newspage .newscontent .content {
  margin-top: 0px;
   margin-bottom: 0px;
}
.newspage .newsimage {
  padding-left: var(--sidepadding);
  padding-right: var(--sidepadding);
}


/**************************** 
NEWS SLIDER
******************************/

#newsbannerslider .carousel-arrows {
  display: flex;
  background-color: rgba(0,0,0,0);
  position: absolute;
  bottom: 15px;
  height: 50px;
  width: 101px;
  right: var(--sidepadding);
  z-index: 3;
}

#newsbannerslider .carousel-control-next, #newsbannerslider .carousel-control-prev {
  width: 50px;
  height: 50px;
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 15px;
  backdrop-filter: blur(3px);
  -webkit-transition: var(--transition2);
  -moz-transition: var(--transition2);
  -o-transition: var(--transition2);
  transition: var(--transition2);
}

#newsbannerslider .carousel-control-next:hover, #newsbannerslider .carousel-control-prev:hover {
  background-color: rgba(255, 255, 255, 0.3);
}


#newsbannerslider .carousel-indicators {
  margin-bottom: 20px;
  height: 27px;
  z-index: 3;
}

/***** content animation ******/
@keyframes fadeSlideUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

#newsbannerslider .carousel-item .bannercontent {
  opacity:0;
}

#newsbannerslider .carousel-item.active .bannercontent {
  animation: fadeSlideUp .5s ease-out forwards;
}

/***** styling the newsbanner ***/
.newsbanner p {
  color: var(--whitetext);
 font-size: var(--mediumsize) !important;
  line-height: 120% !important;
  letter-spacing: var(--letterspacing-big);
}


/*
------------------------------------------------------------------------------------------------------
:::::::: LOGOS
------------------------------------------------------------------------------------------------------
*/

.logo-slider {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative;
  padding-top: 3svh;
  padding-bottom: 3svh;
}

.logo-track {
  display: flex;
  animation: scrolling var(--marquee-animation-duration) linear infinite;
}

.logo-track img {
  flex-shrink: 0;
  width: var(--marquee-element-width);
  height: 140px;
  object-fit: contain;
  margin-right: 0;
  padding: 50px 50px;
  filter: saturate(0);
}


/* Optional: pause on hover */

.logo-slider:hover .logo-track {
  animation-play-state: paused;
}


/* Continuous scroll */

@keyframes scrolling {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-1 * var(--marquee-element-width) * var(--marquee-elements))); }
}



/*
------------------------------------------------------------------------------------------------------
:::::::: PARTNERS LOGOS
------------------------------------------------------------------------------------------------------
*/

.partnerlogo {
height: 25svh !important;
  min-height: 250px;
  background-color: var(--whitebg);
  display: flex;
  align-items: center;
  justify-content: center;
}
/*** white logo ***/
/*
.partnerlogo img {
  filter: saturate(0) invert();
  max-width: 300px;
  max-height: 80px !important;
  object-fit: contain;
}*/
/** black logo ***/
.partnerlogo img {
  filter: saturate(0);
  max-width: 200px;
  max-height: 70px !important;
  object-fit: contain;
  mix-blend-mode: darken;
  width: 45%;
}






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

.teamMembersWrapper {
 /* padding-bottom: var(--verticalpadding);*/
}

.teamMember {
  padding-bottom: var(--verticalsmallpadding);
  margin-left: 2vw !important;
}
.teamNav a {
  font-size: var(--smallmediumsize);
  color: ;
}
.teamMemberImage.imagewrapper {
  /*height: 70svh;*/
 /* min-height: 450px;*/
}
.teamMemberName {
  font-size: var(--smallmediumsize) !important;
  color: var(--blacktext);
  margin-bottom: 5px !important;
}
.teamMemberPosition {
  /*font-size: var(--smallsize);
  margin-bottom: 0 !important;
  display: inline-block;*/
  opacity: 1;
}
.teamMemberText {
  margin-top: 20px;
  font-size: var(--basesize);
  margin-bottom: 0 !important;
}
.teamMemberText.education {
  opacity:1;
}
.teamMemberProfile a, .teamMemberProfile button {
  color: var(--blacktext) !important;
  font-size: var(--basesize) !important;
}



/*
------------------------------------------------------------------------------------------------------
:::::::: CAREERS
------------------------------------------------------------------------------------------------------
*/


/*
------------------------------------------------------------------------------------------------------
:::::::: ASSET PAGE
------------------------------------------------------------------------------------------------------
*/




/*
------------------------------------------------------------------------------------------------------
:::::::: FORM
------------------------------------------------------------------------------------------------------
*/
/*** styling wrapper ***/
.formwrapper {
  padding-top: var(--verticalpadding);
  padding-bottom: var(--verticalpadding);
  padding-left: var(--sidepadding);
  padding-right: var(--sidepadding);
  background-color: var(--whitebg);
}
.formintro {
  display: inline-block;
}
.loadform {
 /* display: inline-block;*/
  width: 100%;
  margin-left: 15px !important;
}
/** styling form ***/

.form {
  background-color: transparent;
}

.form .cf-control-group {
  padding: 5px 10px !important;
}

.form  .cf-label {
  display: inline-block !important;
  width: auto;
  font-size: var(--smallsize) !important;
  color: var(--greytext) !important;
}
.form .cf-heading {
  font-size: var(--smallmediumsize) !important;
  color: var(--blacktext);
   margin-bottom: 5px !important;
  margin-top: 20px;
}
.form .formTitle .cf-heading {
  margin-top: 0 !important;
}
.form .cf-form-wrap {
  padding: 0 !important;
}
.form .cf-input {
  border-radius: 0 !important;
  background-color: transparent !important;
  border: 1px solid var(--greyborder) !important;
  color: var(--blacktext) !important;
}
.form .cf-phone-number-wrapper > .tf-phone-control {
  border: 0 !important;
  border-radius: 0 !important;
}
.form .cf-phone-number-wrapper {
  background-color: transparent !important;
  border: 1px solid var(--greyborder) !important;
  border-radius: 0 !important;
}
.form .cf-phone-number-wrapper > .tf-phone-control {
  border-radius: 0 !important;
}
.form .tf-phone-control--flag img {
  display: none !important;
}
.form .tf-phone-control--flag > .choices__list .choices__item img {
  display: none !important;
}
.form .cfupload .dz-message {
  background-color: transparent !important;
  border: 1px solid var(--greyborder) !important;
  border-radius: 0 !important;
  color: var(--blacktext) !important;
}
.form .cf-control-group.recaptcha {
  margin-top: 15px;
}
.form .cf-recaptcha-v3-text-badge {
  margin: 0 !important;
  font-size: var(--smallsize) !important;
  color: var(--greytext) !important;
}
.form .botSubmit .cf-btn {
  background-color: var(--blackbg);
  border: 1px solid var(--blacktext) !important;
  border-radius: 0 !important;
  padding: 15px 35px;
  font-size: var(--basesize) !important;
  margin-top: 20px;
  font-weight: 400 !important;
}

/** sucess message **/
.form.cf-success .title {
  color: var(--blacktext) !important;
}
.form.cf-success .separator {
  margin-top: 30px;
  margin-bottom: 30px;
  background-color: 1px solid var(--greyborder);
}
.form.cf-success .signature_intro {
  margin-top: 30px;
}
.form.cf-success .signature {
  color: var(--blacktext);
}
.form.cf-success strong {
  font-weight: 400 !important;
  color: var(--blacktext);
}
.form.cf-success .cf-response {
  background-color: var(--greybg) !important;
  display: block !important;
  color: var(--basetext) !important;
  border-radius: 0 !important;
  padding-left: var(--sidepadding);
  margin-top: 0;
  width: 100% !important;
  text-align: left;
  line-height: 140%;
  padding-right: var(--sidepadding);
  padding-top: var(--verticalsmallpadding);
  padding-bottom: var(--verticalpadding);
}




/***** INTRO PORTFOLIO ******/

.portfolioIntro {
  clip-path: inset(0);
}
.portfolioIntro .contentWrapper {
  z-index: 2;
  position: relative;
}



/** if video **/

.portfolioIntro .videoWrapper {
  opacity: 1;
  position: fixed;
  top: 0 !important;
  width: 100% !important;
  clip-path: inset(0);
  height: 120dvh;
}


/** if image ***/

.portfolioIntro .imagewrapper {
  opacity: 1;
  position: fixed;
  top: 0 !important;
  width: 100% !important;
  clip-path: inset(0);
  height: 100dvh;
    background-color: transparent !important; 
  -webkit-transform: translateZ(0);
  transform: translateZ(0);

  will-change: transform;
  backface-visibility: hidden;
  
}



.portfolioIntro .imagewrapper img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}



/****** TRACK RECORD *****/

.trackrecordWrapper {
  border: 1px solid var(--greyborder);
  padding-top: var(--verticalpadding);
  padding-bottom: var(--verticalpadding);
  padding-left: var(--sidepadding);
  padding-right: var(--sidepadding);
  position: relative;
}
.trackrecordItem {
  color: var(--whitetext);
  text-align: center;
}
.trackrecordItem .description {
  font-size: var(--smallsize);
  opacity: 0.7;
}
.trackrecordItem .number {
  font-size: var(--extrabigsize);
  line-height: 100%;
  color: var(--yellowtext);
}

/** on white bg - project page + investors ***/
.trackrecordWrapper.whitebg, .trackrecordWrapper.greybg {
  background-color: transparent !important;
}
.trackrecordWrapper.whitebg .whitetext {
  color: var(--blacktext) !important;
}
.trackrecordWrapper.whitebg .trackrecordItem, .trackrecordWrapper.greybg .trackrecordItem {
  color: var(--basetext);
}
.trackrecordWrapper.whitebg .trackrecordItem .description, .trackrecordWrapper.greybg .trackrecordItem .description {
  font-size: var(--smallsize);
  opacity: 1;
}
.trackrecordWrapper.whitebg .trackrecordItem .number, .trackrecordWrapper.greybg .trackrecordItem .number {
  /*color: var(--yellowtext);*/
  color: var(--bronzetext);
 
}

/** increasing numbers **/
.counter {
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.05em;
}



/*************  TIMELINE  ****************/
.timeline {
  display: flex;
  overflow-x: scroll;
  gap: 20px;
  padding-bottom: 25px;
}

.timelineblockwrapper {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 0;
  -webkit-overflow-scrolling: touch;
  border-top: 1px solid var(--greyborder);
  padding-top: 20px;
  height: 100%;
}

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

.timelineyearblock .yearwrapper {
  position: sticky;
  left: 0;
  top: 0;
}

.timelineyearblock .year {
  margin-bottom: 10px !important;
  font-size: var(--smallmediumsize);
  color: var(--blacktext);
  width: 100% !important;
}
.timelineblock {
  width: 400px;
  background-color: var(--whitebg);
  padding: 30px 30px 60px 30px;
  height: 100%;
}

.timelineblock .image {
  height: 250px;
  text-align: center;
  margin-bottom: 20px;
}

.timelineblock .image img {
  object-fit: contain;
  width: auto;
  height: 100%;
}
.timelineblock .caption {
  text-align: center;
}




/*
------------------------------------------------------------------------------------------------------
:::::::: SCROLL REVEAL
------------------------------------------------------------------------------------------------------
*/ 


/* Base hidden state */
.reveal {
  opacity: 0;
  will-change: opacity, transform;
  transition-property: opacity, transform;
  transition-duration: 700ms;
  transition-timing-function: cubic-bezier(.18,.3,.65,1);
}
.reveal {
  min-height: 1px;
}
/* Variants */
.reveal.fadein {
  transform: none;
}

.reveal.slideup {
  transform: translateY(50px);
}

.reveal.slidedown {
  transform: translateY(-50px);
}

/* Active state */
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Optional delays */
.reveal.delay-1 { transition-delay: 200ms; }
.reveal.delay-2 { transition-delay: 400ms; }
.reveal.delay-3 { transition-delay: 600ms; }


