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

:root {
  --fonte-principal: "Mulish", sans-serif;

  --cor-princ: #00313c;
  --cor-princ-hover: #034d5d;
  --cor-sec: #035668;
  --cor-sec-hover: #04677d;
  --cor-ter: #cecc82;
  --cor-ter-hover: #cbc86a;
  --cor-qua: #1e1e1e;

  --cor-branco: #fff;
  --cor-preto: #101010;
  --cor-cinza: #ccc;
}

* {
  margin: 0px;
  padding: 0px;
  font-family: var(--cor-qua);
  font-size: var(--f-14);
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
  background-color: transparent;
}

a {
  text-decoration: none;
}

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

/***

  [ 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-princ {
  color: var(--cor-princ);
  text-decoration: none;
}

.site-link-princ:hover {
  color: var(--cor-princ-hover);
  text-decoration: underline;
  padding-left: 5px;
}

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

.site-link-sec:hover {
  color: var(--cor-sec-hover);
  text-decoration: underline;
  padding-left: 5px;
}

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

.site-link-ter:hover {
  color: var(--cor-ter-hover);
  text-decoration: underline;
  padding-left: 5px;
}

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

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

.botao-site {
  border-radius: 4px;
  padding: 15px 30px;
  transition: all 0.2s;
  font-weight: 700;
  border-radius: 10px 1px 10px 1px;
}

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

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

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

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

.botao-site--terc {
  background-color: var(--cor-ter);
  color: var(--cor-preto);
}

.botao-site--terc:hover {
  background-color: var(--cor-ter-hover);
  color: var(--cor-preto);
}

/***

[ 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--texto {
    font-size: var(--f-16);
  }

  & .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;

    &:hover {
      background-color: var(--cor-princ-hover);
      color: var(--cor-branco);
    }
  }
}

/***

[ BOTÃO FLUTUANTE ] 
Estilização do botão flutuante 

***/
.botao-flutuante {
  position: fixed;
  bottom: 30px;
  right: 20px;
  width: 70px;
  height: 70px;
  background-color: rgba(37, 211, 102);
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99;

  &:hover {
    background-color: rgb(31, 175, 84);
  }

  & .botao-flutuante--link {
    & .botao-flutuant--texto {
      display: none;
      background-color: #2e496a;
      color: var(--cor-branco);
      padding: 5px 10px;
      border-radius: 5px;
      text-align: center;
      position: absolute;
      right: 75px;
      top: 28%;
      transition: all linear 0.2s;
      min-width: 220px !important;
      max-width: 300px !important;
    }

    & i {
      padding: 10px;
      color: #fff;
    }
  }

  &:hover .botao-flutuant--texto {
    display: block;
  }
}

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

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

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

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

/* header */
header {
  /* position: -webkit-sticky !important; */
  position: sticky !important;
  top: 0;
  z-index: 1020;
  transition: all 0.2s;
  background-color: var(--cor-branco);

  & .navbar {
    width: 100%;

    & .navbar-brand img {
      width: 150px;
      height: auto;
      margin: 5px;
      margin-left: -30px;
      transition: all 0.2s;
    }

    & .collapse .navbar-nav {
      overflow: hidden;
    }

    & .navbar-nav .nav-item {
      background-color: transparent;
      margin: 0px 10px;

      & .dropdown-menu .dropdown-item {
        background-color: transparent;
        border-left: 2px solid #fff;
        padding: 8px 5px;
        transition: all 0.2s;

        &:hover {
          color: var(--cor-sec);
          border-color: var(--cor-sec);
          font-weight: 600;
          padding-left: 10px;
        }
      }

      & .nav-link {
        color: #1e1e1e;
        background-color: transparent;
        font-size: 16px;
        font-weight: 600;

        &:hover {
          color: var(--cor-sec);
        }
      }
    }

    & .navbar-nav .nav-item .dropdown-menu {
      border-radius: 0px;
      padding: 20px 10px;
      border-top: 2px solid var(--cor-sec-hover);

      & h5,
      & h3 {
        color: var(--cor-princ-hover);
      }
    }
  }

  & .header-botao {
    display: none !important;
  }
}

/* footer */
footer {
  & .footer-info {
    margin: 10px 0px;
  }

  & .footer-atalho {
    padding: 15px;
    margin: 10px 0px;

    & .nav .nav-item .nav-link {
      margin: 2px 0px;
      padding: 0px;
      color: #898989;

      &:hover {
        color: var(--cor-princ-hover);
      }
    }
  }

  & .footer-brand {
    width: 150px;
  }

  & .rodape-link {
    color: var(--cor-ter-hover);
    font-weight: 700;
    padding-bottom: 2px;
    border-bottom: 2px solid var(--cor-princ);

    &:hover {
      border-color: var(--cor-ter-hover);
    }
  }

  & .rodape-sociais a {
    color: var(--cor-qua);

    &:hover {
      color: var(--cor-sec);
    }
  }

  & .devs {
    text-align: left;

    & img {
      margin-right: 10px;
    }
  }
}

/***

    [ GERAL DO SITE ] ========================================== / 

***/

/* geral */
#solucoes-home,
#seguros-home,
#sobre-home,
#depoimentos-home,
#chamada-home,
.page-geral {
  padding: 100px 0px;
}

/* slide  */
#slide {
  & .owl-carousel {
    & .owl-dots {
      display: none;
    }

    & .owl-nav {
      margin-top: -80px;
      position: relative !important;
      z-index: 2;
      padding: 10px 20px;

      & .owl-prev,
      & .owl-next {
        background-color: #fefefe;
        color: #303030;
        font-weight: bold;
        padding: 8px 12px !important;
        margin: 5px;
        transition: all 0.2s;

        &:hover {
          background-color: var(--cor-princ-hover);
          color: #fff;
        }
      }

      & .owl-prev {
        border-radius: 15px 3px 3px 3px;
      }

      & .owl-next {
        border-radius: 3px 3px 15px 3px;
      }
    }
  }
}

/* soluções - home */
#solucoes-home {
  & .card {
    background-color: var(--cor-ter);
    border: 0px;

    & .card-img-top {
      width: 100%;
      height: 250px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }

    & .card-body {
      padding: 40px;

      & .card-title {
        color: var(--cor-sec);
        font-weight: bold;
        font-size: var(--f-30);
      }

      & .card-text {
        color: var(--cor-princ);
        font-size: var(--f-24);
      }
    }
  }
}

/* seguros - home */
#seguros-home {
  & .card {
    background-color: var(--cor-princ);
    border: 0px;

    & .card-img-top {
      width: 100%;
      height: 150px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }

    & .card-body {
      padding: 20px;

      & .card-title {
        color: var(--cor-branco);
        font-weight: bold;
        font-size: var(--f-20);
        margin-bottom: 20px;
      }
    }
  }
}

/* quem somos - home */
#sobre-home {
  background-color: var(--cor-ter);
}

/* depoimentos - home */
#depoimentos-home {
  background-color: #e9e9e9;

  & .depoimento-home--item {
    background-color: #fff;
    padding: 40px 30px;
    border-radius: 10px;
  }

  & .owl-carousel {
    & .owl-dots {
      display: none;
    }

    & .owl-nav {
      margin-top: 20px;
      position: relative !important;
      z-index: 2;
      padding: 10px 20px;

      & .owl-prev,
      & .owl-next {
        background-color: #fefefe;
        color: #303030;
        font-weight: bold;
        padding: 8px 12px !important;
        margin: 5px;
        transition: all 0.2s;

        &:hover {
          background-color: var(--cor-princ-hover);
          color: #fff;
        }
      }

      & .owl-prev {
        border-radius: 15px 3px 3px 3px;
      }

      & .owl-next {
        border-radius: 3px 3px 15px 3px;
      }
    }
  }
}

/* chamada - home */
#chamada-home {
  background-color: var(--cor-sec);
}

/* Páginas gerais */
.page-geral {
  background: #f3f3f3;

  & .card {
    background-color: #e4e2b5;
    border: 0px;

    & .card-img-top {
      width: 100%;
      height: 200px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }

    & .card-body {
      padding: 20px;

      & .card-title {
        color: var(--cor-princ);
        font-weight: bold;
        font-size: var(--f-18);
        margin-bottom: 20px;
      }
    }
  }
}

.pagina-geral-topo {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  & .paginal-geral--filtro {
    background-color: rgb(3, 77, 93, 0.5);
    width: 100%;
    height: 400px;
    padding: 80px 20px;

    & i {
      color: var(--cor-branco);
    }

    & .pagina-geral-topo--atalho {
      color: var(--cor-branco);
      font-weight: bold;
    }

    & .pagina-geral-topo--titulo {
      color: var(--cor-branco);
    }
  }
}

.pagina-geral-corpo {
  & .pagina-geral-corpo--box-conteudo {
    padding: 40px 15px;
    /* background-color: #fff; */
    border-radius: 10px 1px 10px 1px;
    /* margin-top: -50px; */
    /* box-shadow: 2px 7px 8px 1px #f6f6f6; */
  }

  & .pagina-geral-corpo--box-atalho {
    padding: 30px 40px;
    background-color: var(--cor-ter);
    border-radius: 10px 1px 10px 1px;
    margin-top: -30px;

    & h4 {
      color: var(--cor-sec);
    }
  }
}

/* formulario */
.form-site {
  padding: 20px;

  & input,
  & select,
  & textarea {
    padding: 15px 15px;
    border: 2px solid #909090;

    &:focus {
      outline: none !important;
      border-color: inherit;
      -webkit-box-shadow: none;
      box-shadow: none;

      border: 2px solid var(--cor-ter-hover);
    }
  }
}
