@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css");

:root {
  --fonte-principal: "Noto Sans", sans-serif;

  --cor-princ: #ff5c1e; /* utilize para cores padrão do site desenvolvido */
  --cor-sec: #103762; /* utilize para cores padrão do site desenvolvido */
  --cor-ter: #fdfdfd; /* utilize para cores padrão do site desenvolvido */
  --cor-qua: #404040; /* utilize para cores padrão do site desenvolvido */
}

* {
  margin: 0px;
  padding: 0px;
  font-family: var(--fonte-principal);
  font-size: var(--f-16);
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
}

a {
  text-decoration: none;
}

a:hover {
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s;
}

header,
footer,
section {
  width: 100%;
  padding: 0px;
  margin: 0px;
}

/***

  [ COR DOS TEXTOS ] 
  Há três formas de usar as cores com FG, use os prefuxis 'c-', 'cor-' ou até mesmo o nome da cor em portugês.
  Ex.: .c-azul, .cor-azul ou .azul.
  
  ***/

.c-a,
.cor-princ {
  color: var(--cor-princ) !important;
}
.c-b,
.cor-sec {
  color: var(--cor-sec) !important;
}
.c-c,
.cor-terc {
  color: var(--cor-ter) !important;
}
.c-d,
.cor-qua {
  color: var(--cor-qua) !important;
}

/***

    [ COR FUNDO ] 
    Há duas formas de usar as cores de fundo, use os prefuxis 'f-', 'fundo-' e em seguida a cor em portugês.
    Ex.: .f-azul ou .fundo-azul. Veja abaixo as cores disponíveis.

    ***/
.f-a,
.f-princ,
.fundo-a {
  background-color: var(--cor-princ) !important;
}

.f-b,
.f-sec,
.fundo-b {
  background-color: var(--cor-sec) !important;
}

.f-c,
.f-terc,
.funco-c {
  background-color: var(--cor-ter) !important;
}

/* link */
.site-link {
  color: var(--cor-princ);
  text-decoration: none;
}

.site-link:hover {
  color: #ea4a0b;
  text-decoration: underline;
}

.site-link-dark {
  color: #e5e5e5;
  text-decoration: none;
}

.site-link-dark:hover {
  color: #fff;
  text-decoration: underline;
}

.botao-site {
  border-radius: 0px;
  padding: 16px 30px;
  transition: all 0.2s;
}

.botao-site--princ {
  background-color: var(--cor-princ);
  color: var(--cor-branco);
}

.botao-site--princ:hover {
  background-color: #ee5011;
  color: #fff;
}

.botao-site--sec {
  background-color: var(--cor-ter);
  color: var(--cor-branco);
  box-shadow: 2px 2px 1px #efb703;
}

.botao-site--sec:hover {
  background-color: var(--cor-qua);
  color: var(--cor-branco);
  box-shadow: 10px 8px 1px #efb703;
}

.botao-site--terc {
  background-color: #efb703;
  color: var(--cor-branco);
  box-shadow: 2px 2px 1px #f91827;
}

.botao-site--terc:hover {
  background-color: #feca1f;
  color: #fff;
  box-shadow: 10px 8px 1px #f91827;
}

/***

[ COOKIES ] 
Estilização da mensagem de cookies

***/

.mensagemCookies {
  z-index: 999;
  position: fixed;
  bottom: 5%;
  left: 3%;
  width: 350px;
  background-color: var(--cor-branco);
  padding: 20px;
  border-radius: 3px;
  box-shadow: 1px 1px 9px #ccc;
}

.mensagemCookies .mensagemCookies--texto {
  font-size: var(--f-16);
}

.mensagemCookies .mensagemCookies--botao button {
  background-color: var(--cor-princ);
  color: var(--cor-branco);
  padding: 6px 18px;
  font-size: var(--f-14);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mensagemCookies .mensagemCookies--botao button:hover {
  background-color: #ff723a;
  color: var(--cor-branco);
}

/***
    [ Config do site ] 
***/

/* responsividade */
.responsivo-desktop {
  display: block !important;
}

.responsivo-mobile {
  display: none !important;
}

/* header */
header {
  /* position: -webkit-sticky !important; */
  position: sticky !important;
  top: 0;
  z-index: 1020;
  transition: all 0.2s;
}

header .navbar {
  width: 100%;
  background-color: transparent !important;
}

header .navbar .navbar-brand img {
  width: 200px;
  height: auto;
  margin: 5px;
  transition: all 0.2s;
}

/* menu header */
/* header .navbar .navbar-nav .nav-item {
  margin: 0px 30px;
  padding: 0px 10px;
} */

header .navbar .navbar-nav .nav-link {
  text-transform: uppercase !important;
  color: var(--cor-preto);
  font-size: var(--f-16);
  font-weight: 600;
}

header .navbar .navbar-nav .nav-link:hover {
  color: var(--cor-princ);
}

header .navbar .navbar-toggler {
  background-color: var(--cor-princ);
  border: 0px;
  border-radius: 12px 3px 12px 3px;
  padding-top: 15px;
  padding-bottom: 15px;
  color: #fff !important;
  font-size: var(--f-20);
  font-weight: 600;
}

header .botao-menu {
  background: var(--cor-princ);
  color: var(--cor-branco);
  padding: 10px 20px;
  font-size: var(--f-18);
}

header .botao-menu:hover {
  background: #ff1625;
  color: var(--cor-branco);
}

.header-mini {
  background: #fff;

  transition: all 0.2s;
}

.header-mini .navbar .navbar-brand img {
  width: 120px;
}

/* footer */
footer {
  background-image: url(../img/assets/rodape_fundo.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

footer .nav .nav-item a {
  color: #bfc1f6;
}
footer .nav .nav-item a:hover {
  color: #ffffff;
}

footer .devs {
  text-align: left;
}

footer .devs img {
  margin-right: 10px;
}

/* geral */
.home,
.apresentacao,
.portfolio,
.portfolio-list,
.contato {
  padding: 150px 0px;
}

/* apresentacao */
.apresentacao {
  background-image: url(../img/assets/fundo_principal.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  margin-top: -150px;
}

/* sobre */
.sobre--imagem-um {
  background-image: url(../img/assets/sobre_um.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  height: 240px;
  margin-right: -100px;
}

/* .sobre--imagem-dois {
  background-image: url(../img/assets/sobre_dois.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  height: 480px;
  margin-right: -100px;
} */

/* portfilio */
.portfolio {
  background-image: url(../img/assets/portfolio_fundo.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

/* contact */
.contato form {
  padding: 10px;
}

#formularioHome input,
#formularioHome textarea {
  border-radius: 0px;
  color: var(--cor-cinza-800);
  padding: 20px 40px;
  border: 2px solid #fff;
}

#formularioHome textarea {
  height: 157px !important;
}

.contato #gm-form--resposta .alert {
  border-radius: 12px 3px 12px 3px;
}

/* obras */
.obras .owl-carousel .owl-carousel--img {
  width: 100%;
  height: 450px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: all 0.2s;
  filter: contrast(100%);
}

.obras .owl-carousel .owl-carousel--img:hover {
  filter: contrast(80%);
}

.obras .owl-carousel {
  color: #fff;
  text-shadow: 0px 0px 30px #000;

  & .owl-carousel--texto {
    width: 100%;
    padding: 20px;
  }

  & .owl-carousel--texto h4 {
    font-size: var(--f-50);
    font-weight: 600;
  }

  & .owl-carousel--texto p {
    font-size: var(--f-20);
    font-weight: 600;
    text-shadow: 0px 0px 30px #000;
  }

  & .owl-nav {
    z-index: 90px;
    margin: auto !important;

    & .owl-prev,
    & .owl-next {
      width: 50px;
      height: 50px;
      font-size: 20px;
      font-weight: 700;
      background-color: #fc8455;
      border: 1px solid #fc8455;
      color: #fff;
      border-radius: 100px;
      padding: 10px;
      margin: 10px 2px;
    }
    & .owl-prev:hover,
    & .owl-next:hover {
      background-color: #ea4a0b;
      border: 1px solid #ea4a0b;
    }
  }
}

/* portfólio */
.portfolio .card {
  padding: 0px;
  transition: all 0.2s;
}

.portfolio .card .card-body {
  padding: 0px;
  background-color: var(--cor-sec);
}

.portfolio .card .card-img-top {
  width: 100%;
  height: 350px;
  padding: 0px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: all 0.2s;
}

.portfolio .card:hover {
  cursor: pointer;
  transition: all 0.2s;
}

.portfolio .card:hover .card-img-top {
  background-size: 102%;
  transition: all 0.2s;
}

.portfolio-list .card {
  padding: 0px;
  transition: all 0.2s;
}

.portfolio-list .card .card-body {
  padding: 0px;
  background-color: var(--cor-sec);
}

.portfolio-list .card .card-img-top {
  width: 100%;
  height: 350px;
  padding: 0px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: all 0.2s;
}

.portfolio-list .card:hover {
  cursor: pointer;
  transition: all 0.2s;
}

.portfolio-list .card:hover .card-img-top {
  background-size: 103%;
  transition: all 0.2s;
}

.portfolio-galeria {
  padding: 0px;
  margin: 0px;

  & .portfolio-galeria--item {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    aspect-ratio: 3 / 2;
    height: 200px;
    width: 100%;
    border-radius: 3px;
    margin: 5px;
    cursor: pointer;
  }
}

/* maps */
.maps .container-fluid,
.maps .row,
.maps .col {
  margin: 0px;
  padding: 0px;
}

.maps iframe {
  width: 100% !important;
  height: 450px !important;
  margin-bottom: -10px;
}

/* empregos */
.jobs-lista--geral .card {
  padding: 20px;
  border-bottom: 2px solid var(--cor-sec);
}

.jobs-form form {
  padding: 10px;
}

.jobs-form form input,
.jobs-form form .form-control,
.jobs-form form .form-select,
.jobs-form form select,
.jobs-form form textarea {
  background-color: var(--cor-cinza-200);
  color: var(--cor-princ);
  border: 2px solid #ccc;
  border-radius: 15px 3px 15px 3px;
  padding: 10px 20px;
}

.jobs-form form input:focus,
.jobs-form form .form-control:focus,
.jobs-form form .form-select:focus,
.jobs-form form select:focus,
.jobs-form form textarea:focus {
  border: 2px solid #efb703 !important;
  box-shadow: 0 0 0 0;
  outline: 0;
}

.jobs-form form button {
  border-radius: 12px 3px 12px 3px;
  padding: 15px 30px;
  transition: all 0.2s;
  width: 200px;
  background-color: var(--cor-princ);
  color: var(--cor-branco);
  font-size: var(--f-18);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  border: 0px;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.jobs-form form button:hover {
  background-color: var(--cor-princ);
  color: var(--cor-branco);
}

.jobs-form #gm-form--resposta .alert {
  border-radius: 12px 3px 12px 3px;
}
