@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;700;800&display=swap");
#header {
  position: absolute;
  z-index: 9999;
  width: 100%; }
  #header #navbar {
    position: fixed;
    width: 100%;
    z-index: 999; }
    #header #navbar #topnavbar .navbar-menu {
      border-bottom: 1px solid black; }
    #header #navbar #topnavbar .navbar-right {
      padding: 0;
      margin-top: 16px; }
      #header #navbar #topnavbar .navbar-right li {
        list-style-type: none; }
        #header #navbar #topnavbar .navbar-right li a {
          text-decoration: none; }
      #header #navbar #topnavbar .navbar-right .ecosystem {
        cursor: pointer; }
        #header #navbar #topnavbar .navbar-right .ecosystem #myEcosystem {
          height: 100%;
          width: 0;
          position: fixed;
          top: 0;
          right: 0;
          z-index: 1;
          color: white;
          background-color: black;
          overflow-x: hidden;
          transition: ease-in-out 0.7s; }
          #header #navbar #topnavbar .navbar-right .ecosystem #myEcosystem .ecosystem-content {
            width: 100%;
            height: 112px; }
            #header #navbar #topnavbar .navbar-right .ecosystem #myEcosystem .ecosystem-content .row {
              width: 100%; }
          #header #navbar #topnavbar .navbar-right .ecosystem #myEcosystem .know-more-content {
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            /* 	h3:after{
									content: "";
									display: block;
									width: 265px;
									padding-top: 66px;
									border-bottom: 4.58px solid white;
								} */ }
            #header #navbar #topnavbar .navbar-right .ecosystem #myEcosystem .know-more-content-logo {
              padding-top: 85px;
              padding-bottom: 112px; }
            #header #navbar #topnavbar .navbar-right .ecosystem #myEcosystem .know-more-content button {
              background-color: white;
              color: black;
              border: 1px solid white;
              margin-top: 30px;
              width: 400px;
              height: 60px; }
          #header #navbar #topnavbar .navbar-right .ecosystem #myEcosystem .know-more .imgfit {
            object-fit: cover;
            margin-top: 176px;
            /* 	display: flex;
								justify-content: flex-end;
								align-items: flex-end;  */ }
            #header #navbar #topnavbar .navbar-right .ecosystem #myEcosystem .know-more .imgfit svg:hover path {
              stroke: white;
              transition: all ease 0.3s; }
            #header #navbar #topnavbar .navbar-right .ecosystem #myEcosystem .know-more .imgfit svg:hover .color {
              stroke-width: 14px;
              transition: all ease 0.3s; }
    #header #navbar .megamenu {
      cursor: pointer; }
      #header #navbar .megamenu .sidenav {
        height: 100%;
        width: 0;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1;
        color: white;
        overflow-x: hidden;
        transition: 0.5s; }
        #header #navbar .megamenu .sidenav #leftSidenav {
          padding-top: 30px;
          width: 100%;
          flex: 1;
          background-color: black;
          mix-blend-mode: multiply;
          opacity: 0.45;
          width: calc(100%-816px); }
        #header #navbar .megamenu .sidenav #rightSidenav {
          padding-top: 30px;
          background-color: black;
          width: calc(100%-624px); }
          #header #navbar .megamenu .sidenav #rightSidenav .closebtn {
            transition: 0.5s; }
          #header #navbar .megamenu .sidenav #rightSidenav li a {
            transition: 0.3s; }
          #header #navbar .megamenu .sidenav #rightSidenav .subnav {
            padding-top: 112px; }
            #header #navbar .megamenu .sidenav #rightSidenav .subnav p {
              padding-bottom: 32px; }
            #header #navbar .megamenu .sidenav #rightSidenav .subnav ul li {
              padding-bottom: 15px; }
            #header #navbar .megamenu .sidenav #rightSidenav .subnav form {
              padding-top: 80px; }
              #header #navbar .megamenu .sidenav #rightSidenav .subnav form #search {
                border: none;
                border-bottom: 1px solid white;
                width: calc(100%-72px); }
            #header #navbar .megamenu .sidenav #rightSidenav .subnav .navfooter {
              padding-top: 140px; }

#navbar-white #navbar {
  position: fixed;
  width: 100%;
  z-index: 99999; }
  #navbar-white #navbar #topnavbar .navbar-menu {
    border-bottom: 1px solid white; }
  #navbar-white #navbar #topnavbar .navbar-right {
    padding: 0;
    margin-top: 16px; }
    #navbar-white #navbar #topnavbar .navbar-right li {
      list-style-type: none; }
      #navbar-white #navbar #topnavbar .navbar-right li a {
        text-decoration: none; }
  #navbar-white #navbar .megamenu {
    cursor: pointer; }
    #navbar-white #navbar .megamenu .sidenav {
      height: 100%;
      width: 0;
      position: fixed;
      top: 0;
      right: 0;
      z-index: 1;
      color: white;
      overflow-x: hidden; }
      #navbar-white #navbar .megamenu .sidenav #leftSidenav {
        flex: 1;
        background-color: black;
        width: calc(100%-816px); }
      #navbar-white #navbar .megamenu .sidenav #rightSidenav {
        background-color: black;
        width: calc(100%-624px); }
        #navbar-white #navbar .megamenu .sidenav #rightSidenav .closebtn {
          transition: 0.5s; }
        #navbar-white #navbar .megamenu .sidenav #rightSidenav li a {
          transition: 0.3s; }
        #navbar-white #navbar .megamenu .sidenav #rightSidenav .subnav {
          padding-top: 112px; }
          #navbar-white #navbar .megamenu .sidenav #rightSidenav .subnav p {
            padding-bottom: 32px; }
          #navbar-white #navbar .megamenu .sidenav #rightSidenav .subnav ul li {
            padding-bottom: 15px; }
          #navbar-white #navbar .megamenu .sidenav #rightSidenav .subnav form {
            padding-top: 80px; }
            #navbar-white #navbar .megamenu .sidenav #rightSidenav .subnav form #search {
              border: none;
              border-bottom: 1px solid white;
              width: calc(100%-72px); }
          #navbar-white #navbar .megamenu .sidenav #rightSidenav .subnav .navfooter {
            padding-top: 40px; }

#component0 .intro {
  position: relative; }
  #component0 .intro-slider {
    max-height: 840px;
    margin: 0px auto;
    overflow: hidden;
    position: relative; }
    #component0 .intro-slider .slide {
      max-height: 840px;
      width: 300px;
      display: inline-block; }
      #component0 .intro-slider .slide:focus {
        outline: none; }
      #component0 .intro-slider .slide img {
        object-fit: cover; }
    #component0 .intro-slider .slick-dots {
      position: absolute;
      padding-left: 72px;
      bottom: 70px;
      display: flex;
      justify-content: space-around;
      align-items: center;
      list-style-type: none; }
      @media screen and (max-width: 1200px) {
        #component0 .intro-slider .slick-dots {
          bottom: 36px; } }
      #component0 .intro-slider .slick-dots button {
        width: 216px;
        height: 4px;
        padding: 0;
        border: none;
        background-color: black;
        opacity: 0.25;
        text-indent: -9999px;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end; }
        @media screen and (max-width: 1200px) {
          #component0 .intro-slider .slick-dots button {
            width: 102px; } }
      #component0 .intro-slider .slick-dots li {
        padding-right: 8px; }
        #component0 .intro-slider .slick-dots li.slick-active button {
          opacity: 1;
          height: 8px; }
  #component0 .intro-about {
    position: absolute;
    bottom: 175px; }
    @media screen and (max-width: 1200px) {
      #component0 .intro-about {
        bottom: 70px; }
        #component0 .intro-about h6 {
          font-size: 24px;
          line-height: 32px; }
        #component0 .intro-about h3 {
          font-size: 32px;
          line-height: 40px; } }

#card {
  padding-top: 160px;
  padding-bottom: 160px; }
  @media only screen and (max-width: 600px) {
    #card {
      padding-top: 70px;
      padding-bottom: 70px; } }
  @media only screen and (max-width: 600px) {
    #card .card-about-left h2 {
      font-size: 24px;
      line-height: 32px; } }
  #card .card-about-right h5 {
    margin-bottom: 40px; }
    @media only screen and (max-width: 600px) {
      #card .card-about-right h5 {
        font-size: 16px;
        line-height: 24px;
        margin: 24px 0 67px 0; } }
  #card .card-about-right-button button {
    width: 207px;
    height: 60px; }
  @media only screen and (max-width: 600px) {
    #card .card-about-right-button {
      display: flex;
      justify-content: center;
      align-items: center; } }
  @media only screen and (max-width: 600px) {
    #card .card-about-right-button .button {
      width: 100%; } }

#key-figures {
  background-color: black;
  color: white; }
  @media only screen and (max-width: 992px) {
    #key-figures {
      margin-top: 75px; } }
  #key-figures h3 {
    padding-top: 119px;
    padding-bottom: 83px; }
    @media only screen and (max-width: 992px) {
      #key-figures h3 {
        padding-top: 48px;
        padding-bottom: 30px;
        font-size: 32px;
        line-height: 40px; } }
  #key-figures .key-figures {
    padding-bottom: 114px;
    margin: auto; }
    @media only screen and (max-width: 992px) {
      #key-figures .key-figures {
        padding-bottom: 48px; } }
    #key-figures .key-figures-content {
      margin-bottom: 40px;
      padding-left: 29px;
      border-left: 2px solid white; }
      @media only screen and (max-width: 992px) {
        #key-figures .key-figures-content h1 {
          font-size: 64px;
          line-height: 72px; } }
      #key-figures .key-figures-content h6 {
        margin-top: 78px; }
        @media only screen and (max-width: 992px) {
          #key-figures .key-figures-content h6 {
            font-size: 16px;
            line-height: 24px;
            margin-top: 32px; } }

#component3 .business-areas-description {
  padding-top: 215px; }
  @media screen and (max-width: 600px) {
    #component3 .business-areas-description {
      padding-top: 81px; } }
  #component3 .business-areas-description h4 {
    padding-bottom: 37px; }
    @media screen and (max-width: 600px) {
      #component3 .business-areas-description h4 {
        font-size: 24px;
        line-height: 32px; } }
  #component3 .business-areas-description h5 {
    padding-bottom: 170px; }
    @media screen and (max-width: 600px) {
      #component3 .business-areas-description h5 {
        font-size: 16px;
        line-height: 24px;
        font-weight: 500;
        padding-bottom: 65px; } }

#component3 .business-areas-slider {
  color: white; }
  @media screen and (max-width: 900px) {
    #component3 .business-areas-slider {
      max-height: 512px;
      margin: 0px auto;
      overflow: hidden; } }
  #component3 .business-areas-slider-slide {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 900px) {
      #component3 .business-areas-slider-slide {
        border: none;
        max-height: 512px;
        display: inline-block; }
        #component3 .business-areas-slider-slide .imgfit {
          width: 100%;
          height: 100%;
          max-height: 512px;
          object-fit: cover; } }
    #component3 .business-areas-slider-slide .layer {
      position: absolute;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: center;
      z-index: 999;
      visibility: hidden;
      opacity: 0; }
      #component3 .business-areas-slider-slide .layer h3 {
        padding-bottom: 152px; }
    #component3 .business-areas-slider-slide .logo {
      position: absolute;
      z-index: 999;
      bottom: 64px; }

#component3 .business-areas-slider-slide:hover .layer,
#component3 .business-areas-slider-slide:hover .imgfit {
  visibility: visible;
  opacity: 1;
  transform: scale(1.1);
  /*  z-index: 999;   */ }

.business-areas-slider-slide:before {
  background: linear-gradient(0deg, rgba(0, 30, 145, 0.8), rgba(0, 30, 145, 0.8));
  transition: 0.5s;
  content: '';
  position: absolute;
  width: 100%;
  z-index: 1; }

.business-areas-slider-slide:hover:before {
  height: 100%;
  transform: scale(1.1);
  background: linear-gradient(0deg, rgba(0, 30, 145, 0.8), rgba(0, 30, 145, 0.8)); }

#component4 .recruit {
  padding-top: 190px;
  padding-bottom: 194px; }
  @media screen and (max-width: 600px) {
    #component4 .recruit {
      padding-top: 96px;
      padding-bottom: 96px; } }
  @media screen and (max-width: 600px) {
    #component4 .recruit h3 {
      font-size: 32px;
      line-height: 40px; } }
  @media screen and (max-width: 600px) {
    #component4 .recruit-left {
      width: 100vw;
      height: auto;
      padding-left: 0;
      padding-right: 0; } }
  @media screen and (max-width: 600px) {
    #component4 .recruit-right h3 {
      font-size: 32px;
      line-height: 40px;
      display: none !important; } }
  #component4 .recruit-right h6 {
    margin: 30px 0 25px 0; }
  @media screen and (max-width: 600px) {
    #component4 .recruit-right p {
      font-weight: 500;
      font-size: 16px;
      line-height: 24px; } }
  #component4 .recruit-right .button {
    margin-top: 30px;
    height: 60px;
    width: 207px; }
    @media screen and (max-width: 600px) {
      #component4 .recruit-right .button {
        width: 100%; } }

#certification {
  padding-bottom: 130px; }
  @media screen and (max-width: 600px) {
    #certification {
      padding-bottom: 80px; } }
  #certification h4 {
    border-bottom: 1px solid black;
    padding-top: 129px;
    padding-bottom: 65px;
    width: 100%; }
    @media screen and (max-width: 600px) {
      #certification h4 {
        font-size: 24px;
        line-height: 32px; } }
  #certification .certification-images {
    padding-top: 67px; }
    @media screen and (max-width: 600px) {
      #certification .certification-images {
        padding-top: 50px; } }
    @media screen and (max-width: 600px) {
      #certification .certification-images img {
        width: 120px;
        height: 120px; } }

#component6 {
  padding-top: 167px;
  margin-bottom: 167px; }
  @media only screen and (max-width: 600px) {
    #component6 {
      padding-top: 80px;
      margin-bottom: 50px; } }
  @media only screen and (max-width: 600px) {
    #component6 h2 {
      font-size: 24px;
      line-height: 32px; } }
  #component6 .detail-right h3 {
    padding-bottom: 57px; }
    @media only screen and (max-width: 600px) {
      #component6 .detail-right h3 {
        padding-bottom: 30px;
        font-size: 32px;
        line-height: 40px; } }

#component8 {
  margin-top: 108px; }
  @media screen and (max-width: 600px) {
    #component8 {
      margin-top: 70px; }
      #component8 h3 {
        font-size: 32px;
        line-height: 40px; } }
  #component8 p {
    padding-top: 55px;
    padding-bottom: 20px; }

#component9 {
  background-color: black;
  margin-top: 112px;
  position: relative;
  color: white; }
  #component9 img {
    position: absolute;
    right: 0;
    bottom: 0; }
  #component9 h3 {
    padding-top: 95px;
    padding-bottom: 87px; }
    @media screen and (max-width: 600px) {
      #component9 h3 {
        font-size: 32px;
        line-height: 40px; } }
  #component9 .values {
    padding-bottom: 55px; }
    #component9 .values div {
      border-left: 2px solid white;
      margin-bottom: 60px;
      padding-bottom: 20px;
      padding-left: 38px; }
      #component9 .values div h6 {
        margin-bottom: 35px; }

#component9 img {
  position: relative;
  right: auto;
  bottom: auto; }

#component9 .values div {
  border-left: none; }
  #component9 .values div h6 {
    border-bottom: 2px solid #FFF;
    padding-bottom: 10px;
    margin-bottom: 25px; }

#component10 {
  margin-top: 208px;
  margin-bottom: 199px; }
  @media screen and (max-width: 600px) {
    #component10 .promise-right h3 {
      font-size: 32px;
      line-height: 40px;
      padding-top: 30px; } }
  #component10 .promise-right h6 {
    padding-top: 89px;
    padding-bottom: 25px; }
    @media screen and (max-width: 600px) {
      #component10 .promise-right h6 {
        font-size: 16px;
        line-height: 24px;
        padding-top: 30px; } }

#component11 {
  background-color: black;
  color: white; }
  #component11 .projects {
    padding-top: 347px;
    padding-bottom: 365px; }
    @media screen and (max-width: 600px) {
      #component11 .projects {
        padding-top: 247px;
        padding-bottom: 265px; } }

#component12 .projects-cards {
  position: relative;
  height: 0;
  padding-bottom: 60%;
  /* max-height: 624px;
		margin-bottom: 163px; */
  z-index: 1;
  margin-top: -200px; }
  #component12 .projects-cards-card {
    position: relative;
    padding: 0; }
    #component12 .projects-cards-card img {
      position: absolute;
      height: 100%;
      width: 100%;
      object-fit: cover;
      z-index: -1; }
    #component12 .projects-cards-card-description {
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: white;
      /* max-width: 520px; */ }
      #component12 .projects-cards-card-description div {
        padding: 32px 56px 48px 48px; }
        #component12 .projects-cards-card-description div p {
          border-top: 1px solid black;
          padding-top: 21px; }
        #component12 .projects-cards-card-description div h3 {
          padding-top: 186px;
          padding-bottom: 47px; }
        #component12 .projects-cards-card-description div button {
          width: 207px;
          height: 60px; }

#component13 .projects-cards {
  position: relative;
  height: 0;
  z-index: 1;
  padding-bottom: 60%;
  /* 	margin-top: 163px;
		margin-bottom: 165px; */ }
  #component13 .projects-cards-card {
    position: relative;
    padding: 0; }
    #component13 .projects-cards-card img {
      position: absolute;
      height: 100%;
      width: 100%;
      object-fit: cover;
      z-index: -1; }
    #component13 .projects-cards-card-description {
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: white; }
      #component13 .projects-cards-card-description div {
        padding: 32px 56px 48px 48px; }
        #component13 .projects-cards-card-description div p {
          border-top: 1px solid black;
          padding-top: 21px; }
        #component13 .projects-cards-card-description div h3 {
          padding-top: 186px;
          padding-bottom: 47px; }
        #component13 .projects-cards-card-description div button {
          width: 207px;
          height: 60px; }

#component14 {
  margin-top: 80px;
  margin-bottom: 87px; }
  #component14 .portfolio-title {
    border-bottom: 1px solid black;
    padding: 56px 0; }
  #component14 .portfolio-filter {
    padding-top: 140px; }
    @media screen and (max-width: 600px) {
      #component14 .portfolio-filter div {
        display: flex;
        flex-direction: column;
        margin-top: 40px; } }
    #component14 .portfolio-filter form {
      border-bottom: 1px solid #000000;
      font-family: Poppins;
      font-style: normal;
      font-weight: normal;
      font-size: 20px;
      line-height: 30px; }
      #component14 .portfolio-filter form #area, #component14 .portfolio-filter form #sector {
        border: none;
        padding-right: 160px; }
        @media screen and (max-width: 600px) {
          #component14 .portfolio-filter form #area, #component14 .portfolio-filter form #sector {
            padding-right: 100px; } }
  #component14 .portfolio-cards {
    padding-top: 90px; }
    #component14 .portfolio-cards-card {
      padding-bottom: 90px;
      /* 	#arrowBig{
					visibility: hidden;
					position: absolute;
					top: 100px;
					left: 190px;
					opacity: 0.7;
					animation: ease-in-out 1s;
				} */ }
      #component14 .portfolio-cards-card div {
        height: 0;
        padding-bottom: 52%;
        background: #F2F2F2;
        border: 1px solid #FFFFFF;
        position: relative; }
        #component14 .portfolio-cards-card div img {
          position: absolute;
          height: 100%;
          width: 100%;
          object-fit: cover; }
      #component14 .portfolio-cards-card h6 {
        color: #BDBDBD;
        padding: 28px 0 17px 0;
        border-bottom: 1px solid #BDBDBD; }
  #component14 .portfolio button {
    width: 340px;
    height: 60px;
    background-color: white; }

#component15 .group {
  padding-top: 279px;
  padding-bottom: 167px; }
  #component15 .group-right h3 {
    padding-bottom: 57px; }
    @media screen and (max-width: 600px) {
      #component15 .group-right h3 {
        font-size: 32px;
        line-height: 40px;
        padding-top: 30px; } }

#component16 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 44%;
  overflow: hidden;
  position: relative; }
  #component16 img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    object-fit: cover; }
  #component16 p {
    font-family: Poppins;
    font-style: normal;
    font-weight: 300;
    font-size: 64px;
    line-height: 72px;
    text-align: center;
    color: white;
    position: absolute;
    padding-bottom: 57px; }
    @media screen and (max-width: 600px) {
      #component16 p {
        font-size: 32px;
        line-height: 40px; } }
  #component16 p:after {
    content: "";
    display: block;
    margin: 0 auto;
    width: 288px;
    padding-top: 57px;
    border-bottom: 3px solid white; }

#component17 {
  margin-top: 146px; }
  @media screen and (max-width: 600px) {
    #component17 .action div:first-child {
      margin-bottom: 50px; } }
  #component17 h4 {
    padding-bottom: 40px; }

#component18 {
  margin-top: 100px;
  background-color: #00A0A0;
  color: white; }
  #component18 h4 {
    padding-top: 122px;
    padding-bottom: 60px; }
    @media screen and (max-width: 600px) {
      #component18 h4 {
        font-size: 32px; } }
  #component18 h4:after {
    content: "";
    display: block;
    margin: 0 auto;
    width: 360px;
    padding-top: 53px;
    border-bottom: 3px solid white; }
    @media screen and (max-width: 600px) {
      #component18 h4:after {
        width: 200px; } }
  #component18 h6 {
    padding-top: 10px;
    padding-bottom: 122px; }

#component19 {
  margin-top: 207px;
  margin-bottom: 208px; }
  @media screen and (max-width: 600px) {
    #component19 {
      margin-top: 100px;
      margin-bottom: 100px; } }
  @media screen and (max-width: 600px) {
    #component19 .future-left img {
      width: 100%; } }
  @media screen and (max-width: 600px) {
    #component19 .future-right h3 {
      font-size: 32px;
      line-height: 40px;
      padding-top: 20px; } }
  #component19 .future-right h6 {
    padding-top: 89px;
    padding-bottom: 25px; }
    @media screen and (max-width: 600px) {
      #component19 .future-right h6 {
        padding-top: 20px; } }

#component20 {
  padding-top: 167px;
  margin-bottom: 168px; }
  @media screen and (max-width: 600px) {
    #component20 {
      padding-top: 50px;
      padding-bottom: 50px; } }
  @media screen and (max-width: 600px) {
    #component20 .career h2 {
      font-size: 24px;
      line-height: 32px; } }
  #component20 .career-right h3 {
    padding-bottom: 57px; }
    @media screen and (max-width: 600px) {
      #component20 .career-right h3 {
        padding-bottom: 30px;
        font-size: 32px;
        line-height: 40px; } }
  @media screen and (max-width: 600px) {
    #component20 .career-right h6 {
      font-size: 16px;
      line-height: 24px; } }

#component21 img {
  width: 100%; }

#component22 {
  background-color: black;
  color: white;
  margin-top: 0; }
  #component22 h4 {
    padding-top: 122px;
    padding-bottom: 47px; }
  #component22 h4:after {
    content: "";
    display: block;
    margin: 0 auto;
    width: 288px;
    padding-top: 66px;
    border-bottom: 3px solid white; }
  #component22 h6 {
    padding-top: 10px;
    padding-bottom: 122px; }

#component23 {
  margin-top: 190px;
  margin-bottom: 223px; }
  #component23 h3 {
    margin-bottom: auto; }
  #component23 p {
    padding-top: 58px;
    padding-bottom: 55px; }
  #component23 .jobs-search button {
    width: 349px;
    height: 60px;
    margin-right: 29px; }
    @media screen and (max-width: 600px) {
      #component23 .jobs-search button {
        width: 300px; } }
    @media screen and (max-width: 600px) {
      #component23 .jobs-search button img {
        display: none; } }

#component24 .group {
  padding-top: 347px;
  margin-bottom: 293px; }
  @media screen and (max-width: 600px) {
    #component24 .group {
      margin-top: 100px;
      margin-bottom: 100px; } }
  @media screen and (max-width: 600px) {
    #component24 .group h2 {
      font-size: 24px;
      line-height: 32px; } }
  @media screen and (max-width: 600px) {
    #component24 .group h3 {
      font-size: 32px;
      line-height: 40px; } }

#component25 {
  padding-top: 72px;
  padding-bottom: 72px;
  background: #F2F2F2;
  position: relative; }
  #component25 .map {
    position: absolute;
    top: 286px;
    left: 806px;
    font-size: 48px;
    line-height: 68px;
    letter-spacing: -0.015em;
    color: rgba(0, 0, 0, 0.2); }
  #component25 .adress {
    background-color: white;
    padding: 66px 76px 80px 49px; }
    #component25 .adress h5 {
      padding-top: 11px;
      padding-bottom: 55px; }
    #component25 .adress button {
      width: 246px;
      height: 48px; }

#component26 {
  margin-top: 120px;
  margin-bottom: 167px; }
  @media screen and (max-width: 992px) {
    #component26 .adresses div {
      padding-bottom: 40px; } }

#component27 {
  color: white;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-bottom: 336px;
  z-index: -1; }
  @media screen and (max-width: 600px) {
    #component27 {
      padding-bottom: 200px; } }
  #component27 .industry-intro {
    padding-top: 324px;
    position: relative; }
    @media screen and (max-width: 600px) {
      #component27 .industry-intro {
        padding-top: 250px; } }
    #component27 .industry-intro-engineer {
      font-family: Poppins;
      font-style: normal;
      font-weight: 300;
      font-size: 64px;
      line-height: 72px;
      text-align: center;
      padding-top: 18px; }
      @media screen and (max-width: 600px) {
        #component27 .industry-intro-engineer {
          font-size: 32px;
          line-height: 40px; } }
    #component27 .industry-intro-engineer:after {
      content: "";
      display: block;
      margin: 0 auto;
      width: 288px;
      padding-top: 66px;
      border-bottom: 3px solid white; }
    #component27 .industry-intro img {
      position: absolute;
      height: 100%;
      width: 100%;
      object-fit: cover;
      top: 616px;
      z-index: 1;
      margin-bottom: 176px; }
      @media screen and (max-width: 600px) {
        #component27 .industry-intro img {
          top: 550px; } }

#component28 {
  margin-top: 1128px; }
  #component28 .area {
    padding-top: 176px;
    padding-bottom: 155px; }
    @media screen and (max-width: 600px) {
      #component28 .area {
        padding-top: 200px;
        padding-bottom: 100px; } }
    @media screen and (max-width: 600px) {
      #component28 .area h2 {
        font-size: 24px;
        line-height: 32px; } }
    #component28 .area h3 {
      padding-top: 48px;
      padding-bottom: 30px; }
      @media screen and (max-width: 600px) {
        #component28 .area h3 {
          font-size: 32px;
          line-height: 40px; } }

#component29 {
  margin-top: 185px; }
  @media screen and (max-width: 600px) {
    #component29 {
      margin-top: 100px;
      margin-bottom: 100px; } }
  @media screen and (max-width: 600px) {
    #component29 .industry-about div {
      padding-bottom: 40px; } }
  #component29 .industry-about h4 {
    padding-bottom: 40px; }

#component30 .case {
  max-height: 824px;
  margin-bottom: 116px;
  color: white;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  top: 0; }
  #component30 .case img {
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    max-height: 824px; }
  #component30 .case-description {
    position: absolute;
    z-index: 999; }
    @media screen and (max-width: 900px) {
      #component30 .case-description h3 {
        font-size: 32px;
        line-height: 40px; } }
    #component30 .case-description h6 {
      padding-top: 13px;
      padding-bottom: 116px; }
      @media screen and (max-width: 900px) {
        #component30 .case-description h6 {
          font-size: 16px;
          line-height: 24px; } }

#component31 .slider {
  padding-top: 84px;
  padding-bottom: 96px;
  position: relative; }
  #component31 .slider-slides {
    max-height: 712px;
    margin: 0px auto;
    overflow: hidden; }
    #component31 .slider-slides .layer {
      transition: all .7s ease;
      transition-delay: .2s;
      position: absolute;
      height: 100%;
      width: 100%;
      display: block;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      z-index: 999; }
      #component31 .slider-slides .layer img {
        object-fit: contain;
        max-width: 109px; }
    #component31 .slider-slides .layer:focus {
      outline: none; }
    #component31 .slider-slides .slide {
      border: none;
      max-height: 712px;
      display: inline-block;
      margin-left: 5vw; }
      #component31 .slider-slides .slide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover; }
      #component31 .slider-slides .slide:focus {
        outline: none; }
      #component31 .slider-slides .slide:first-child {
        width: 100%;
        height: 100%;
        max-height: 712px;
        object-fit: cover; }

#component31 .slick-dots {
  position: absolute;
  width: 100%;
  padding-left: 72px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  list-style-type: none; }
  #component31 .slick-dots button {
    width: 16px;
    height: 16px;
    border-radius: 100px;
    border: 1px solid black;
    background-color: white;
    margin: 16px;
    text-indent: -9999px; }
  #component31 .slick-dots li.slick-active button {
    background-color: black; }

#component32 .overview {
  padding: 122px 0; }
  @media screen and (max-width: 600px) {
    #component32 .overview {
      padding: 80px 0; } }
  #component32 .overview-text h4 {
    padding-bottom: 39px; }
  @media screen and (max-width: 600px) {
    #component32 .overview-techfile {
      padding-top: 40px; } }
  #component32 .overview-techfile h6 {
    padding-top: 16px;
    padding-bottom: 49px; }
  #component32 .overview-techfile-info {
    padding: 29px 0 8px 0;
    border-top: 1px solid black;
    border-bottom: 1px solid black; }

#component33 .cite {
  padding: 150px 0 179px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center; }
  #component33 .cite h5 {
    padding: 39px 0; }

footer {
  background-color: black;
  color: white;
  width: 100%;
  float: left; }
  footer .footer-menu {
    border-bottom: 1px solid #828282;
    padding-bottom: 30px; }
    footer .footer-menu div {
      margin-top: 55px; }
      footer .footer-menu div ul small {
        color: rgba(255, 255, 255, 0.4); }
    @media screen and (max-width: 768px) {
      footer .footer-menu {
        letter-spacing: 1.5%; }
        footer .footer-menu div {
          color: rgba(255, 255, 255, 0.4);
          margin-top: 5px;
          margin-bottom: 20px; }
          footer .footer-menu div ul small {
            color: white; }
        footer .footer-menu .first-order {
          display: block;
          width: 100%;
          text-align: center;
          padding: 20px;
          margin-bottom: 20px;
          border-bottom: 1px solid rgba(255, 255, 255, 0.4); }
        footer .footer-menu .last-order {
          display: none; }
        footer .footer-menu .social-media {
          justify-content: flex-start !important; }
          footer .footer-menu .social-media img {
            margin-right: 5px;
            width: 29px;
            height: 29px; } }
  footer .footer-privacy {
    color: #4F4F4F;
    padding: 15px 0 30px 0; }
    @media screen and (max-width: 768px) {
      footer .footer-privacy .caption {
        padding-left: 20px;
        padding-right: 20px;
        font-size: 12px;
        line-height: 16px; } }

@media screen and (max-width: 991px) {
  #component3 #card-one .business-areas-slider {
    position: relative; }
  #component3 #card-one .slick-dots {
    border: 1px solid red;
    position: absolute;
    transform: translate(-50%, -50%);
    left: 50%;
    top: -30px;
    width: auto;
    display: flex;
    justify-content: center !important;
    align-items: center !important;
    list-style-type: none;
    padding-left: 0; }
    #component3 #card-one .slick-dots button {
      width: 16px;
      height: 16px;
      border-radius: 100px;
      border: 1px solid black;
      background-color: white;
      margin: 16px;
      text-indent: -9999px; }
    #component3 #card-one .slick-dots li.slick-active button {
      background-color: black;
      outline: none; }
  #component3 #card-one .business-areas-slider-slide .layer {
    height: 100%;
    width: 100%; }
    #component3 #card-one .business-areas-slider-slide .layer h3 {
      font-size: 24px;
      padding-top: 50px; }
    #component3 #card-one .business-areas-slider-slide .layer img {
      position: absolute;
      top: 50%; } }

@media screen and (max-width: 768px) {
  #component14 .portfolio-title {
    padding-top: 130px;
    padding-bottom: 23px; }
  #component14 .portfolio-filter {
    padding-top: 58px; }
  #component14 .portfolio-filter > :first-child {
    padding-bottom: 35px; }
  #component14 .portfolio-cards {
    padding-top: 40px; }
    #component14 .portfolio-cards-card {
      padding-bottom: 51px; }
      #component14 .portfolio-cards-card div {
        min-height: 332px; } }

@media screen and (max-width: 600px) {
  #component14 .content {
    display: flex;
    flex-direction: column; }
  #component14 .portfolio-filter-select:nth-child(1) {
    padding-bottom: 40px; } }

@media screen and (max-width: 992px) {
  #component14 .content-select h6 {
    font-size: 16px;
    line-height: 24px;
    flex: 20%; }
  #component14 .content-select form {
    flex: 80%;
    width: 100%; } }

@media screen and (max-width: 768px) {
  #component15 .group {
    padding-top: 115px;
    padding-bottom: 100px; }
    #component15 .group h2 {
      font-size: 24px;
      line-height: 32px; }
    #component15 .group h3 {
      font-size: 32px;
      line-height: 40px;
      padding-top: 21px;
      padding-bottom: 24px; }
    #component15 .group h6 {
      font-size: 16px;
      line-height: 24px; } }

@media screen and (max-width: 768px) {
  #component16 img {
    min-height: 400px; }
  #component16 p {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    line-height: 40px; }
  #component16 p:after {
    width: 200px;
    padding-top: 20px; } }

@media screen and (max-width: 600px) {
  #component17 .container {
    padding-top: 45px; }
  #component17 .action div:first-child {
    margin-bottom: 50px; }
  #component17 h4 {
    padding-bottom: 32px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 700; } }

@media screen and (max-width: 600px) {
  #component18 {
    margin-top: 80px; }
    #component18 h4 {
      font-size: 32px;
      line-height: 40px;
      padding-top: 68px;
      padding-bottom: 20px; }
    #component18 h4:after {
      width: 200px; }
    #component18 h6 {
      font-size: 16px;
      line-height: 24px;
      padding-top: 32px;
      padding-bottom: 64px; } }

@media screen and (max-width: 600px) {
  #component19 {
    margin-top: 100px;
    margin-bottom: 130px; }
    #component19 h3 {
      font-size: 32px;
      line-height: 40px;
      padding-bottom: 50px; }
    #component19 .future-left {
      width: calc(100% + 30px);
      height: auto;
      padding-left: 0;
      padding-right: 0;
      margin-left: -15px;
      display: block;
      float: left;
      max-width: none;
      flex: none; } }

@media screen and (max-width: 992px) {
  #component19 .future-right h3 {
    font-size: 32px;
    line-height: 40px;
    padding-top: 20px; }
  #component19 .future-right h6 {
    padding-top: 48px; } }

@media screen and (max-width: 600px) {
  #component20 {
    padding-top: 77px;
    margin-bottom: 34px; }
    #component20 .career h2 {
      font-size: 24px;
      line-height: 32px; }
    #component20 .career-right h3 {
      padding-bottom: 30px;
      font-size: 32px;
      line-height: 40px; }
    #component20 .career-right h6 {
      font-size: 16px;
      line-height: 24px; } }

@media screen and (max-width: 768px) {
  #component21 img {
    min-height: 343px;
    object-fit: cover; } }

@media screen and (max-width: 768px) {
  #component22 h4 {
    font-size: 32px;
    line-height: 40px;
    padding-top: 53px;
    padding-bottom: 46px; }
  #component22 h4:after {
    content: "";
    display: block;
    margin: 0 auto;
    width: 200px;
    padding-top: 40px;
    border-bottom: 3px solid white; }
  #component22 h6 {
    font-size: 16px;
    line-height: 24px;
    padding-top: 80px;
    padding-bottom: 72px; } }

@media screen and (max-width: 768px) {
  #component23 {
    margin-top: 96px;
    margin-bottom: 79px; }
    #component23 .imgcareer {
      width: calc(100% + 30px);
      height: auto;
      padding-left: 0;
      padding-right: 0;
      margin-left: -15px;
      display: block;
      float: left;
      max-width: none;
      flex: none; }
    #component23 h3 {
      font-size: 32px;
      line-height: 40px;
      margin-bottom: 40px; }
    #component23 p {
      padding-top: 49px;
      padding-bottom: 44px; }
    #component23 .jobs-search {
      display: flex;
      flex-direction: column;
      align-items: center; }
      #component23 .jobs-search button {
        width: 314px;
        margin-right: 0px;
        margin-bottom: 38px;
        display: flex;
        justify-content: space-around;
        align-items: center;
        font-size: 16px;
        line-height: 24px; } }

@media screen and (max-width: 600px) {
  #component24 .group {
    padding-top: 115px;
    margin-bottom: 64px; }
    #component24 .group h2 {
      font-size: 24px;
      line-height: 32px; }
    #component24 .group h3 {
      font-size: 32px;
      line-height: 40px;
      padding-top: 21px; } }

@media screen and (max-width: 768px) {
  #component25 {
    padding-top: 16px;
    padding-bottom: 560px;
    background: #F2F2F2;
    position: relative; }
    #component25 .map {
      position: absolute;
      bottom: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
      display: flex;
      justify-content: center;
      align-items: flex-end;
      font-size: 48px;
      line-height: 68px;
      letter-spacing: -1.5%;
      color: rgba(0, 0, 0, 0.2); }
    #component25 .adress {
      padding: 33px 16px 40px 16px; }
      #component25 .adress h5 {
        font-size: 24px;
        line-height: 32px;
        padding-top: 11px;
        padding-bottom: 52px; }
      #component25 .adress .btnmobile {
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center; }
        #component25 .adress .btnmobile button {
          height: 60px; } }

@media screen and (max-width: 1200px) {
  #component26 {
    margin-top: 56px;
    margin-bottom: 73px; }
    #component26 .adresses div {
      padding-bottom: 40px; } }

@media screen and (max-width: 600px) {
  #component27 {
    padding-bottom: 200px; }
    #component27 .industry-intro {
      padding-top: 176px; }
      #component27 .industry-intro-engineer {
        font-size: 32px;
        line-height: 40px; }
      #component27 .industry-intro-engineer:after {
        width: 200px;
        padding-top: 20px; }
      #component27 .industry-intro img {
        min-height: 280px;
        top: 400px; } }

@media screen and (max-width: 600px) {
  #component28 {
    margin-top: 752px; }
    #component28 .area {
      padding-top: 72px;
      padding-bottom: 55px; }
      #component28 .area h2 {
        font-size: 24px;
        line-height: 32px; }
      #component28 .area h3 {
        text-align: left !important;
        font-size: 32px;
        line-height: 40px; }
      #component28 .area h6 {
        letter-spacing: 5.5%; } }

@media screen and (max-width: 600px) {
  #component29 {
    margin-top: 64px;
    margin-bottom: 70px; }
    #component29 .industry-about h4 {
      font-size: 16px;
      line-height: 24px; }
    #component29 .industry-about div:nth-child(1) {
      padding-bottom: 30px; } }

@media screen and (max-width: 900px) {
  #component30 .case {
    min-height: 667px;
    margin-bottom: 0; }
    #component30 .case img {
      min-height: 667px; }
    #component30 .case-description h3 {
      font-size: 32px;
      line-height: 40px; }
    #component30 .case-description h6 {
      padding-top: 7px;
      padding-bottom: 27px; } }

@media screen and (max-width: 768px) {
  #component31 h3 {
    font-size: 32px;
    line-height: 40px;
    padding-top: 46px; }
  #component31 small {
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-top: 50px; }
  #component31 .slider {
    padding-top: 120px;
    padding-bottom: 88px; }
    #component31 .slider-slides {
      min-height: 512px; }
      #component31 .slider-slides .slide {
        min-height: 512px; }
        #component31 .slider-slides .slide img {
          min-height: 512px; }
        #component31 .slider-slides .slide .layer {
          top: 20%;
          transform: translate(-50%, -50%); }
  #component31 .slick-dots {
    position: absolute;
    left: 40%;
    transform: translate(-50%, -50%);
    top: 70px;
    width: auto;
    justify-content: center !important;
    align-items: center !important;
    list-style-type: none;
    padding-left: 0; } }

@media screen and (max-width: 900px) {
  #component32 .overview {
    padding: 80px 0; }
    #component32 .overview-text h4 {
      font-size: 24px;
      line-height: 32px;
      padding-bottom: 31px; }
    #component32 .overview-techfile {
      padding-top: 40px; } }

@media screen and (max-width: 900px) {
  #component33 .cite p {
    font-weight: 600;
    font-size: 22px;
    line-height: 24px; } }

#card h5,
#card p,
#component4 h5,
#component4 p,
#component8 h5,
#component8 p,
#component9 h5,
#component9 p,
#component10 h5,
#component10 p,
#component17 h5,
#component17 p,
#component19 h5,
#component19 p,
#component39 h5,
#component39 p,
#component23 h5,
#component23 p,
#component32 h5,
#component32 p {
  text-align: justify; }

#component32 .overview-techfile-info p {
  text-align: left; }

#component0 .intro-slider .slick-dots button {
  background: #FFF; }

body.home #header:not(.scrolled) ul .wpml-ls-item:nth-of-type(1) a:after,
body.single-portefolio #header:not(.scrolled) ul .wpml-ls-item:nth-of-type(1) a:after {
  background-color: #FFF; }

body.home #header:not(.scrolled) ul .wpml-ls-item a,
body.single-portefolio #header:not(.scrolled) ul .wpml-ls-item a {
  color: rgba(255, 255, 255, 0.7); }

body.home #header:not(.scrolled) ul .wpml-ls-item.wpml-ls-current-language a,
body.single-portefolio #header:not(.scrolled) ul .wpml-ls-item.wpml-ls-current-language a {
  color: #FFF; }

body.home #header:not(.scrolled) #navbar #topnavbar .navbar-menu,
body.single-portefolio #header:not(.scrolled) #navbar #topnavbar .navbar-menu {
  border-color: #FFF; }

body.home #header:not(.scrolled) #hide-logo svg path,
body.home #header:not(.scrolled) .megamenu svg rect,
body.single-portefolio #header:not(.scrolled) #hide-logo svg path,
body.single-portefolio #header:not(.scrolled) .megamenu svg rect {
  fill: #FFF; }

#component32 p span.green {
  font-size: 20px;
  line-height: 32px; }

#ecoMobile {
  visibility: hidden; }

.wpml-ls-legacy-list-horizontal > ul {
  display: flex; }

.hover1:hover {
  color: #001e91 !important; }

.hover2:hover {
  color: #00a0a0 !important; }

.hover3:hover {
  color: #e20032 !important; }

#component19.imgDir .future-left img {
  margin-left: auto;
  display: block; }

#key-figures.key2 {
  position: relative; }
  #key-figures.key2:before {
    content: "";
    background: rgba(0, 0, 0, 0.25);
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 0;
    display: block; }
  #key-figures.key2 .container {
    position: relative;
    z-index: 2; }

#component21 img {
  min-width: 100% !important;
  display: block;
  height: auto !important; }

#component22 {
  position: relative;
  overflow: hidden; }
  #component22:before {
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background: 0 #000;
    opacity: 0.3;
    z-index: 1; }
  #component22 .row {
    position: relative;
    z-index: 2; }
  #component22 .bg22 {
    position: absolute;
    width: 100%;
    height: 100%; }
    #component22 .bg22 img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  #component22 h4 {
    padding-bottom: 39px; }
  #component22 h5 {
    margin-bottom: 85px; }

#page footer .order-7 .justify-content-between {
  justify-content: flex-end !important; }
  #page footer .order-7 .justify-content-between li {
    margin-left: 10px; }

.categoryfilter,
.categoryfilter2 {
  margin-left: 10px; }

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
  font-size: 14px;
  font-family: Poppins; }

#component8 h3,
#component8 h6,
#component8 p {
  text-align: justify; }

#component0 h6, #component0 h3 {
  color: #FFF !important; }

#component0 .imgfit:before {
  opacity: 0.6;
  content: '';
  width: 100%;
  height: 50%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #020024;
  background: linear-gradient(180deg, rgba(2, 0, 36, 0) 0%, rgba(9, 9, 121, 0) 0%, black 100%);
  display: block;
  z-index: 2; }

#component0 .slide {
  position: relative; }
  #component0 .slide .intro-about {
    z-index: 2; }
  #component0 .slide img {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  #component0 .slide .intro-about {
    position: relative;
    bottom: auto; }
    #component0 .slide .intro-about .row {
      padding: 312px 0 175px 0; }

@media screen and (min-width: 1440px) {
  #component0 .intro-slider .slick-dots {
    position: absolute;
    padding-left: 72px;
    bottom: 70px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    list-style-type: none;
    left: 50%;
    margin-left: -720px; } }

@media screen and (max-width: 1200px) {
  #component0 .slide .intro-about .row {
    padding: 312px 0 103px 0; } }

@media screen and (max-width: 600px) {
  #component0 .intro-slider .slick-dots {
    padding-left: 30px; } }

#component7 img {
  display: block;
  width: 100%;
  height: auto; }

#component10 img {
  display: block;
  width: 100%;
  height: auto; }

#component10 p {
  margin-top: 16px; }

#component10 .promise-right h6 {
  padding-bottom: 4px; }

#colophon {
  width: 100%;
  float: left; }

#component16 {
  display: flex;
  align-items: center;
  justify-content: center; }
  #component16 img {
    width: 100%;
    height: auto; }
  #component16 p {
    top: calc(50% - 45px);
    bottom: 0; }

#search {
  outline: none !important; }

#component14 .portfolio-filter form #area,
#component14 .portfolio-filter form #sector {
  padding-right: 100px; }

#component14 .portfolio button {
  padding-left: 15px;
  transition: all 0.7s ease; }
  #component14 .portfolio button svg {
    transform: translateX(-6px);
    transition: all 0.7s ease; }

#component14 .portfolio-cards-card {
  border: none !important; }

#component12 .container .projects-cards {
  margin-top: 0px; }
  #component12 .container .projects-cards img {
    right: 0;
    width: 60%; }
  #component12 .container .projects-cards:nth-of-type(1) {
    margin-top: 0; }
  #component12 .container .projects-cards:nth-of-type(even) .projects-cards-card-description {
    margin-left: auto; }
  #component12 .container .projects-cards:nth-of-type(even) .imgProWra {
    left: 0;
    right: auto; }

#component12 .projects-cards-card-description {
  width: 40%; }
  #component12 .projects-cards-card-description .imgLogoAreas {
    width: 100%; }

#component18 {
  background-color: #cecece; }

#filter .d-flex {
  margin-left: auto; }

#component12 .container .imgProWra {
  right: 0;
  width: 60%;
  position: absolute;
  height: 100%;
  object-fit: cover; }
  #component12 .container .imgProWra img {
    width: 100%; }
  #component12 .container .imgProWra .imgHoverAni {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 9;
    right: 0;
    opacity: 0;
    transition: all 0.7s ease; }
  #component12 .container .imgProWra:hover .imgHoverAni {
    opacity: 0.7; }

#logoConstrucao,
#logoInteriores,
#logoIndustria,
#logoSustentabilidade,
.logoConstrucao,
.logoInteriores,
.logoIndustria {
  display: none;
  max-width: 164px; }

.logoConstrucao path {
  fill: #001e91; }

.logoInteriores path {
  fill: #e20032; }

.logoIndustria path {
  fill: #00a0a0; }

#component42 .container {
  display: flex;
  justify-content: flex-end;
  padding: 36px 0;
  border-top: 1px solid #000;
  align-items: center; }
  #component42 .container img {
    margin-left: 15px; }

#component19 ul li {
  font-family: Poppins;
  font-size: 20px;
  line-height: 32px;
  margin: 0; }

#component31 .slick-track {
  display: flex; }
  #component31 .slick-track .slider-slides {
    max-height: none !important; }

#rightSidenav form {
  visibility: hidden; }

#component31 .slider-slides .slide {
  height: auto !important; }

/*
#component31 .slider {
   .layer img {
        margin-right: 18%;
    }
    .slide {
        border: none;
        max-height: 712px;
        display: inline-block;
        margin-left: 5vw;
        position: relative;
        padding-bottom: 10%;
        width:80vw !important;
        img{
            position: absolute;

        }
    }
}

@media screen and (min-width:1700px){

    #component31 .slider {
        .slide {
            padding-bottom:8%;
        }
    }
}
*/
.imagemLogo img {
  width: 100%;
  height: auto; }
#sustentabilidade #logoSustentabilidade{
  display:block;
}
#sustentabilidade #mainLogo{
  display:none;
}
#page.construction #logoConstrucao,
#page.construction .logoConstrucao,
#page.construcao #logoConstrucao,
#page.construcao .logoConstrucao,
body.construcao #logoConstrucao,
body.construcao .logoConstrucao,
body.page-id-753 #logoConstrucao,
body.page-id-753 .logoConstrucao,
body.page-id-1716 #logoConstrucao,
body.page-id-1716 .logoConstrucao,
body.page-id-119 #logoConstrucao,
body.page-id-119 .logoConstrucao,
body.page-id-313 #logoConstrucao,
body.page-id-313 .logoConstrucao {
  display: block; }

#page.construction #mainLogo,
#page.construcao #mainLogo,
body.construcao #mainLogo,
body.page-id-753 #mainLogo,
body.page-id-1716 #mainLogo,
body.page-id-119 #mainLogo,
body.page-id-313 #mainLogo {
  display: none; }

#component19.imgDir .future-left {
  order: 2; }

#page.industry #logoIndustria,
#page.industry .logoIndustria,
#page.industria #logoIndustria,
#page.industria .logoIndustria,
body.industria #logoIndustria,
body.industria .logoIndustria,
body.page-id-115 #logoIndustria,
body.page-id-115 .logoIndustria,
body.page-id-324 #logoIndustria,
body.page-id-324 .logoIndustria,
body.page-id-815 #logoIndustria,
body.page-id-815 .logoIndustria,
body.page-id-1724 #logoIndustria,
body.page-id-1724 .logoIndustria {
  display: block; }

#page.industry #mainLogo,
#page.industria #mainLogo,
body.industria #mainLogo,
body.page-id-115 #mainLogo,
body.page-id-324 #mainLogo,
body.page-id-815 #mainLogo,
body.page-id-1724 #mainLogo {
  display: none; }

#page.interiors #logoInteriores,
#page.interiors .logoInteriores,
#page.interiores #logoInteriores,
#page.interiores .logoInteriores,
body.interiores #logoInteriores,
body.interiores .logoInteriores,
body.page-id-352 #logoInteriores,
body.page-id-352 .logoInteriores,
body.page-id-821 #logoInteriores,
body.page-id-821 .logoInteriores,
body.page-id-1730 #logoInteriores,
body.page-id-1730 .logoInteriores {
  display: block; }

#page.interiors #mainLogo,
#page.interiores #mainLogo,
body.interiores #mainLogo,
body.page-id-352 #mainLogo,
body.page-id-821 #mainLogo,
body.page-id-1730 #mainLogo {
  display: none; }

.scrolled #hide-logo svg path {
  fill: #000; }

.jobs-search {
  width: 100%;
  margin-bottom: 100px; }
  .jobs-search svg path {
    fill: #fff; }
  .jobs-search svg circle {
    stroke: #fff; }

.page-id-1730 #component40,
.page-id-821 #component40,
.page-id-908 #component40 {
  margin-top: 440px; }
  .page-id-1730 #component40 .roxo360,
  .page-id-821 #component40 .roxo360,
  .page-id-908 #component40 .roxo360 {
    background-color: rgba(226, 0, 50, 0.82) !important; }

.page-id-815 #component40 .roxo360,
body.page-id-1724 #component40 .roxo360 {
  background-color: rgba(0, 160, 160, 0.82) !important; }

#component17 h6 {
  text-align: center; }

.brochuraDownload {
  color: #fff;
  font-family: Poppins;
  font-style: normal;
  font-size: 18px; }
  .brochuraDownload:hover {
    color: #fff; }

#cookie-notice {
  background-color: #fff !important;
  -webkit-box-shadow: 0px -4px 15px -6px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px -4px 15px -6px rgba(0, 0, 0, 0.75);
  box-shadow: 0px -4px 15px -6px rgba(0, 0, 0, 0.75); }
  #cookie-notice span {
    color: #000 !important; }
  #cookie-notice #cn-accept-cookie {
    background: #000 !important; }

#component23 .imagemLogo {
  position: absolute;
  right: 5%;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center; }
  #component23 .imagemLogo img {
    background: rgba(255, 255, 255, 0.5);
    padding: 30px 30px; }

#component23 .imgfit {
  object-fit: cover;
  height: 100%;
  width: 95%; }

#component23 .brochuraDownload {
  color: #000;
  margin-bottom: 20px; }
  #component23 .brochuraDownload:hover {
    color: #000; }

#paginaPoli {
  margin: 200px 0; }
  #paginaPoli h6 {
    margin: 30px 0 10px 0; }

#component23 {
  float: left;
  width: 100%; }
  #component23 p {
    padding-top: 20px;
    padding-bottom: 30px; }
  #component23 .jobs-search {
    margin-bottom: 0; }
    #component23 .jobs-search button {
      width: auto;
      height: auto;
      margin-right: 0;
      background: #000;
      color: #fff;
      padding: 14px 30px;
      margin-bottom: 5px; }

#formContact {
  background: #fff;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  float: left;
  width: 100%;
  height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  margin-top: 170px; }
  #formContact h4 {
    padding-bottom: 56px;
    text-align: center;
    border-bottom: 1px solid #000;
    margin-bottom: 80px; }

#header #navbar .megamenu .sidenav #rightSidenav {
  height: 100vh;
  overflow: auto;
  padding-bottom: 100px; }

footer {
  width: 100%;
  float: left; }

#page {
  overflow: hidden; }

#component14 {
  margin-bottom: 110px;
  overflow: hidden; }
  #component14 .portfolio-filter form {
    border-bottom: none; }
    #component14 .portfolio-filter form ul {
      border-bottom: 1px solid #000000; }
  #component14 .portfolio-cards-card .arrowBig {
    max-width: 100px;
    height: auto;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    opacity: 0;
    transition: all 0.7s ease; }
  #component14 .portfolio-cards-card:hover .arrowBig {
    opacity: 1; }

.ecoAberto .transLogo23 path {
  fill: #fff; }

#component30 {
  position: relative; }
  #component30:before {
    opacity: 0.6;
    content: '';
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: #020024;
    background: linear-gradient(180deg, rgba(2, 0, 36, 0) 0%, rgba(9, 9, 121, 0) 0%, black 100%);
    display: block; }

.wpml-ls-legacy-list-horizontal a {
  display: flex;
  align-items: baseline; }

.darkBG #header:not(.scrolled) #navbar #topnavbar .navbar-menu,
body.construcao #header:not(.scrolled) #navbar #topnavbar .navbar-menu,
body.industria #header:not(.scrolled) #navbar #topnavbar .navbar-menu,
body.interiores #header:not(.scrolled) #navbar #topnavbar .navbar-menu {
  border-bottom: 1px solid #fff; }

.darkBG #header:not(.scrolled) ul .wpml-ls-item a,
body.construcao #header:not(.scrolled) ul .wpml-ls-item a,
body.industria #header:not(.scrolled) ul .wpml-ls-item a,
body.interiores #header:not(.scrolled) ul .wpml-ls-item a {
  color: rgba(255, 255, 255, 0.3); }

.darkBG #header:not(.scrolled) ul .wpml-ls-item.wpml-ls-current-language a,
body.construcao #header:not(.scrolled) ul .wpml-ls-item.wpml-ls-current-language a,
body.industria #header:not(.scrolled) ul .wpml-ls-item.wpml-ls-current-language a,
body.interiores #header:not(.scrolled) ul .wpml-ls-item.wpml-ls-current-language a {
  color: #fff; }

.darkBG #header:not(.scrolled) ul .wpml-ls-item:nth-of-type(1) a:after,
body.construcao #header:not(.scrolled) ul .wpml-ls-item:nth-of-type(1) a:after,
body.industria #header:not(.scrolled) ul .wpml-ls-item:nth-of-type(1) a:after,
body.interiores #header:not(.scrolled) ul .wpml-ls-item:nth-of-type(1) a:after {
  background: #fff; }

.darkBG #header:not(.scrolled) .navbar-right small,
.darkBG #header:not(.scrolled) .navbar-right .underline,
body.construcao #header:not(.scrolled) .navbar-right small,
body.construcao #header:not(.scrolled) .navbar-right .underline,
body.industria #header:not(.scrolled) .navbar-right small,
body.industria #header:not(.scrolled) .navbar-right .underline,
body.interiores #header:not(.scrolled) .navbar-right small,
body.interiores #header:not(.scrolled) .navbar-right .underline {
  color: #fff; }

.darkBG #header:not(.scrolled) .navbar-right .transLogo2 path,
body.construcao #header:not(.scrolled) .navbar-right .transLogo2 path,
body.industria #header:not(.scrolled) .navbar-right .transLogo2 path,
body.interiores #header:not(.scrolled) .navbar-right .transLogo2 path {
  fill: #fff; }

.darkBG #header:not(.scrolled) svg rect,
body.construcao #header:not(.scrolled) svg rect,
body.industria #header:not(.scrolled) svg rect,
body.interiores #header:not(.scrolled) svg rect {
  fill: #fff; }

.darkBG #header:not(.scrolled) #hide-logo svg path,
body.construcao #header:not(.scrolled) #hide-logo svg path,
body.industria #header:not(.scrolled) #hide-logo svg path,
body.interiores #header:not(.scrolled) #hide-logo svg path {
  fill: #fff; }

.darkBG #header:not(.scrolled) .scrolled #hide-logo svg path,
body.construcao #header:not(.scrolled) .scrolled #hide-logo svg path,
body.industria #header:not(.scrolled) .scrolled #hide-logo svg path,
body.interiores #header:not(.scrolled) .scrolled #hide-logo svg path {
  fill: #000; }

ul .wpml-ls-item:nth-of-type(1) {
  padding-right: 28px; }

.wpml-ls-legacy-list-horizontal a {
  position: relative; }

#component9 .imgFundo1 {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%; }

#component3 .business-areas-slider {
  width: calc(100% + 8px);
  margin-left: -4px; }
  #component3 .business-areas-slider .col-md-4:nth-of-type(2):before {
    background: linear-gradient(0deg, rgba(0, 160, 160, 0.88), rgba(0, 160, 160, 0.88)); }
  #component3 .business-areas-slider .col-md-4:nth-of-type(3):before {
    background: linear-gradient(0deg, rgba(226, 0, 50, 0.75), rgba(226, 0, 50, 0.75)); }

#component3 .business-areas-slider-slide {
  padding: 0 4px; }
  #component3 .business-areas-slider-slide .layer {
    transition: all 0.7s ease;
    transition-delay: 0.2s; }
  #component3 .business-areas-slider-slide::before {
    z-index: 11;
    opacity: 0.88;
    transition: all 0.7s ease;
    width: calc(100% - 8px); }
  #component3 .business-areas-slider-slide img:nth-of-type(1) {
    transition: all 0.7s ease;
    display: block;
    width: 100%;
    height: auto; }
  #component3 .business-areas-slider-slide img:nth-of-type(2) {
    position: absolute;
    z-index: 999;
    bottom: 64px; }
  #component3 .business-areas-slider-slide:hover img:nth-of-type(1) {
    transform: scale(1.1);
    z-index: 9; }

#header {
  position: absolute;
  z-index: 9999;
  width: 100%;
  top: 0; }
  #header.scrolled #navbar {
    background: white; }

.textmenu a:hover {
  text-decoration: underline !important; }

#component31 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; }

.menuaberto #header ::placeholder {
  color: rgba(255, 255, 255, 0.4); }

.menuaberto #header.scrolled #navbar {
  backdrop-filter: none; }

.menuaberto #header ul .wpml-ls-item:nth-of-type(1) a:after {
  background: #fff; }

#rightSidenav {
  min-width: 816px; }
  #rightSidenav .subnav form #search {
    width: calc(100% - 72px) !important; }

#certification {
  background: #f2f2f2; }

ul .wpml-ls-item a {
  font-weight: bold;
  font-size: 14px;
  line-height: 16px;
  font-family: Poppins;
  letter-spacing: 0.5%;
  color: rgba(0, 0, 0, 0.3); }

ul .wpml-ls-item.wpml-ls-current-language a {
  color: black; }

ul .wpml-ls-item:nth-of-type(1) a:after {
  width: 22px;
  height: 2px;
  background: #000;
  content: "";
  display: inline-block;
  margin-left: 4px;
  position: absolute;
  bottom: 8px;
  left: 29px; }

ul .wpml-ls-item:nth-of-type(2) {
  margin-left: -14px; }

.navbar-right {
  max-width: 230px !important;
  min-width: 200px !important; }

.btntext.black:hover {
  color: #fff !important;
  background: #000 !important; }
  .btntext.black:hover svg path {
    stroke: #fff; }

#rightSidenav ul .wpml-ls-item a {
  color: rgba(255, 255, 255, 0.3); }

#rightSidenav ul .wpml-ls-item.wpml-ls-current-language a {
  color: white; }

#component4 .recruit-right .button {
  margin-top: 8px; }

#component4 h3 {
  margin-bottom: 44px; }

#component4 p {
  margin-bottom: 16px; }

#component4 img {
  max-width: 100%;
  height: auto;
  width: 100%; }

#component8 h3 {
  margin-bottom: 44px; }

#component8 h6 {
  margin-top: 10px;
  margin-bottom: 44px; }

#component8 p {
  padding-top: 0;
  padding-bottom: 16px; }

#component9 .values div {
  padding-left: 15px; }

.wrapIni.construcao:hover h6 {
  color: #001e91; }

.wrapIni.industria:hover h6 {
  color: #00a0a0; }

.wrapIni.interiores:hover h6 {
  color: #e20032; }

body.construcao #key-figures,
#page.construction #key-figures,
#page.construcao #key-figures {
  background-color: #001e91; }

body.construcao #header.scrolled #hide-logo svg path,
#page.construction #header.scrolled #hide-logo svg path,
#page.construcao #header.scrolled #hide-logo svg path {
  fill: #001e91; }

#page.interiors #header.scrolled #hide-logo svg path,
body.interiores #header.scrolled #hide-logo svg path,
#page.interiores #header.scrolled #hide-logo svg path {
  fill: #e20032; }

#page.interiors #key-figures,
body.interiores #key-figures,
#page.interiores #key-figures {
  background-color: #e20032; }

#page.industry #header.scrolled #hide-logo svg path,
body.industria #header.scrolled #hide-logo svg path,
#page.industria #header.scrolled #hide-logo svg path {
  fill: #00a0a0; }

#page.industry #key-figures,
body.industria #key-figures,
#page.industria #key-figures {
  background-color: #00a0a0; }

#key-figures.key2 h3 {
  padding-top: 100px; }

#key-figures.key2 .key-figures {
  padding-bottom: 80px; }

#key-figures.key2 .key-figures-content h6 {
  margin-top: 0; }

#key-figures.key2 .key-figures-content h1 {
  margin-top: 50px;
  margin-bottom: 0; }

#key-figures.key2 .key-figures-content h2 {
  margin-top: 50px; }

#component34 {
  margin: 150px 0 100px 0; }
  #component34 .mb100 {
    margin-bottom: 70px; }
  #component34 li {
    width: 100%; }
    #component34 li .flexTab {
      border-left: 2px solid #000;
      padding-left: 20px;
      margin-bottom: 60px; }
    #component34 li .arrowTab {
      display: flex;
      align-items: center; }
      #component34 li .arrowTab h4 {
        margin-bottom: 18px; }
      #component34 li .arrowTab svg {
        margin-left: 0; }
    #component34 li a {
      transition: all 0.7s ease;
      opacity: 1;
      float: left; }
      #component34 li a .arrowTab svg {
        width: 30%;
        transition: all 0.7s ease; }
      #component34 li a.active {
        opacity: 1; }
        #component34 li a.active .arrowTab svg {
          width: 100%; }
      #component34 li a:not(.active) .flexTab {
        border-color: #cfd1d3 !important; }
      #component34 li a:not(.active) h4,
      #component34 li a:not(.active) h6 {
        color: #cfd1d3 !important; }
      #component34 li a:not(.active) svg path {
        fill: #cfd1d3 !important; }

#component39 {
  margin-top: 280px;
  margin-bottom: 150px;
  padding-top: 120px; }
  #component39 .mbh6 {
    margin-bottom: 60px;
    position: relative;
    padding-bottom: 25px; }
    #component39 .mbh6:after {
      content: "";
      width: 80%;
      height: 1px;
      background: #000000;
      position: absolute;
      bottom: 0;
      left: 0;
      max-width: 250px; }
  #component39 .colun1 {
    display: flex;
    align-items: flex-end;
    margin-bottom: 40px; }
    #component39 .colun1 h6 {
      color: #bdbdbd;
      margin-bottom: 10px; }

#paginaPoli p {
  font-size: 16px; }

#paginaPoli h6 {
  font-size: 20px;
  line-height: 26px; }

#paginaPoli h4 {
  font-size: 30px;
  line-height: 36px; }

.logoCErt img {
  max-width: 177px;
  -webkit-filter: grayscale(100%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(100%);
  height: auto; }

.legenda {
  font-family: Poppins;
  font-style: normal;
  font-size: 15px; }
  .trocaGrafico .bottom h6:nth-child(1) b {
    color: #85BE00; }
.trocaGrafico .bottom h6:nth-child(2) b {
  color: #000; }

.trocaGrafico .bottom h6:nth-child(3) b {
  color: #e20032; }

.trocaGrafico .bottom h6:nth-child(4) b {
  color: #00a0a0; }

.trocaGrafico .bottom h6:nth-child(5) b {
  color: #001e91; }

#component40 {
  position: relative;
  padding: 65px 0; }
  #component40 .jobs-search {
    margin-bottom: 0; }
  #component40 h3 {
    font-size: 56px;
    line-height: 72px;
    letter-spacing: -0.02em;
    color: #533f92;
    font-weight: bold;
    margin-bottom: 140px;
    margin-top: 15px; }
  #component40 h5 {
    color: #fff; }
  #component40 h6 {
    color: #fff; }
  #component40 .bgImagae {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover; }
    #component40 .bgImagae img {
      height: 100%;
      width: 100%;
      object-fit: cover; }
  #component40 .roxo360 {
    background: rgba(0, 30, 145, 0.82);
    background-blend-mode: multiply;
    mix-blend-mode: normal;
    position: relative;
    right: 0;
    height: auto;
    padding: 40px 72px;
    margin-left: auto; }
    #component40 .roxo360 h5 {
      margin-top: 88px;
      margin-bottom: 88px; }
    #component40 .roxo360 .btntext {
      margin-top: 15px;
      margin-bottom: 20px;
      background: #fff;
      color: #000; }
      #component40 .roxo360 .btntext:hover {
        opacity: 0.8; }

#component27 {
  position: relative;
  z-index: 2; }

.menorCinco .btntext {
  display: none !important; }

#component41 {
  background: #f2f2f2;
  padding-top: 350px;
  padding-bottom: 50px;
  /*
    .id23,.id24,.id25 {
        display:none;
    }
*/ }
  #component41 .arrowDown {
    text-align: center;
    margin-top: 20px; }
  #component41 .virgula {
    font-size: 40px;
    line-height: 48px;
    color: #bdbdbd; }
  #component41 .categoryfilter4 span:last-of-type .virgula {
    display: none; }
  #component41 .categoryfilter4 li:last-of-type .virgula,
  #component41 .categoryfilter3 li:last-of-type .virgula {
    display: none; }
  #component41 label {
    color: #bdbdbd;
    font-size: 32px;
    line-height: 1.5;
    margin-bottom: 0; }
  #component41 h4 {
    display: inline-block;
    font-weight: normal;
    color: #bdbdbd;
    font-size: 32px;
    line-height: 1.5;
    margin-bottom: 0; }
    #component41 h4 b {
      font-weight: normal;
      color: #000; }
  #component41 #component12 {
    margin-top: 30px; }
    #component41 #component12 .imgProWra {
      left: 0;
      right: auto; }
    #component41 #component12 .projects-cards-card-description {
      background: transparent;
      margin-left: auto; }
      #component41 #component12 .projects-cards-card-description div {
        padding-bottom: 0;
        padding-top: 0; }
        #component41 #component12 .projects-cards-card-description div h3 {
          padding-top: 0;
          padding-bottom: 0;
          margin-bottom: 20px; }
        #component41 #component12 .projects-cards-card-description div h6 {
          margin-bottom: 190px; }
  #component41 .flex41 {
    display: block;
    text-align: center;
    max-width: 855px;
    margin-left: auto;
    margin-right: auto; }
    #component41 .flex41 form ul {
      display: inline-block;
      margin-bottom: 0; }
      #component41 .flex41 form ul li {
        display: inline-block; }
  #component41 input {
    display: none; }
  #component41 label.active {
    color: #00a0a0; }
  #component41 .arrowClose {
    display: none;
    text-align: center;
    margin-top: 15px; }
  #component41 .arrowDown {
    text-align: center; }
  #component41 #response3 {
    display: none; }
  #component41.postVisivel .arrowDown {
    display: none; }
  #component41.postVisivel .arrowClose {
    display: block; }
  #component41.postVisivel #response3 {
    display: block; }
  #component41 h6 {
    margin-bottom: 30px; }

#interiorN,
#indusN,
#consN,
#grupoN,
#sustentN {
  display: none; }

.pointerNone {
  pointer-events: none; }

#graf1 path, #graf2 path, .graf3 path, .graf4 path {
  transition: all .7s ease; }

#blackgraph3{
  stroke: #85BE00;
}
.greenHover #sustentN {
    display: block;
  }

  .greenHover #totalN {
    display: none; }

.greenHover #blackgraph2{
  fill: #f2f2f2;
}
.greenHover #azulGraf2{
  stroke: #f2f2f2; }
  .greenHover #aquaGraf2 {
    stroke: #f2f2f2; }

  .greenHover #redGraf2 {
    stroke: #f2f2f2; }

  .azulHover #totalN {
    display: none; }
    .azulHover #blackgraph3{
      stroke: #f2f2f2;
    }
  .azulHover #blackgraph2 {
    fill: #f2f2f2; }
.azulHover #totalN {
  display: none; }

.azulHover #aquaGraf2 {
  stroke: #f2f2f2; }

.azulHover #redGraf2 {
  stroke: #f2f2f2; }

.azulHover #consN {
  display: block; }

.azulHover #blackgraph2 {
  fill: #f2f2f2; }

.aquaHover #totalN {
  display: none; }

.aquaHover #azulGraf2 {
  stroke: #f2f2f2; }
  .aquaHover #blackgraph3{
    stroke: #f2f2f2;
  }
.aquaHover #redGraf2 {
  stroke: #f2f2f2; }

.aquaHover #indusN {
  display: block; }

.aquaHover #blackgraph2 {
  fill: #f2f2f2; }

.redHover #totalN {
  display: none; }

  .redHover #blackgraph3{
    stroke: #f2f2f2;
  }
.redHover #aquaGraf2 {
  stroke: #f2f2f2; }

.redHover #azulGraf2 {
  stroke: #f2f2f2; }

.redHover #interiorN {
  display: block; }

.redHover #blackgraph2 {
  fill: #f2f2f2; }

.blackHover #totalN {
  display: none; }

  .blackHover #blackgraph3{
    stroke: #f2f2f2;
  }
.blackHover #aquaGraf2 {
  stroke: #f2f2f2; }

.blackHover #azulGraf2 {
  stroke: #f2f2f2; }

.blackHover #redGraf2 {
  stroke: #f2f2f2; }

.blackHover #grupoN {
  display: block; }

#component35 {
  margin: 135px 0 150px 0; }
  #component35 #azulGraf,
  #component35 #aquaGraf,
  #component35 #redGraf {
    transition: all 0.7s ease; }
  #component35 h4 {
    margin-bottom: 15px; }
  #component35 h5 {
    margin-top: 30px;
    margin-bottom: 60px;
    font-size: 24px;
    line-height: 32px; }
  #component35 .flexTab {
    border-left: 2px solid #000;
    padding-left: 20px;
    margin-bottom: 60px; }
  #component35 .flexBottomGraph {
    text-align: center;
    margin-top: 70px; }
    #component35 .flexBottomGraph li {
      display: inline-block;
      padding-left: 15px;
      border-left: 2px solid #000;
      margin: 0 20px; }
      #component35 .flexBottomGraph li h6 {
        margin-bottom: 0;
        font-size: 14px;
        display: flex; }
        #component35 .flexBottomGraph li h6 b {
          margin-right: 9px;
          font-size: 24px; }
  #component35 .graph_wrapper {
    position: relative; }
    #component35 .graph_wrapper .wrapSvg {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }
    div#sustentabilidade_over {
    position: absolute;
    min-width: 40px;
    min-height: 20px;
    top: 75%;
    border: 0px solid #000;
    left: 44%;
}
    #component35 .graph_wrapper .trocaGrafico {
      position: absolute;
      bottom: 0;
      left: 50%;
      margin-left: 20px;
      border-left: 1px solid #000;
      padding-left: 20px;
      padding-top: 20px;
      width: 50%;
      height: 55%;
      display: flex;
      flex-direction: column; }
      #component35 .graph_wrapper .trocaGrafico .top h1 {
        margin-bottom: 0; }
      #component35 .graph_wrapper .trocaGrafico .top h5 {
        margin-bottom: 0; }
      #component35 .graph_wrapper .trocaGrafico .bottom {
        margin-top: auto; }
        #component35 .graph_wrapper .trocaGrafico .bottom h6 {
          font-size: 14px;
          line-height: 16px;
          margin-bottom: 3px;
          margin-top: 13px; }

#componente37 {
  margin: 180px 0 150px 0; }
  #componente37 h4 {
    margin-bottom: 70px;
    display: block;
    width: 100%;
    border-bottom: 1px solid #000;
    padding-bottom: 48px;
    text-align: center; }
  #componente37 .iniciativas .col-sm-4 .wrapIni {
    margin: 30px 0 0 0;
    border-bottom: 1px solid #000;
    padding-bottom: 0;
    height: calc(100% - 30px);
    margin-bottom: 30px; }
    #componente37 .iniciativas .col-sm-4 .wrapIni h6 {
      font-size: 20px;
      line-height: 24px; }
    #componente37 .iniciativas .col-sm-4 .wrapIni p {
      font-size: 16px; }

.brochuraDownload {
  text-decoration: underline; }

.jobs-search .btntext {
  padding-left: 20px;
  padding-right: 10px;
  background: #fff;
  color: #000;
  padding-top: 9.5px;
  padding-bottom: 9.5px;
  margin-right: 25px; }
  .jobs-search .btntext svg path {
    stroke: #000; }

#component25 .adress h5 {
  font-size: 24px;
  line-height: 42px; }

.tab-pane {
  position: relative; }
  .tab-pane img {
    width: 100%; }
  .tab-pane .valores {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0; }
    .tab-pane .valores .wrapValor {
      position: relative;
      width: 103px;
      height: 45px;
      opacity: 0;
      transition: all 0.7s ease; }
      .tab-pane .valores .wrapValor:hover {
        opacity: 1; }
      .tab-pane .valores .wrapValor span {
        position: absolute;
        left: 0;
        right: 0;
        text-align: center;
        font-family: Poppins;
        font-style: normal;
        font-weight: bold;
        font-size: 14px;
        line-height: 25px;
        letter-spacing: 0.005em;
        color: #000000; }
  .tab-pane#home .valor1 {
    position: absolute;
    bottom: calc(51% - 11px);
    left: calc(10.5% - 51.5px);
    right: 80%;
    width: 0; }
  .tab-pane#home .valor2 {
    position: absolute;
    bottom: calc(75% - 11px);
    left: calc(27.8% - 51.5px);
    width: 0; }
  .tab-pane#home .valor3 {
    position: absolute;
    bottom: calc(56% - 11px);
    left: calc(45.1% - 51.5px);
    width: 0; }
  .tab-pane#home .valor4 {
    position: absolute;
    bottom: calc(58% - 11px);
    left: calc(62.7% - 51.5px);
    width: 0; }
  .tab-pane#home .valor5 {
    position: absolute;
    bottom: calc(79.5% - 11px);
    left: calc(80.1% - 51.5px);
    width: 0; }
  .tab-pane#home .valor6 {
    position: absolute;
    bottom: calc(95% - 11px);
    left: calc(97.7% - 51.5px);
    width: 0; }
  .tab-pane#menu1 .valor1 {
    position: absolute;
    bottom: calc(48% - 11px);
    left: calc(10.5% - 51.5px);
    right: 80%;
    width: 0; }
  .tab-pane#menu1 .valor2 {
    position: absolute;
    bottom: calc(58% - 11px);
    left: calc(27.8% - 51.5px);
    width: 0; }
  .tab-pane#menu1 .valor3 {
    position: absolute;
    bottom: calc(70.5% - 11px);
    left: calc(45.3% - 51.5px);
    width: 0; }
  .tab-pane#menu1 .valor4 {
    position: absolute;
    bottom: calc(70.5% - 11px);
    left: calc(62.7% - 51.5px);
    width: 0; }
  .tab-pane#menu1 .valor5 {
    position: absolute;
    bottom: calc(84.5% - 11px);
    left: calc(80.1% - 51.5px);
    width: 0; }
  .tab-pane#menu1 .valor6 {
    position: absolute;
    bottom: calc(95% - 11px);
    left: calc(97.7% - 51.5px);
    width: 0; }

#key-figures .key-figures-content h1 {
  line-break: anywhere; }

#component8 h6,
#component17 h6 {
  font-size: 20px;
  line-height: 32px; }

.nav-tabs {
  border-bottom: 0; }
  .nav-tabs li:nth-child(1) h4 {
    transition: all 0.7s ease; }
  .nav-tabs li:nth-child(1) .active h4 {
    color: #8991d6; }
  .nav-tabs li:nth-child(2) .active h4 {
    color: #b1a495; }

@media only screen and (min-width: 1700px) {
  #component16 {
    padding-bottom: 37%; } }

@media only screen and (max-width: 1200px) {
  #component40 h3 {
    font-size: 42px;
    line-height: 55px; } }

@media only screen and (min-width: 992px) {
  #component19.imgDir .future-left img {
    position: absolute;
    right: 0; }
  #component40 .absDesk .row {
    position: absolute;
    width: 50%; }
  #component27 {
    margin-top: -100px; }
  h6.fix {
    margin-top: -80px;
    margin-bottom: 80px; }
  #key-figures .key-figures-content h1 {
    font-size: 85px; }
  #component19 h3,
  #component39 h3 {
    font-size: 42px;
    line-height: 55px; }
  #component15 .group {
    padding-top: 170px;
    padding-bottom: 167px; }
  #component15 h3 {
    font-size: 42px;
    line-height: 55px; }
  #component8 h3 {
    font-size: 42px;
    line-height: 55px; }
  .recruit-right {
    padding-right: 0; }
  .tab-pane svg {
    width: 100%; }
  #component4 img {
    max-width: 100%;
    width: calc(100% - 40px);
    height: 100%;
    object-fit: cover;
    position: absolute; }
  #component10 img {
    height: 100%;
    object-fit: cover; }
  #component10 .promise-right {
    padding-left: 50px; } }

.bgCon img {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  bottom: 0;
  object-fit: cover; }

#component31 .slider-slides .slide,
#component31 .slider-slides .layer {
  max-width: 11000px;
  width: 100% !important;
  margin-left: 0;
  margin-right: 0;
  padding-left: 5vw; }

#component3 .business-areas-slider-slide img:nth-of-type(1) {
  height: 100%;
  object-fit: cover; }

@media only screen and (max-width: 1400px) and (min-width: 1101px) {
  #component15 h2 {
    font-size: 46px; } }

@media only screen and (max-width: 1100px) and (min-width: 992px) {
  #component15 h2 {
    font-size: 40px; }
  /*
    #component35 h5 {
        font-size: 30px;
        line-height: 46px;
    }
    */ }

@media only screen and (max-width: 991px) {
  .comNovo .corA {
    padding-top: 0 !important; }
  #component19 {
    margin-top: 207px;
    margin-bottom: 150px; }
    #component19 .future-left img {
      max-width: none;
      width: 100%; }
    #component19.imgDir .future-left {
      order: -1; }
      #component19.imgDir .future-left img {
        width: 100%;
        max-height: 500px; }
  h6.fix {
    margin-top: -25px;
    margin-bottom: 25px; }
  #component25 {
    padding-bottom: 50px;
    padding-top: 0; }
    #component25 .container {
      margin-top: 15px; }
    #component25 .bgCon img {
      position: relative;
      height: auto;
      width: 100%;
      top: auto;
      bottom: auto;
      object-fit: cover; }
  #component3 .business-areas-slider-slide .layer img {
    max-width: 100px; }
  #component3 #card-one .slick-dots {
    top: 20px;
    border: none; }
  #component3 #card-one .business-areas-slider {
    padding-top: 50px; }
  #leftSidenav {
    display: none; }
  #rightSidenav {
    width: 100%;
    min-width: auto !important;
    height: 100vh;
    overflow: auto; }
  #component3 {
    overflow: hidden; }
    #component3 #card-one {
      padding: 0 15px; }
      #component3 #card-one .slick-list,
      #component3 #card-one .slick-track {
        padding-right: 100px; }
    #component3 .business-areas-slider {
      width: calc(100%);
      margin-left: 0px;
      max-height: none; }
      #component3 .business-areas-slider .business-areas-slider-slide {
        max-height: none;
        display: flex; }
  #certification h4 {
    padding-top: 70px; } }

.certification-images img {
  mix-blend-mode: multiply; }

#component12 .projects-cards {
  position: relative;
  height: auto;
  padding-bottom: 150px;
  z-index: 1;
  margin-top: -200px; }

#component31 .slider-slides {
  overflow: initial; }

#component18 {
  position: relative; }
  #component18 .bg18 img {
    position: absolute;
    height: 100%;
    width: 100%;
    object-fit: cover; }

.portfolio-cards .portfolio-cards-card {
  display: none; }

.portfolio-cards .portfolio-cards-card:nth-of-type(1), .portfolio-cards .portfolio-cards-card:nth-of-type(2), .portfolio-cards .portfolio-cards-card:nth-of-type(3), .portfolio-cards .portfolio-cards-card:nth-of-type(4) {
  display: block; }

body.todosVisiveis .portfolio-cards .portfolio-cards-card {
  display: block; }

#component15 .group-right h3 {
  padding-bottom: 30px; }

@media only screen and (min-width: 992px) {
  .page-id-317 #component26 .row .col-lg-3:nth-of-type(2) {
    min-width: 375px; }
  #component25 {
    padding-top: 0;
    padding-bottom: 48%; }
    #component25 .container {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      display: flex;
      flex-direction: column;
      justify-content: center; } }

@media only screen and (max-width: 768px) {
  #component14 .portfolio-filter form #area,
  #component14 .portfolio-filter form #sector {
    padding-right: 15px !important; }
  #component7 img {
    min-height: 400px;
    object-fit: cover; }
  #component11 .projects {
    padding-top: 115px;
    padding-bottom: 365px; }
  #component11 h3 {
    font-size: 32px;
    line-height: 40px; }
  #component12 .container .projects-cards {
    position: relative;
    height: auto;
    padding-bottom: 0; }
    #component12 .container .projects-cards .projects-cards-card {
      position: relative;
      padding: 0;
      display: flex;
      flex-direction: column; }
    #component12 .container .projects-cards:nth-of-type(1) {
      margin-top: -200px; }
    #component12 .container .projects-cards img {
      width: 100%;
      position: relative;
      height: auto; }
    #component12 .container .projects-cards .projects-cards-card-description {
      width: 100%; }
  #component15 .group {
    padding-top: 115px;
    padding-bottom: 100px; }
  #component15 h2 {
    font-size: 24px;
    line-height: 32px; }
  #component15 h3 {
    font-size: 32px;
    line-height: 40px; } }

.button {
  transition: all 0.7s ease;
  border: 1px solid transparent; }

.button:hover {
  background-color: #ffffff;
  color: #000000;
  border: 1px solid #000; }

.single-portefolio .site-main.id4 #component32 p span,
.single-portefolio .site-main.id4 #component32 .overview-techfile h6, .single-portefolio .site-main.id13 #component32 p span,
.single-portefolio .site-main.id13 #component32 .overview-techfile h6 {
  color: #e20032; }

.single-portefolio .site-main.id15 #component32 p span,
.single-portefolio .site-main.id15 #component32 .overview-techfile h6, .single-portefolio .site-main.id16 #component32 p span,
.single-portefolio .site-main.id16 #component32 .overview-techfile h6 {
  color: #001e91; }

#component18 {
  background-color: #004700; }

@media only screen and (min-width: 1200px) {
  #component0 .intro-slider .slide {
    min-height: 840px; }
  #component0 .slide .intro-about .row {
    padding: 424px 0 175px 0; } }

@media only screen and (min-width: 991px) {
  #component12 {
    margin-top: -235px; }
  #component11 .projects {
    padding-top: 235px; }
  #component40 h3,
  #component31 h3 {
    font-size: 42px;
    line-height: 55px; } }

@media only screen and (max-width: 375px) {
  .navbar-right {
    max-width: 183px !important;
    min-width: 127px !important; }
  .wpml-ls-legacy-list-horizontal {
    padding-left: 0;
    padding-right: 0; }
  #mainLogo2 svg {
    width: 120px; } }

@media only screen and (max-width: 600px) {
  #component19.imgDir .future-left img {
    max-height: 400px; }
  .logoCErt img {
    max-width: 40%; }
  #component4 .recruit-left {
    width: calc(100% + 30px);
    height: auto;
    padding-left: 0;
    padding-right: 0;
    margin-left: -15px;
    display: block;
    float: left;
    max-width: none;
    flex: none; } }

@media screen and (max-width: 900px) {
  #component30 .case {
    margin-bottom: 116px; }
  #component27 .industry-intro img {
    max-height: 400px; }
  #component39 {
    margin-top: 49px;
    margin-bottom: 150px;
    padding-top: 120px; } }

@media screen and (max-width: 768px) {
  #component30 .case {
    margin-bottom: 0; }
  #component31 .slider-slides .slide, #component31 .slider-slides .layer {
    padding-left: 0; }
  #component31 .slick-dots {
    left: 0;
    transform: none;
    top: -72px;
    padding-left: 0;
    width: 100%; }
  #component39 {
    margin-top: 225px;
    margin-bottom: 150px;
    padding-top: 0; }
    #component39 h3 {
      font-size: 32px;
      line-height: 40px; }
  #component40 .roxo360 {
    padding: 22px 20px !important; }
  #component40 h3 {
    font-size: 31px !important;
    line-height: 43px !important;
    margin-bottom: 65px !important; }
  #component40 h5 {
    font-size: 20px;
    line-height: 32px;
    margin-top: 20px !important; } }

@media screen and (max-width: 700px) {
  #component35 .graph_wrapper .trocaGrafico .bottom h6 {
    font-size: 18px !important; }
  #component35 .graph_wrapper {
    transform: scale(0.8); }
  #totalN {
    font-size: 63px;
    line-height: 1; }
  #component35 .graph_wrapper .trocaGrafico {
    /*
        bottom: 10%;
        height:40%;
        */
    /*
         .bottom {
            padding-bottom: 28px;
            margin-top: 25px;

            h6 {
                margin-top: 8px;
            }
        }
        */ }
    #component35 .graph_wrapper .trocaGrafico h1 {
      font-size: 63px;
      line-height: 1; }
    #component35 .graph_wrapper .trocaGrafico h6 {
      font-size: 18px;
      line-height: 1.5; } }

@media screen and (max-width: 500px) {
  #component35 .graph_wrapper {
    transform: scale(0.7); } }

@media screen and (max-width: 410px) {
  #component35 .graph_wrapper {
    transform: scale(0.6); } }

@media screen and (max-width: 360px) {
  #component35 .graph_wrapper {
    transform: scale(0.5); } }

.container {
  width: 100%;
  max-width: 1440px;
  padding-left: 72px;
  padding-right: 72px;
  /*   div{
    padding: 0;
  } */ }
  @media screen and (max-width: 600px) {
    .container {
      width: 100%;
      padding-left: 32px;
      padding-right: 32px; } }

.container-fluid {
  padding-left: 0;
  padding-right: 0; }

.imgfit {
  display: block;
  width: 100%;
  height: auto; }
  .imgfit img, .imgfit source {
    display: block;
    width: 100%;
    height: auto; }

.white {
  color: #FFFFFF; }

.black {
  color: #000000 !important; }

.grey {
  color: rgba(0, 0, 0, 0.3); }

.lightgrey {
  color: rgba(255, 255, 255, 0.4); }

.green {
  color: #00A0A0; }

.transparency {
  color: rgba(255, 255, 255, 0.4);
  background-color: transparent !important; }

.bg-green {
  background-color: #00A0A0; }

body {
  color: #000000; }

h1, h2, h3, h4, h5, h6 {
  font-family: Poppins;
  font-style: normal;
  font-weight: bold; }

h1 {
  font-size: 96px;
  line-height: 104px; }

h2 {
  font-size: 56px;
  line-height: 72px; }

h3 {
  font-weight: 300;
  font-size: 48px;
  line-height: 64px;
  letter-spacing: 0.5%; }

h4 {
  font-size: 38px;
  line-height: 46px; }

h5 {
  font-weight: normal;
  font-size: 32px;
  line-height: 48px; }

h6 {
  font-size: 24px;
  line-height: 32px; }

p, small, caption {
  font-family: Poppins;
  font-style: normal;
  font-weight: normal; }

p {
  font-size: 20px;
  line-height: 32px;
  margin: 0; }

small {
  font-size: 16px;
  line-height: 24px; }
  small.caption {
    font-weight: bold;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.5%; }

strong {
  font-weight: 700; }

.textmenu {
  font-family: Poppins;
  font-style: normal;
  font-weight: bold;
  font-size: 24px !important;
  line-height: 40px !important; }

.overline {
  font-family: Poppins;
  font-weight: bold;
  font-style: normal;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: 5.5%; }

.btntext {
  font-family: Poppins;
  font-weight: bold;
  font-style: normal;
  font-size: 20px;
  line-height: 30px;
  color: #FFFFFF; }

.button {
  background-color: #000000;
  color: #FFFFFF;
  border: none; }

ul {
  list-style-type: none;
  padding: 0; }

a {
  color: inherit; }

a:hover {
  text-decoration: none;
  color: inherit; }

.first-order {
  display: none; }

.underline {
  width: 22px;
  border-bottom: 2px solid;
  height: 0;
  display: inline-block; }

.line:hover {
  text-decoration: underline; }
