/* Importando fonte */
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
/*

  Este modelo é compartilhável, modificável e está comentado por Roberto Nóbrega Jr. (http://github.com/devrenj)
  Caso queira aprender sobre estilização em CSS, acesse: https://www.cursoemvideo.com/curso/html5/  
*/

/* Definindo variáveis para uso no restante do CSS */
:root {
  /* Caminhos das suas imagens */
  --perfil-github: url('https://github.com/devrenj.png');
  --bg: url('../images/bg.jpg');

  /* Ícones */
  --icon-pix: url('https://img.icons8.com/fluency/40/pix.png');
  --icon-github: url('https://img.icons8.com/fluency/40/000000/github.png');
  --icon-email: url('https://img.icons8.com/fluency/40/000000/mail.png');
  --icon-linkedin: url('https://img.icons8.com/fluency/40/000000/linkedin.png');
  --icon-instagram: url('https://img.icons8.com/fluency/40/instagram-new.png');
  --icon-compartilhar: url('https://img.icons8.com/external-others-inmotus-design/40/external-Link-round-icons-others-inmotus-design-5.png');

  /* Paleta de cores do projeto */
  --preto: #000;
  --branco: #fff;
  --roxo: #9c00cc;
  --roxo80: #9c00cc80;
  --verde: #00cc00;
  --verde80: #00cc0080;
  --vermelho: #cc0000;
  --vermelho80: #cc000080;
  --vermelho-claro: hsl(0, 100%, 59%);
  --vermelho-claro80: hsla(0, 100%, 59%, 0.502);
  --vermelho-claro33: hsla(0, 100%, 59%, 0.2);
  --vermelho-claro50: hsla(0, 100%, 59%, 0.314);
  --vermelho-claro-transparente: hsla(0, 100%, 59%, 0.302);
  --azul: #0058cc;
  --azul80: #0058cc80;
  --azul-claro: #00d4ff;
  --azul-claro80: #00d4ff80;
  --azul-claro33: #00d4ff33;
  --azul-claro50: #00d4ff50;
  --azul-claro-transparente: #00d5ff4d;
  --gelo: #add8e6;
  --cinza-escuro: #212121;
  --cinza: #525252;
  --cinza-claro33: #52525233;
  --cinza-claro: #cecece;
  --cinza-claro-transparente: #cfcfcf4d;
  --preto20: #00000020;
  --preto25: #00000025;
  --preto50: #00000050;
  --preto70: #ffffffb3;
  --transparente: #ffffff00;

  /* Design System */
  --gradient-claro-redes-sociais: var(--azul-claro-transparente);
  --gradient-redes-sociais: var(--azul-claro33);
  --bg-redes-sociais: var(--fundo-claro-transparente);
  --borda-redes-sociais: var(--cinza-claro);
  --cor-botao: var(--azul-claro33);
  --gradient-botao: var(--azul-claro33);
  --fonte: var(--preto);
  --borda-solida: var(--azul-claro);
  --borda-cinza: var(--cinza-claro);
  --borda: var(--cinza-claro)
  --fundo-claro: var(--azul-claro50);
  --fundo-claro-transparente: var(--azul-claro-transparente);
  --sombra: var(--preto25);
  --transparencia: var(--preto20);
  --transparencia-modal: var(--preto70);
  --titulo: var(--cinza);
}

/* Compatibilidade com Safari */
@media not all and (min-resolution:.001dpcm) { 
  @supports (-webkit-appearance:none) { 
     /* Código específico para Safari */ 
  }
}


/* Estilos extras ao Bootstrap */
.custom-tooltip {
  --bs-tooltip-bg: var(--bd-black-bg);
  --bs-tooltip-color: var(--bs-white);
}

@media (max-width: 320px) {
  .rounded {
    border-radius: 0 !important;
  }
}


/* Compatibilidade filter blur */
.no-backdrop-support {
  background-color: rgba(255, 255, 255, 0.9);
}

/* Media Queries */
@media (max-width: 320px) {
  .modal-body ul li, .redes-sociais ul li {
    width: 45px !important;
    height: 45px !important;
    margin: 1px !important;
  }

  .nav-btn, .modal-btn {
    width: 40px !important;
    height: 40px !important;
  }

  #copiar {
    padding: 9px;
  }
}

@media (max-width: 576px) {
  #bandeira-estado, #bandeira-pais {
    width: 18px !important;
    height: 12px !important;
  }
}

/* Estilo para todos os elementos */
* {
  /* Somando os espaços extras dos elementos ao tamanho total */
  box-sizing: border-box;
  cursor: default;
  /* Resetando margin e padding */
  margin: 0;
  padding: 0;

  /* Use para depuração */
  /* outline: 1px solid red; */
}

/* Estilo para o HTML e Body */
html {
  height: 100vh;
}

html,
body {
  /* Aplicando fonte personalizada */
  font-family: 'Lato', sans-serif;
  color: var(--fonte);
  height: 100%;
}

/* Estilo do Body */
body {
  /* Usando imagem de fundo */
  background-image: var(--bg);
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

/* Estilo do Footer */
footer {
  text-transform: uppercase;
  color: var(--titulo-claro);
  background: var(--transparencia);
  font-size: 12px;
  letter-spacing: .1rem;
}

ul li {
  margin: 0 2px !important;
  padding: 0 !important;
}

/* Estilo para Foto do Perfil */
.foto[data="foto"] {
  background-image: var(--perfil-github);
  background-size: cover;
  background-position: center;
  width: 170px;
  height: 170px;
  border: 2px solid var(--borda-solida);
  transition: 0.6s;
}

/* Efeito de hover para os ícones */
.modal-body ul li:hover, .redes-sociais ul li:hover, .foto[data="foto"]:hover {
  background-color: var(--bg-redes-sociais);
  border: 1px solid var(--borda-redes-sociais);
  box-shadow: var(--sombra) 0 8px 15px;
  transform: translateY(-2px);
  transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
}

/* Estilos para a seção de redes sociais */
.redes-sociais {
  background: var(--branco);
  background: linear-gradient(90deg,
    var(--transparente) 0%,
    var(--gradient-claro-redes-sociais) 10%,
    var(--gradient-redes-sociais) 50%,
    var(--gradient-claro-redes-sociais) 90%,
    var(--transparente) 100%);
}


/* Estilo dos ícones das redes sociais */
.redes-sociais ul li {
  width: 48px;
  height: 48px;
}

/* Estilo especial do botão de copiar */
#copiar {
  padding: 9px !important;
  margin: 0;
}

/* Estilo especial do botão de compartilhar, corrige um problema do svg */
#compartilhar {
  margin-left: 1px;
}

/* Estilo dos ícones */
.nav-btn, .modal-btn {
  width: 45px;
  height: 45px;
  transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
  margin: 0;
  padding: 3px;
  cursor: pointer;
}

.modal-body ul li, .redes-sociais ul li {
  background-color: #fff;
  border-radius: 50px;
  padding: 5px;
  width: 50px;
  height: 50px;
  border: 1px solid var(--borda-solida);
  transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
}

/* Estilos para botões de projetos */
.botoes-projetos {
  gap: 1.5rem;
}

/* Estilos para botões em geral */
.botao-menu {
  appearance: none;
  background-image: linear-gradient(var(--gradient-botao), var(--branco));
  border: 2px solid var(--borda-solida);
  border-radius: 10px;
  color: var(--titulo);
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  min-height: 60px;
  width: 300px;
  outline: none;
  text-align: center;
  text-decoration: none;
  transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
  user-select: none;
  max-width: 100%;
  will-change: transform;
}

/* Estilo de botões desabilitados */
.botao-menu:disabled {
  pointer-events: none;
}

/* Efeito de hover para botões */
.botao-menu:hover {
  color: var(--preto);
  box-shadow: var(--sombra) 0 8px 15px;
  transform: translateY(-2px);
}

/* Efeito de clique para botões */
.botao-menu:active {
  background-color: var(--fundo-claro-transparente);
  border: 1px solid var(--borda-cinza);
}

/* Cores dos botões */
/* Efeitos de hover para botões coloridos */
.botao-roxo:hover {
  border: 2px solid var(--roxo);
  background-image: linear-gradient(var(--branco), var(--roxo80));
}

/* Efeitos de hover para botões coloridos (continuação) */
.botao-verde:hover {
  border: 2px solid var(--verde);
  background-image: linear-gradient(var(--branco), var(--verde80));
}

.botao-azul:hover {
  border: 2px solid var(--azul);
  background-image: linear-gradient(var(--branco), var(--azul80));
}

.botao-azul-claro:hover {
  border: 2px solid var(--borda-solida);
  background-image: linear-gradient(var(--branco), var(--azul-claro80));
}

/* Estilo do título do botão */
.titulo-botao {
  color: var(--branco);
  text-shadow: var(--preto) 1px 1px 1px;
  -webkit-text-stroke: .2px #3B3B3B;
  font-weight: bolder;
  font-size: 25px;
}

/* Estilo da descrição do botão */
.descricao {
  color: var(--titulo);
  font-size: 11px;
  text-transform: uppercase;
  text-shadow: var(--titulo-claro) 1px 1px 1px;
}

/* Modal */
/* Estilo do modal */
.modal {
  width: 100%;
  height: 100%;
  background-color: var(--preto50);
  height: 100vh;
}

.modal-content {
  background-color: var(--transparencia-modal);
  backdrop-filter: blur(2.5px);
  -webkit-backdrop-filter: blur(10px);
  border-color: var(--borda-solida) !important;
  border-width: 2px !important;
}

.modal-header {
  border-color: var(--borda-solida) !important;
  color: var(--titulo);
}

.modal-content ul li {
  border-color: var(--borda-solida) !important;
  border-width: 2px !important;
  border-radius: 50px;
}

.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* Estilo do Sweet Alert */
.swal-modal {
  background-color: var(--transparencia-modal);
  border: 2px solid var(--borda-solida);
  border-radius: .5rem;
  backdrop-filter: blur(2.5px);
  -webkit-backdrop-filter: blur(10px);
}

.swal-overlay {
  background-color: var(--transparencia);
  overflow: hidden !important;
}

.swal-icon::before, .swal-icon::before , .swal-icon--success:after, .swal-icon--success__hide-corners {
  background-color: transparent;
}

.swal-icon {
  background-color: var(--branco);
}

.swal-text {
  color: var(--titulo);
}

.tecnologias {
  max-width: 400px;
}

#bandeira-estado, #bandeira-pais {
  box-sizing: border-box;
  width: 24px;
  height: 20px;
  display: none;
  object-fit: cover;
  padding: 0;
  margin: 0;
  /* background-color: #000; */
  border: 0.5px solid var(--preto);
}

/* Fim */