@import url('../fonts/TTOctosquaresComp-Medium/style.css');
html,body{
  font-family: breakers;
  font-style:normal;
  font-weight:300;
  margin:0px;
  padding:0px;
  border:0px;
  overflow-x:hidden;
}
:root{
  --theme-orange:#ED7529;
  --theme-purple:#5A6B8C;
  --theme-blue:#094199;
  --theme-white:#FFFFFF;
  --theme-grey:#EEEEEE;

/*  
    --bs-breakpoint-xs: 0;
    --bs-breakpoint-sm: 576px;
    --bs-breakpoint-md: 768px;
    --bs-breakpoint-lg: 992px;
    --bs-breakpoint-xl: 1200px;
    --bs-breakpoint-xxl: 1400px; 
*/

}

.top-header{
  width: 100%;
  height: 56px;
  background-color: var(--theme-blue);
}

.flags{
  text-decoration: none;
  color:var(--theme-white);
  font-weight:bold;
  margin-left:.5rem !important;
}
.flags-active{
  text-decoration:underline;
}

.country-flags{
  width:2rem;
  height:2rem;
  object-fit: fill;
  background-color: var(--theme-white);
  border-radius:1.3rem;
  border:.13rem solid var(--theme-white);
  transition: .1s ease all;
  padding-top:-1rem;
}

.country-flags:hover{
  width:2.1rem;
  height:2.1rem;
  margin-top:-.4rem !important;
}

.logo-img {
  width: 80%;
  height: auto;
  margin-left: 10%;
}

/* Menu */

#menu{
  height:80px;
}

.menu-height{
  height:80px;
}

.menu ul {
  text-align:center;
}

.underline{
  text-decoration:underline !important;
}

.menu ul li{
  display: inline;
  list-style-type: none;
  margin-right:1.5rem;
}

.menu ul li ul.sub-menu{
  display: none;
  position: absolute;
  transform:translate(-3rem,0rem);
  background-color: #f1f1f1;
  min-width: 160px;
  box-shadow: 3px 8px 16px 3px rgba(0,0,0,0.2);
  z-index: 2;

  text-align: center;
  background-color:var(--theme-white);
  border:1px solid #CCCCCC;
}
.menu ul li:hover ul.sub-menu{
  display: block;
  margin-left:3rem;
  padding-left:2rem;
  padding-bottom:1rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
  height: auto;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.01);
}

.menu ul li ul.sub-menu li{
  color:var(--theme-purple);
  list-style-type:disc !important;
}
.menu ul li ul.sub-menu li a{
  width:100px;
  height:2rem;
  text-align: left;
}

.menu ul li ul.sub-menu li{
  display:block;
  text-align: left;
}

.menu a {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  padding: 10px 0;
  color: var(--theme-purple);
  text-decoration: none;
}
.menu a:hover {
  text-decoration:underline;
}

.open-menu-mobile i {
  transform: translate(0px, -0.41rem);
}

.open-menu-mobile {
  width: 2.4rem;
  height: 2.4rem;
  
  font-size:1.5rem;
  text-align:center;

  color:var(--theme-white) !important;
  background-color: var(--theme-blue);
  
  text-decoration:none;
  display:block;

  border:1px solid var(--theme-blue);
  border-radius:2px;
  float:right;
}

.banner-title .strong400{
  font-weight:400 !important;
}
.banner-title strong{
  font-weight:900 !important;
}

.banner-title .strong900{
  font-weight:900 !important;
}

.banner-title{
  font-family:'TT Octosquares Compressed';
  width:40%;
  color:var(--theme-white);
  border-left:.6rem solid var(--theme-white);
  text-align: left;
  margin-left:15%;
  padding-left:1rem;
  /* margin-top:80px; */
  margin-top:10%;
  font-size:4rem;
  line-height:4.2rem;
  letter-spacing:3px;
  font-weight:600;
  text-shadow: 2px 2px rgba(0,0,0,1);
}

.banner-title-aplan{
  /* font-family:'TT Octosquares Compressed'; */
  width:40%;
  color:var(--theme-purple) !important;
  border-left:.6rem solid var(--theme-orange);
  text-align: left;
  margin-left:10%;
  padding-left:1rem;
  margin-top:80px;
  font-size:2rem;
  font-weight:200;
}

#mapa{
  margin-top:-4.5rem;
}

.trapezio-white-bg{
  background-image:url('../img/bg-map-title.png');
}

.trapezio-orange-bg{
  background-image:url('../img/bg-orange-title.png');
}

.trapezio-blue-bg{
  background-image:url('../img/bg-blue-title.png');
}

.trapezio-title{
  height:4rem;
  width:33.33%;
  margin-top:-2rem;
  transform:translate(0,-38%);
  z-index:2;
  text-align:center;
  background-repeat:no-repeat;
  background-size:contain;
  letter-spacing:2px;
}
.trapezio-title-text{
  color: var(--theme-purple);
  font-size: 1.5rem;
  padding-top:.8rem;
  font-weight:400;
}

.text-orange{
  color: var(--theme-orange);
}

.text-purple{
  color: var(--theme-purple);
}

.numbers-title + p {
  font-size:1.05rem;
  line-height:1.25rem;
  margin-top: -1.5rem;
  color:var(--theme-purple);
  letter-spacing:1px;
  text-align:center;
}

.numbers-title i{
  font-size:3rem;
  font-weight:900;
}

.numbers-title{
  color:var(--theme-orange);
  font-size:3.8rem;
  font-weight:800;
}

.numbers-description{
  color:var(--theme-purple);
  font-size:1rem;
}

.footer{
  background-color:var(--theme-blue);
  color:var(--theme-white);
  text-align:left;
  line-height:1.2rem;
  font-weight:100;
}

.footer .contact-data h4{
  font-size:1.3rem;
  margin-left:-1.5rem;
}
.footer .contact-data p{
  text-indent:-.5rem;
  padding-left: 1rem;
  margin-bottom:.25rem;
}

.footer .contact-data span > img{
  margin-left:-2rem;
  margin-right:.5rem;
}
.copyrights{
  font-size:.8rem;
}
.footer-bottom{
  text-align:center;
  background-color:var(--theme-purple);
  color:var(--theme-white);
}
.footer-bottom img{ 
  image-rendering: smooth;
  max-height:36px;
  width:auto;
}
.footer-bottom a{
  color:var(--theme-white);
  text-decoration:none;
  font-weight:100;
}

.socials-mail i{
  margin-right:.3rem !important;
}
.socials i{
  font-size:1.5rem;
  position:relative;
  margin-left:-1.3rem;
  margin-right:2.3rem;
  margin-top:.5rem;
  margin-bottom:.5rem;
  
  color:var(--theme-white);
  text-decoration:none;
}

.logo-footer-bottom{
  transform:translate(.25rem,-.25rem);
}
.partners{
  text-align:center;
  min-height:400px;
}
.partners-title{
  font-size:2rem;
  color:var(--theme-purple);
  font-weight:400;
}


#products{
  margin-top:-4.5rem;
}

.products{
  background-color:#EEEEEE;
}

.product-box:hover{
  background-color:var(--theme-white);
  -webkit-box-shadow: 5px 0px 3px -2px rgba(194,194,194,0.66);
  box-shadow: 5px 0px 3px -2px rgba(194,194,194,0.66);
}
.product-box{  
  text-align:center;
  text-decoration: none;
  margin-top:4rem;
  margin-bottom:4rem;
  position:relative;
  padding-top:2rem;
  padding-bottom:1rem;
  pading-left:-1rem;
  pading-right:-1rem;
  
  background-color:var(--theme-white);
  border-radius:1.5rem;
  -webkit-box-shadow: 10px 0px 3px -2px rgba(194,194,194,0.66); 
  box-shadow: 10px 0px 3px -2px rgba(194,194,194,0.66);
  transform:1s ease all;
  
}
.product-box img{
  width:90%;
  height:auto;
  background-color:transparent;
  margin-top:1rem;
  
}

.product-box:after{
  content:'------------';
  color:transparent;
  width:80%;
  background-color:transparent;
  border-bottom: .3rem solid var(--theme-orange);
  transform:translate(-50%,0);
  line-height:.6rem;
  position:absolute; 
  bottom:2rem;
  text-align:center;
}

.no-wrap{
  white-space: nowrap;
}

.products-title {
  width:100%;

  font-size: 1.7rem !important;
  font-family:'breakers' !important;
  font-weight: 700 !important;
  color: var(--theme-purple);
  text-align:center !important;

  margin-top:1rem;
  transform:translate(0%,0);

  padding-bottom: 0.75rem;
  letter-spacing: 0rem;
  position: relative;
  overflow:visible;
  background-color:transparent;
}

#services{
  margin-top:-4.5rem;
  width:100vw;
}

.services{
  min-height:400px;
  width:100%;
  background-color:var(--theme-purple);
  background-image:url('../img/services-bg-opacity-20.png');
  background-size:calc(2.15*650px) 124%;
  background-repeat:repeat;
  background-position:0px -160.25px;
}


.service-box-img{
  max-width:65% !important;
  height:auto;
  padding:2rem;
  background-color:var(--theme-white);
  border-top-left-radius:2.6rem;
  border-top-right-radius:2.6rem;
  position:relative;

}

.service-box{
  min-height:200px;
  text-align:center;
  text-decoration: none;
  transform:1s ease all;
  position:relative;
}

.inner-radius-right{
  border-top-left-radius:0rem !important;
}
.inner-radius-left{
  border-top-right-radius:0rem !important;
}


.service-title{
  font-size:1.3rem;
  line-height:1.7rem;
  font-weight:100;
  color: var(--theme-white);
  position:relative;
  /* border-bottom:.17rem solid var(--theme-orange); */
  width:60%;
  margin-left:20%;
  margin-top:1rem;
}

.service-title.underline-orange-right{
  text-align:right;
  transform:translate(.25rem);
}

.service-title.underline-orange-right:after{
  content:'-';
  color:transparent;
  width:66%;
  height:1rem;
  float:right;
  position:absolute;
  margin-left:calc(-66%);
  bottom:-.25rem;
  border-bottom: 0.13rem solid var(--theme-orange);
}

.service-title.underline-orange-left{
  text-align:left;
  transform:translate(-.25rem);
}

.service-title.underline-orange-left:before{
  content:'-';
  color:transparent;
  width:66%;
  height:1rem;
  float:left;
  position:absolute;
  margin-left:calc(0%);
  bottom:-.25rem;
  border-bottom: 0.13rem solid var(--theme-orange);
}

.service-title.underline-orange:before{
  content:'-';
  color:transparent;
  width:66%;
  height:1rem;
  float:left;
  position:absolute;
  margin-left:calc(7%);
  bottom:-.25rem;
  border-bottom: 0.13rem solid var(--theme-orange);
}

.menu-list{
  display:block;
  float:right;
}


/* Solutions Page */

.cover-img{
  height:500px;
  background-size:cover; 
  background-position: center center;
  background-repeat:no-repeat !important;
}

.border90-left{
  border-top-left-radius:0rem !important;
}

.border90-right{
  border-top-right-radius:0rem !important;
  float:right !important;
}

.service-card{
  min-height:260px;
  margin-bottom:4rem;
  background-color:var(--theme-white);
  
  box-shadow: 3px 5px 12px -1px rgba(0,0,0,0.35);

  border-top-left-radius:1.4rem;
  border-top-right-radius:1.4rem;
  border-bottom-left-radius:1.4rem;
  border-bottom-right-radius:1.4rem;
}

.after-right{
  float:right !important;
  text-align:right;
}

.service-desc-title.underline-left:before{
  content: '---------';
  width:120px;
  height: 0.15rem;
  color: transparent;
  float:left;
  border-bottom: 0.15rem solid var(--theme-orange);
  position: absolute;
  transform:translate(0%, 2.3rem);
}
.service-desc-title.underline-right:after{
  content: '---------';
  width:120px;
  height: 0.15rem;
  color: transparent;
  float:left;
  border-bottom: 0.15rem solid var(--theme-orange);
  position: absolute;
  transform:translate(-100%, 2.3rem);
}

.service-desc-title{
  width:100%;
  font-size:2rem;
  color:var(--theme-purple);
  font-weight:600;
  padding-bottom:.5rem;
}

.service-description:before{
  content: '---------';
  width:100px;
  height: 0.15rem;
  color: transparent;
  float:left;
  border-top: 0.15rem solid transparent;
  position: absolute;
  left:calc(50% - 50px);
  transform:translate(0, -2.5rem);
  margin-top:-1.5rem;
}

.service-description{
  color:var(--theme-purple);
  font-weight:200;
  font-size:1rem;
  line-height:1.2rem;
}

.service-card-text{
  float:left;
  text-align:left;
}

.text-desc-right{
  text-align:right !important;
  float:right !important;
}

.service-card-img {
  padding:0rem;
}
.service-card-img img{  
  max-height:140px;
  width:auto;
}

.title-orange {
  width:100%;
  font-size: 1.9rem;
  font-weight: 550;
  color: var(--theme-white);
  text-align: center;
  border-radius: 2.5rem;
  text-decoration: none;
  background-color: var(--theme-orange);
  
  padding-top: 0.56rem;
  padding-bottom: 0.35rem;
  padding-left: 6%;
  padding-right: 6%;
  letter-spacing:1.5px !important;
}


/* *** Página carreira *** */

.career-container{
  padding-left:5rem !important;
  padding-right:6rem !important;
}

.career-box{
  min-height:220px;
  background-color:var(--theme-white);
  text-align:justify;
  box-shadow: 3px 5px 12px -2px rgba(0,0,0,0.35);

  border-top-left-radius:1.4rem;
  border-top-right-radius:1.4rem;
  border-bottom-left-radius:1.4rem;
  border-bottom-right-radius:1.4rem;

  padding-left:1.7rem;
  padding-right:1.7rem;
  margin-top:3rem;
}
.career-title{
  font-size:1.7rem;
  line-height:1.85rem;
  font-weight:600;
  letter-spacing:.5px;
  text-align:center;
  color:var(--theme-purple);
}

.career-description > p{
  font-size:1rem;
  line-height:1.3rem;
  color:var(--theme-purple);
}

.career-description{
  font-size:1rem;
  line-height:1.3rem;
  color:var(--theme-purple);
  position:relative;
  padding-top:2rem;
}
.career-description:before{
  content: '---------';
  width:100px;
  height: 0.15rem;
  color: transparent;
  float:left;
  border-top: 0.15rem solid var(--theme-orange);
  position: absolute;
  left:calc(50% - 50px);
  transform:translate(0, -2rem);
}
.theme-bg-grey{
  background-color:var(--theme-grey);
}


/* Formulário */
.career-form .caret{
  font-size:1.3rem;
  color:var(--theme-orange);
  float:right;
  padding-bottom:.45rem;
  transform:translate(1rem,0);
}

.wpcf7-response-output{
  width: calc(100% - 32px)!important;
  margin-left: 46px!important;
  margin-bottom: 40px!important;
}

.career-form p{
  margin-bottom: 0px!important;
}

.career-form option:hover{
  color:var(--theme-purple);
  background-color:var(--theme-orange) !important;
}

.career-form select option{
  font-size:1.2rem;
  font-weight:200;
  color:var(--theme-purple);
}
.career-form input:focus, select:focus{
  outline:1px solid var(--theme-purple);
}
label.error{
  color:var(--bs-red);
  text-indent:1rem;
}

.career-form select{
  padding-right:1rem;
  text-overflow: ;
}

.career-form select::selection{
  background-color:var(--theme-orange) !important;
}

.career-form input, select{
  width:100%;
  height:3.5rem;
  font-size:1.2rem;
  font-weight:300;
  color:var(--theme-purple);
  border:0;
  box-shadow: 3px 5px 12px -2px rgba(0,0,0,0.35);
  background-color:var(--theme-white);
  border-radius:1.3rem;
  text-indent:1.5rem;
  padding-top:.65rem;
  padding-bottom:.5rem;
  margin-bottom:1rem;
}

.career-form textarea{
  width:100%;
  font-size:1.2rem;
  font-weight:300;
  color:var(--theme-purple);
  border:0;
  box-shadow: 3px 5px 12px -2px rgba(0,0,0,0.35);
  background-color:var(--theme-white);
  border-radius:1.3rem;
  text-indent:1.5rem;
  padding-top:1.5rem;
  padding-bottom:.5rem;
  margin-bottom:1rem;
}

.career-form .title-orange {
  width:105%;
  font-size: 1.9rem;
  font-weight: 550;
  color: var(--theme-white);
  text-align: center;
  border-radius: 1.3rem;
  text-decoration: none;
  background-color: var(--theme-orange);
  
  padding-top: 0.86rem;
  padding-bottom: 0.85rem;
  padding-left: 6%;
  padding-right: 6%;
  letter-spacing:1.5px !important;
}

.career-form button{
  width:50%;
  font-size: 1.9rem;
  font-weight: 550;
  color: var(--theme-white);
  text-align: center;
  border-radius: 1.2rem;
  text-decoration: none;
  background-color: var(--theme-orange);
  border:0;
  margin-left:30%;
  margin-bottom:2rem;
  padding-top: 0.56rem;
  padding-bottom: 0.56rem;
  padding-left: 4%;
  padding-right: 4%;
  letter-spacing:1.5px !important;
}

.transparent i{
  color:transparent !important;
}


.career-form .upload img{
  position:absolute;
  transform:translate(4rem,.5rem);
}
.career-form .upload{
  position:relative;
}

.custom-file-input::-webkit-file-upload-button {
  visibility: hidden;
}

input.custom-file-input:focus{
  outline:none;
}
input.custom-file-input{
  width:100%;
  height:4.5rem;
  font-weight:300;
  color:transparent;
  border:0;
  border-radius:1.3rem;
  box-shadow: 3px 5px 12px -2px rgba(0,0,0,0.0);
  background-color:transparent;
  
  text-indent:2.5rem;
  padding-left:25%;
  padding-top:.65rem;
  padding-bottom:.15rem;
  margin-bottom:.5rem;
  overflow:visible;
}

.custom-file-input:before:active{
  background-color:var(--theme-purple);
}

.custom-file-input::before {
  content: 'Adicionar Arquivo';
  font-size: 1.5rem;
  font-weight: 200;
  text-indent:.5rem;
  color:var(--theme-white);
  border-radius:1rem;
  border: none;
  outline: none;
  
  cursor: pointer;
  display: inline-block;
  padding: .46rem 15%;
  background-color:var(--theme-purple);
  white-space: nowrap;
  -webkit-user-select: none;
}
.custom-file-input:hover::before {
  border-color: transparent;
}
.custom-file-input:active::before {
  background: -webkit-linear-gradient(top, #e3e3e3, #f9f9f9);
}

.aplan-description{
  font-size:1.7rem;
  line-height:1.7rem;
  color:var(--theme-purple);
  text-align:left;
  font-weight:300;  

}



.accordion i {
  font-size:2rem;
  color:var(--theme-orange);
  transform:translate(1rem,.35rem);
  margin-right:1rem;

}

.accordion span:before{
  content:'------------';
  color:transparent;
  width:100px;
  background-color:transparent;
  border-bottom: .125rem solid var(--theme-orange);
  transform:translate(0rem,1.0rem) !important;
  line-height:.6rem;
  position:absolute; 
  bottom:2rem;
  text-align:center;
}

.accordion span{
  font-size:1.43rem !important;
  font-weight:550;
  letter-spacing:.5px;
  margin-left:.65rem;
}

.accordion {
  background-color:var(--theme-white);
  border-radius:1.15rem;
  border-bottom-left-radius:0rem !important;
  -webkit-box-shadow: 5px 5px 4px 1px rgba(194,194,194,0.66); 
  box-shadow: 5px 5px 4px 1px rgba(194,194,194,0.66);
  transform:1s ease all;

  color: var(--theme-purple);
  cursor: pointer;
  width: 100%;
  height:3.75rem;
  border: none;
  text-align: left;
  outline: none;
  transition: 0.4s;
  font-size:1rem;
  line-height:2.2rem;
  padding: .5rem;
  position:relative;
}

.active, .accordion:hover {
   background-color:var(--theme-white);
   -webkit-box-shadow: 5px 5px 4px 1px rgba(194,194,194,0.66); 
   box-shadow: 5px 5px 4px 1px rgba(194,194,194,0.66);
}

.accordion:after {
  content: '\002B';
  color: var(--theme-orange);
  font-weight: bolder;
  float: right;
  margin-right: .5rem;
  font-size:2rem;
  transform:translate(-.35rem,.3rem);
}

.active:after {
  content: "\2212";
}

.thumb-coutry{
  height:1.5rem;
  width:1.5rem;
}

.panel h4{
  color:var(--theme-orange);
}

.panel p{
  padding-top: 0rem;  
  line-height:1.25rem;
}
.panel-container{
  height: 0;
  background-color:transparent;
  box-shadow: 5px 5px 4px 1px rgba(194,194,194,0.0);
}
.panel-container.active:after {
  content: "" !important;
}
.panel.active:after {
  content: "" !important;
}
.panel .main-thumb{
  width:90%;
  height:auto;
  transform:translate(7.5%, 0);
}

.panel {
  color:var(--theme-purple);
  padding: 0 18px;
  background-color: white;
  max-height:0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  
  margin-top:1rem;
  margin-bottom:1rem;

  border-radius:1.15rem;
  border-top-left-radius:0rem !important;
}

.shadow-box{
  -webkit-box-shadow: 5px 5px 4px 1px rgba(194,194,194,0.66); 
  box-shadow: 5px 5px 4px 1px rgba(194,194,194,0.66);
}
