/*BASIC STYLES*/
*{
 margin:0;
 padding:0;
 box-sizing: border-box;
 font-family:"Poppins", Arial, Helvetica, sans-serif;
 scroll-behavior: smooth;
 scroll-margin-top:90px;
}
body{
    font-size:16px;
}
:root{
    --primary-color:#2e302b;
    --primary-dark-color: #271e1b;
    --secondary-color:#2c2e29;
}
h1{font-size:2.2em; text-transform: uppercase;}
h2{font-size:1.6em;text-transform: uppercase;}
h1,h2{
    padding:20px 0;
}
p{
    margin:20px 20px;
}
a{
    text-decoration: none;
}
.list {
    margin-left: 40px;
    margin-top: 20px;
    margin-bottom: 28px;
}
/*HEADER*/
.menu {
    position:sticky;
    width: 100%;
    background-color: var(--primary-dark-color);
    box-shadow: 0px 4px 6px black;
    transition:0.5s;
    z-index: 999;
}
.menu-open{
    height:250px;
}
.fa-bars{
    color:white;
    font-size:34px;
    cursor: pointer;
}
.menu nav ul{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}
.menu nav ul li{
    list-style: none;
    font-size:16px;
    width:100%;
    text-align: center;    
    text-transform: uppercase;
    border-left:solid 1px white;
    background-color: transparent;
}
.menu nav ul li:last-of-type{
    border-right:solid 1px white;
}
.menu nav ul li a {
    width: 100% !important;
    background-color: var(--primary-dark-color);
    text-decoration: none;
    color: white;
    display: inline-block;
    padding:20px 10px;
    transition: 0.5s;
}
.menu nav ul li a:hover{
    text-decoration:none;
    background-color:var(--primary-color);
    color:white;    
}header .logo img {
    width: 375px;
}
.header-scroll{width: 100%; z-index: 999;}
/*FOOTER*/
footer{
    background-color:var(--primary-color);
    padding-bottom:60px;
}
footer nav{
    display: flex;
    justify-content: center;
    margin:20px 0;
}
footer nav ul li{
    display: inline;
    text-decoration: none;
    font-size:20px;
    text-align:center;
}
footer nav ul li:after{
    content:"/";
    color:white;
    margin:0 5px;
}
footer nav ul li:last-child:after{
    content:"";
}
footer nav ul li a{
    text-decoration: none;
    color:white;
    text-transform: uppercase;
}
footer address{
    color:white;
    text-align: center;
}
footer address span{
    padding:0 10px;
}
footer address span a{
    color:white;
    text-align: center;
}
.address__contact{
    font-size: 24px;
}
footer .logo img {
    width: 375px;
}
/* SMALL DEVICE */
@media only screen and (max-width: 576px) {
    footer .logo img {
    width: 100%;
}
footer nav ul{
    display:flex;
    flex-direction: column;
    justify-content:center;
    align-items:center;
}
footer nav ul li{
    background-color:black;
    width:100%;
    padding:10px;
    margin:10px auto;
}
}
/*LOGO*/
.logo img{
    width:350px;
    max-width:100%;
}

/*INSTITUTIONAL*/
.mvv{
    display: flex;
    transition: 0.5s;
}
.mvv__title{
    text-align: center;
    font-size: 30px;
    margin:20px 0;
}
.mvv__text{
    text-align: center;
    font-size:18px;
}
.mvv__card {
    width: 100%;
    height: 300px;
    background: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),var(--background);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 60px 20px;
    margin: 48px 10px;
    color: white;
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mvv__card--cover {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
    background-color: var(--primary-color);
    top: 0;
    left: 0;
    transition: 0.5s;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.mvv__card--cover:hover{
    opacity: 1;
}
@media only screen and (max-width:720px){
    .mvv{
        flex-direction: column;
    }
    .mvv__card{
        margin:20px 0;
    }
}
/*BOOTSTRAP*/
.wrapper{
    max-width: 1100px;
    width:100%;
    margin: 0 auto;
    box-sizing: border-box;    
}
.container{
    padding:20px 0;
}
.text-center{
    text-align:center;
}
.btn{
    background-color:var(--primary-color);
    text-decoration: none;
    color:white;
    padding:20px 20px;
    border-radius:10px;
    transition:0.5s;
    margin:20px 0;
}
.btn:hover{
    background-color:var(--secondary-color);
}
.bg-dark-primary{
    background-color:var(--primary-dark-color);
}
.btn--green{
    background-color:green;
}
.picture-center{
    display: block;
    margin:0 auto;
}
.d-flex{
    display: flex;
}
.justify-content-center{
    justify-content: center;
}
.justify-content-between{
    justify-content: space-between;
}
.align-items-center{
    align-items: center;
}
.flex-column{
    flex-direction: column;
}
.flex-row{
    flex-direction: row;
}
.flex-wrap{flex-wrap: wrap;}
.is-desk{
    display: block;
}
.is-mobile{
    display: none;
}

@media only screen and (max-width:1024px){
    .is-desk{
        display:none;
    }
    .is-mobile{
        display: block;
    }
}
.w-100 {
    width: 100%;
}
.w-50{
    width: 50%;
}
.h-100{
    height:100%;
}
@media only screen and (max-width:924px){
  .w-50{
      width:100%;
  }
}
.grid{
    display: grid;
}
.grid-col-2{
    grid-template-columns: repeat(2,1fr);
}
.grid-col-3{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap:20px;
}
@media only screen and (max-width: 1024px){
    [class*="grid-col"]{
        grid-template-columns: 1fr !important;
    }
}
.p-1{
    padding:10px;
}
.bg-primary{
    background-color:var(--primary-color);
}
.bg-secondary{
    background-color:var(--secondary-color);
}
.light{color:white;}
/*CTA*/
.cta{
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
    align-items: center;
    flex-direction: row;
    background-color:var(--primary-dark-color);
    width: 100%;
    padding:60px;
    gap:60px;
}
.cta a {
    margin: 5px;
    text-align: center;
}
.cta__text{
    color:white;
    font-size:26px;
}
.cta__btn{
    background-color:var(--primary-color) ;
    transition:0.5s;
    
}
.cta__btn:hover {
    filter: invert(1);
}
.cta__bold{
    font-weight: bold;
    font-size:36px;
    text-align: center;
}
/*SERVIÇOS*/
.services__main--container{
    display: flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content: center;
}
.services__main--container a{
    margin:10px;
}
.services {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-direction: row;
    height:350px;
}
.services__title {
    color: white;
    font-size: 2.5em;
}
.services__title__h3{
    color: white;
    font-size: 2em;
}
.services__list li{
    color:white;
}
.services__btn {
    margin: 20px 0 !important;
    text-align:center;
    transition:0.5s;
    font-weight:400;
}
.services__btn:hover{
      filter: invert(1);
}
.services-img__relative {
    position: relative;
}
.services-img__relative__absolute {
    position: absolute;
    left: -177px;
    top: -233px;
}
.services__card .services__image{
    width:100%;
}
.services__card .services__title{
    font-size: 1rem;
     text-align: center;
}
.services__card .services__item {
    position: relative;
    transition: 0.5s;
    top: 0;
    margin: 0 20px;
    width: 300px;
    max-width: 100%;
}
.services__card .services__item:hover{
    top:-20px;
    background-color:var(--primary-dark-color) !important;
}
@media only screen and (max-width:1024px){
    .services{
        display: block;
        height: auto;
        padding:40px 20px;
        margin:20px 0;
    }
    .services-img__relative__absolute{
        display: none;
    }
    .services__btn{
        width:100%;
    }
}
@media only screen and (max-width:720px){
    .services{
        display: block;
        height: auto;
        padding:40px 20px;
        margin:20px 0;
    }
    .services-img__relative__absolute{
        display: none;
    }
}
/*Institutional*/
.institucional p{
    text-align: center;
}
.banner img {
    width: 100%;
}
.bread-container{
    background-color: var(--secondary-color);
    padding:30px 0;
}
.bread-container h1{
    color:white !important;
}
.breadcrumb a, .breadcrumb span{
    color:white;
    font-weight: 600;
    text-transform: uppercase;
}
.breadcrumb a::after {
    content:"/";
    padding:0 5px;
}
.bread-container{
    background-color: var(--secondary-color);
}
.aside {
    border: solid 1px gray;
    border-radius: 20px;
    padding: 30px;
    margin: 10px 20px;
}
.aside li a,.aside a{
    text-decoration: none;
    color:black;
}
.aside li{
    list-style:none;
    padding: 10px 5px;
    border-bottom: solid 1px var(--primary-color);
    transition: 0.5s;
}
.aside li:hover{
    background-color: var(--primary-color);
}
.aside li:hover a{
    color:white;
}
.yt-video iframe {
    width: 581px;
    max-width: 100%;
    height: 300px;
}
.contato {
    width: 100%;
    padding: 20px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.contato label{
    color:white;
}
.contato input, .contato select {
    width: 100%;
    padding: 10px;
    margin: 5px 0;
    border-radius: 20px;
    border:none;
}
.contato input[type="submit"]{
    cursor: pointer;
    transition: 0.5s;
    font-size: 1em;
}
.contato input[type="submit"]:hover{
    background-color:var(--primary-color);
    color:white;
}
.contato textarea{
    width:100%;
    border-radius: 20px;
    padding:15px;
}

.container__404{
    padding:120px 0;
}
.portifolio{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding:3.2rem 0;
    gap:40px;
}
.portifolio h2{
    text-align: center;
    color:white;
    font-size:1rem ;
    font-weight: 500;
    background-color: var(--primary-color);
    padding: 1rem 0.875rem;
    border-radius: 60px;
    width: 75%;
    max-width: 100%;
    margin: 0 auto;
}
.portifolio a{
    transition: 0.5s;
}
.portifolio a:hover{
    opacity: 0.8;
}
.portifolio img {
    width: 100%;
    height: 400px;
    object-fit: contain;
    object-position: center;
    padding: 0 10px;
}
@media only screen and (max-width:1024px) {
    .portifolio{
        grid-template-columns: 1fr;
    }
}