:root {
  --primary-color: rgb(70, 30, 95);
  --secondary-color: rgb(235, 60, 125);
  --tertiary-color: rgb(250, 100, 35);
  --text-dark: #000;
  --text-ligth: #fff;
}

/* Generated by Font Squirrel (http://www.fontsquirrel.com) on April 12, 2012 */
@font-face {
  font-family: "VivoTypeBold";
  src: url("../fonts/VivoTypeBold.eot");
  src: url("../fonts/VivoTypeBold.eot?#iefix") format("embedded-opentype"),
       url("../fonts/VivoTypeBold.woff") format("woff"),
       url("../fonts/VivoTypeBold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "VivoTypeRegular";
  src: url("../fonts/VivoTypeRegular.eot");
  src: url("../fonts/VivoTypeRegular.eot?#iefix") format("embedded-opentype"),
       url("../fonts/VivoTypeRegular.woff") format("woff"),
       url("../fonts/VivoTypeRegular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "VivoTypeLight";
  src: url("../fonts/VivoTypeLight.eot");
  src: url("../fonts/VivoTypeLight.eot?#iefix") format("embedded-opentype"),
       url("../fonts/VivoTypeLight.woff") format("woff"),
       url("../fonts/VivoTypeLight.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

body,
html {
  font-family: "VivoTypeRegular";
  letter-spacing: 1px;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  /* Era o espaco reservado para o rodape fixo, que nao existe mais. */
}


body > .container {
  width: auto;
  padding: 60px 15px 0;
}


.bg-purple {
  background-color: rgb(70, 30, 95);
}
.bg-orange {
  background-color: rgb(250, 100, 35);
}
.bg-pink {
  background-color: rgb(235, 60, 125);
}
.text-color-purple {
  color: rgb(70, 30, 95);
  letter-spacing: 1px;
  font-weight: bold;
}
.text-color-pink {
  color: rgb(235, 60, 125);
  letter-spacing: 1px;
  font-weight: bold;
}

/* buttons */
.btn-purple {
  color: #fff;
  background-color: rgb(70, 30, 95);
  border-color: rgb(70, 30, 95);
}
.btn-purple:hover {
  color: rgb(70, 30, 95);
  background-color: #fff;
  border-color: rgb(70, 30, 95);
}

.btn-pink {
  color: #fff;
  background-color: rgb(235, 60, 125);
  border-color: rgb(235, 60, 125);
}
.btn-pink:hover {
  color: #fff;
}
.bg-light-purple {
  background-color: rgb(160, 120, 180) !important;
}

/* Landing Page Style */

h1 {
  color: var(--primary-color);
  font-weight: bold;
}

h2 {
  color: var(--secondary-color);
  font-weight: bold;
}
h3 {
  color: var(--primary-color);
}

.description {
  color: var(--primary-color);
  padding: 25px 0 20px 0;
  font-size: 24px;
}

.speakers p {
  color: var(--secondary-color);
  font-weight: bold;
  font-size: 20px;
}
.speakers ul {
  list-style-type: square;
  font-size: 20px;
}

/* End Landing Page Style */

/* ===========================================================================
   RODAPÉ
   ---------------------------------------------------------------------------
   Era `position: fixed` com `d-none d-lg-block`: uma faixa presa na base da
   janela, que cobria o conteúdo e sumia por completo abaixo de 992px. Agora
   fecha a página no fluxo normal e aparece em qualquer largura. O body vira
   coluna flex para que, em páginas curtas, ele encoste na base sem ser fixo.
   =========================================================================== */
/* Escopado na classe, e nao no `body`: o base.css tambem e carregado por
   paginas soltas que nao tem rodape (login e create_admin_user). Nelas o
   body em coluna flex impedia o .container de esticar e o cartao encolhia
   para ~150px de largura. */
.site-body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.site-footer {
  margin-top: auto;
  background: #ffffff;
  border-top: 1px solid #e6e1eb;
  padding: 12px 0;
}

.site-footer__in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
}

.site-footer__org {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  letter-spacing: 0;
}
.site-footer__org a {
  font-family: "VivoTypeMedium", "VivoTypeRegular", sans-serif;
  font-size: 13px;
  color: rgb(70, 30, 95);
  text-decoration: none;
}
.site-footer__org a:hover { text-decoration: underline; }
.site-footer__org span {
  font-size: 13px;
  color: #7d7489;
}
.site-footer__org span::before {
  content: "·";
  margin-right: 8px;
  color: #c9c1d1;
}

.site-footer__meta {
  font-size: 13px;
  color: #7d7489;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 520px) {
  .site-footer__in { justify-content: flex-start; }
  .site-footer__org { gap: 4px; }
  .site-footer__org span::before { display: none; }
  .site-footer__org span { flex-basis: 100%; }
}
