 /* RESET */
*{font-family: "poppins", sans-serif;}
html, body{overflow-x: hidden; scroll-behavior: smooth;} 

.hideondesktop{display: none;}

/* Scrollbar */
body::-webkit-scrollbar-track{border-radius: 6px; background-color: transparent;}
body::-webkit-scrollbar{width: 8px;}
body::-webkit-scrollbar-thumb{border-radius: 6px; background-color: var(--qc-gray);}

p{line-height: 24px;}

a{color: var(--rz-orange);}

a:focus,
a:hover{
    color: var(--rz-blue);
}

.h1-style{
    color: var(--rz-dark-blue);
    font-weight: bold;
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    padding-left: 68px;
    align-items: center;
}

.h1-style-alt{
    color: var(--rz-white);
    font-weight: bold;
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    padding-left: 68px;
    align-items: center;
}

.h1-style-alt:before,
.h1-style:before{
    content: '';
    position: absolute;
    left: 0;
    width: 48px;
    height: 5px;
    bottom: 24px;
    background-color: var(--rz-orange);
}

.p-textarea{padding: 1rem 1.5rem !important;}


/* Colors */
:root {
    --rz-black: #121212;
    --rz-dark-gray: #5A5555;
    --rz-gray: #BBBDBC;
    --rz-light-gray: #ECECEC;
    --rz-dark-blue: #1B2352;
    --rz-blue: #185690;
    --rz-light-blue: #6795CA;
    --rz-yellow: #FBB800;
    --rz-orange: #EF7D00;
    --rz-white: #F5F5F5;
    --rx-red: #ED4146;
    --rz-green: #52B070;
    --rz-logos: #D1DBE5;
}

.bg-linear-blue{background-image: linear-gradient(to right, var(--rz-blue), var(--rz-dark-blue));}
.bg-linear-blue-alt{background-image: linear-gradient(to left, var(--rz-blue), var(--rz-dark-blue));}
.bg-white{background: var(--rz-white);}
.bg-light-gray{background: var(--rz-light-gray);}

.color-white{color: var(--rz-white);}
.color-black{color: var(--rz-black);}
.color-light-blue{color: var(--rz-light-blue)}
.color-dark-blue{color: var(--rz-dark-blue);}
.color-orange{color: var(--rz-orange);}
.color-red{color: var(--rx-red)}
.color-green{color: var(--rz-green)}

/* BUTTONS */
.btn-message{
    background: var(--rz-orange);
    color: var(--rz-white);
    border: 2px solid var(--rz-orange);
}

.btn-message:focus,
.btn-message:hover{
    background: var(--rz-light-blue);
    color: var(--rz-white);
    border: 2px solid var(--rz-light-blue);
}

.btn-orange{
    background: var(--rz-orange);
    color: var(--rz-white);
    border: 2px solid var(--rz-orange);
    min-width: 100px;
}

.btn-orange:focus,
.btn-orange:hover{
    background: var(--rz-light-blue);
    color: var(--rz-white);
    border: 2px solid var(--rz-light-blue);    
}

.btn-outline-orange{
  background: var(--rz-white);
  color: var(--rz-blue);
  border: 2px solid var(--rz-orange);
  min-width: 100px;
}

.btn-outline-orange:focus,
.btn-outline-orange:hover{
    background: var(--rz-light-blue);
    color: var(--rz-white);
    border: 2px solid var(--rz-light-blue);    
}

/* HEADER */
section {
  scroll-margin-top: 80px; /* Ajuste este valor para a altura do seu menu fixo */
}

header{background: var(--rz-white);}
#header-height{height: 90px;}
#nav-list{list-style: none; padding-left: 0;}
#nav-list li{margin: auto 5px; font-size: 18px; font-weight: bold;}
#nav-list li a{
    color: var(--rz-dark-blue);
    text-decoration: none;
    padding: 10px 20px;
    border: 2px solid transparent;
}

#nav-list li a:hover{
    border: 2px solid var(--rz-light-blue);
    border-radius: 20px;
}

.menu-fixo {
    position: fixed;
    top: 0;
    z-index: 99;
    transition: all .5s;
    width: 100%;
}

/* MAIN */
#home,
#quemsomos,
#atividades,
#area,
#contato,
#vagasHome{
    padding: 60px 0px 0px 0px;
}

#home{
    background: url(../img/bg-home.svg) top no-repeat;
    background-size: contain;
}

.content-img{margin-top: -175px;}

#logo{
  display: block;
  margin: 0 auto;
  padding: 10px 0;
}

/* Área de atividade */
#tabs-wrapper * {
    box-sizing: border-box;
  }
  
  #tabs-wrapper {
   box-sizing: border-box;
   width: 100%;
   line-height: 1.8em;
   letter-spacing: 0.1em;
  }
  
  #tabs-wrapper:before,
  #tabs-wrapper:after {
    box-sizing: border-box;
  }
  
  .section-tab {
    zoom: 1;
    position: relative;
    height: auto;
  }
  .section-tab:after,
  .section-tab:before {
    box-sizing: border-box;
    content: "";
    display: table;
  }
  .section-tab:after {
    clear: both;
  }
  .section-tab .tab-title {
    box-sizing: border-box;
    border-top: none;
    cursor: pointer;
    padding: 15px 20px;
  }
  .section-tab h4:before, section p:before,
  .section-tab h4:after, section p:after {
    box-sizing: border-box;
  }

  .section-tab h4{font-size: 16px;}

  section .tab-content {
    zoom: 1;
    position: relative;
    height: auto;
    min-height: 770px;
    border-left: none;
    display: none;
    background: var(--rz-white);
    -webkit-border-radius: 0 8px 8px 8px;
    border-radius: 0 8px 8px 8px;
    padding-bottom: 30px;
  }
  .section-tab .tab-content:after,
  .section-tab .tab-content:before {
    box-sizing: border-box;
    content: "";
    display: table;
  }
  .section-tab .tab-content:after {
    clear: both;
  }
  
  .section-tab .active {
    cursor: default;
  }

  .section-tab .active + .tab-content {
    display: block;
  }

  .tab-sidebar{
    border: 1px solid var(--rz-blue);
    border-radius: 8px;
    }
  
  @media screen and (min-width: 600px) {
  
    .section-tab .tab-title {
      position: relative;
      width: 280px;
      display: block;
      background: var(--rz-gray);
      color: var(--rz-dark-blue);
      -webkit-border-radius: 8px 0 0 8px;
      border-radius: 8px 0 0 8px;
    }
    .section-tab .tab-content {
      position: absolute;
      width: 79%;
      right: 0;
      top: 0;
      padding: 1em;
      z-index: 1;
    }
    .section-tab .active {
      background: var(--rz-white);
    }
    
  }


/* ASIDE */
#goTop{
    position: fixed;    
    width: 48px;
    height: 48px;
    align-items: center;
    text-align: center;
    border-radius: 8px;   
    bottom: 15px;
    right: 15px;
    z-index: 5;
}

.icon-home{
    position: relative;
    z-index: 3;
}

.card-home{
    padding: 60px 30px 30px 30px;
    margin-top: -60px;
    margin-bottom: 30px;
    min-height: 340px;
    border-radius: 10px;
    border: 0;
    background: var(--rz-white);
}

/* SIDEBAR */
.menu {
  position: fixed;
  background: #17326da2;
  top: 90px;
  width: 100vw;        
  right: -100%;
  visibility: visible;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s; 
  z-index: 5;
}

.menu.show {    
  right: 0;
  visibility: visible;
}

.menu-nav{
  background: var(--rz-light-gray);
  width: 280px;
  float: right;
  list-style: none;
  padding: 20px;
  height: calc(100vh - 90px);    
  overflow-y: auto;
}

.menu-nav li{
  width: 100%;
  height: 50px;
  padding: 12px 30px;
  font-size: 1.2rem;
}

.menu-nav li a{
  color: var(--dark-blue);
  text-decoration: none;
}

/* Styling the menu button */
.menu-btn {
  position: absolute;
  z-index: 3;
  right: 15px;
  top: 25px;
  cursor: pointer;
  transition: all 0.5s ease-out;
}

/* Btn Hamburger */
.menu-btn .btn-line {
  width: 48px;
  height: 3px;
  margin: 5px 0 10px 0;
  background: var(--rz-dark-blue);
  transition: all 0.5s ease-out;
}

/* Transformando em X */
.menu-btn.close {
  transform: rotate(180deg);
}

/* Animando Hamburger para X */
.menu-btn.close .btn-line:nth-child(1) {
  transform: rotate(45deg) translate(10px, 10px);
}

.menu-btn.close .btn-line:nth-child(2) {
  opacity: 0;
}

.menu-btn.close .btn-line:nth-child(3) {
  transform: rotate(-45deg) translate(10px, -8px);
}

/* CONTATO */
#contato{
  background: url(../img/bg-footer.svg) no-repeat bottom;
  background-size: cover;
  padding-bottom: 20px;
}

/* FOOTER */
footer{
  background-color: var(--rz-dark-blue);
}

.footer-logo-list{
    list-style: none;
    padding-left: 0;
}

.footer-logo-list li{
    margin: 10px 15px;
}

/* VAGAS */
#vagasHome{
  background: url(../img/bg-vaga.png) top no-repeat;
  background-size: contain;
  padding-bottom: 60px;
}

#vagasEnviar{
  background-color: var(--rz-dark-blue);
  color: var(--rz-white);
  padding: 20px;
  margin-bottom: 40px;
}

#vagasEnviar h3{
  position: relative; 
  text-align: center; 
  margin: 0px auto; 
  margin-bottom: 30px;
  display: block; 
}

#vagasEnviar h3::after {
  content: ''; 
  display: block;
  width: 80px; 
  height: 3px; 
  background-color: var(--rz-orange); 
  position: absolute;
  left: 50%; 
  transform: translateX(-50%);
  bottom: -10px;
}

#vagasLista .filter{
  border: 1px solid var(--rz-gray);
  border-radius: 8px;
  background-color: var(--rz-white);
  padding: 20px;
  display: flex;
  gap: 20px;
  align-items: center;
}

#vagasOpt .filter label{
  font-size: 14px;
}

/* Container dos cards */
.cards-container {
  display: flex;
  gap: 18px;
  justify-content: start;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

/* Card-Vagas */
.card-vaga{
  width: 310px;
  height: 350px;
  overflow-y: auto;
  border: 1px solid var(--rz-gray);  
  position: relative;
  background-color: var(--rz-white);
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-vaga:hover{
  transform: translateY(-5px);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.card-content{
  border-left: 5px solid var(--rz-blue);
  padding: 20px;
  height: 100%;
  transition: border-left-width 0.15s ease, border-left-color 0.15s ease;
}

.card-content:hover{
  border-left: 8px solid var(--rz-orange);
}

.card-header {
  display: flex;
  align-items: center;
  padding: 10px;
}

.card-header img {
  height: 30px;
  margin-right: 10px;
}

/* Título da vaga */
.card-title {
  height: 48px;
  line-height: 24px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-align: left;
  color: var(--rz-blue);
  font-size: 18px;
  font-weight: bold;
  margin: 15px 0;
}

/* Informações adicionais */
.card-details {
  flex-grow: 1;
}

.card-details .detail-item{
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  gap: 10px;
}


/* Footer Card */
.card-footer {
  position: absolute;
  bottom: 0;
  display: flex;
  justify-content: end;
  padding-bottom: 20px;
  gap: 10px;
  width: 85%;
}

.card-footer .btn {
  width: 120px;
}

/* Área de conteúdo */
.card-content {
  flex-grow: 1;
}

/* Paginação */
.page-item{
  border-color: var(--rz-gray);
}

.page-link{
  color: var(--rz-orange);
}

.pagination{
  --bs-pagination-border-color: var(--rz-gray);
  --bs-pagination-active-color: var(--rz-white);
  --bs-pagination-active-bg: var(--rz-orange);
  --bs-pagination-active-border-color: var(--rz-orange);
} 


/* CANDIDATURA */
.drop-zone {
  border: 2px dashed #ced4da;
  background: #fff;
  padding: 18px;
  text-align: center;
  border-radius: 6px;
  margin-bottom: 15px;
}

#deCons{
    border: 1px solid #ced4da;
    background: #fff;
    padding: 20px;
    border-radius: 6px;
}


@media (max-width: 575px) {
  .p-form{padding: 0 0.75rem !important;}

  .btn-outline-orange,
  .btn-orange{width: 100%}

  #logo{
    display: block;
    margin: 0;
    padding: 20px 0;
    width: 200px;
  }

    #home, #vagasHome{
        background-size: contain;
        background-image: url(../img/bg-vaga-mob.png);
    }

    #home button{
        margin-bottom: 30px;
        width: 100%;
    }

    #contato button{
      width: 100%;
    }

    .content-img{
        width: 100%;
        margin-top: 0;
    }

    .hideondesktop{display: block;}

    .hideonmobile{display: none !important;}

    .footer-logo-list{
        display: block !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .footer-logo-list li{
        margin: 30px 15px !important;     
    }

    .footer-logo-list li img{
        display: block;
        margin: 0 auto;
        width: 70%;
    }

    .logo_txt{
        text-align: center;
    }

    .logo_footer{
        display: block;
        margin: 15px auto;
    }

    section .tab-content{
        border-radius: 0;
        margin-bottom: 4px;
    }

    .section-tab{
      height: auto !important;
    }

    .section-tab .tab-title{
        background: var(--rz-gray);
    }

    .section-tab .active {
      background: var(--rz-white);
    }

    #vagasLista .filter{
      display: block !important;
      margin: 0 0 40px 0 !important;
    }
  
    #vagasLista .filter > div {
      margin-bottom: 20px; /* Espaçamento entre os elementos */
    }
  
    #vagasLista .filter > div:last-child {
      margin-bottom: 0; /* Remove a margem do último elemento */
    }  
    
    .content-txt{
      height: 275px;
    }

    .img-start{
      height: 280px;
    }

    #candidatura label{
      padding-left: 25px;
    }

    .card-vaga{
      width: 100%;
      height: 380px;
    }

    .card-footer{
      display: block;
      width: 88%;
    }

    .card-footer .btn{
      width: 100%;
      margin-bottom: 10px;
    }

    .card-footer .btn:last-child{
      margin-bottom: 0;
    }

    .pagination{
      --bs-pagination-border-color: var(--rz-gray);
      --bs-pagination-active-color: var(--rz-white);
      --bs-pagination-active-bg: var(--rz-orange);
      --bs-pagination-active-border-color: var(--rz-orange);
      margin: 0;
    } 
}

@media (min-width: 576px) and (max-width: 767px) {
    #home{
      background-image: linear-gradient(to right, var(--rz-blue), var(--rz-dark-blue));
      background-size: contain;
    }

    #logo{
      display: block;
      margin: 0;
      padding: 20px 0;
      width: 200px;
    }

    .content-img{
        width: auto;
    }

    .hideondesktop{display: block;}

    .hideonmobile{
        display: none !important;
    }

    #vagasOpt .filter{
      display: block !important;
    }
  
    #vagasOpt .filter > div {
      margin-bottom: 20px; /* Espaçamento entre os elementos */
    }
  
    #vagasOpt .filter > div:last-child {
      margin-bottom: 0; /* Remove a margem do último elemento */
    }

    .content-txt{
      height: 275px;
    }

    .img-start{
      height: 280px;
    }

    .card-vaga{
      width: 100%;
      height: 380px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
  /* Vagas */
  .card-vaga{
    width: 339px;
  }

  #home{
    background-image: linear-gradient(to right, var(--rz-blue), var(--rz-dark-blue));
    background-size: contain;
  }
  
  #logo{width: 100%;}

  .content-img{
      width: auto;
      margin-top: 0;
  }
  .hideondesktop{display: block;}
  .hideonmobile{display: none !important;}

  #vagasOpt .filter{
    display: block !important;
  }

  #vagasOpt .filter > div {
    margin-bottom: 20px; /* Espaçamento entre os elementos */
  }

  #vagasOpt .filter > div:last-child {
    margin-bottom: 0; /* Remove a margem do último elemento */
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  /* Vagas */
  .card-vaga{
    width: 300px;
  }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  /* Vagas */
  .card-vaga{
    width: 265px;
  }

  .content-txt{
    height: 230px;
  }

  .content-txt .btn{
    font-size: 12px;
  }

  .vagas-list li{
    font-size: 14px;
  }

  .card-title{
    font-size: 16px;
  }

  .card-footer .btn{
    font-size: 14px;
  }
}