html, body {
  height: 100%;
  margin: 0;
  font-family: Tahoma, Verdana, sans-serif;
  background-color: #98CD74;
}

.pagina {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.conteudo {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 40px;
  background-image: url("fundo.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  min-height: 600px;
  margin: 0;
  border: 0;
}

.conteudo.com-opaco {
  position: relative;
  background-image: url("fundo.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  min-height: 600px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px;
  z-index: 0;
}

.conteudo.com-opaco > *:not(.opaco) {
  position: relative;
  z-index: 1;
}

.opaco {
  background-color: #98CD74;
  opacity: 0.8;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

.titulo-principal,
h1,
.menu-footer nav a {
  color: white !important;
  text-shadow: 
    -1px -1px 0 black,  
     1px -1px 0 black,  
    -1px  1px 0 black,  
     1px  1px 0 black;
}

.yellow {
  color: yellow !important;
}

@font-face {
  font-family: 'Gloucester Condensed';
  src: url('Gloucester.woff2') format('woff2'),
       url('Gloucester.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

.titulo-principal {
  font-family: 'Gloucester Condensed', sans-serif;
  padding: 40px;
  text-align: center;
  font-size: 60pt;
}

h1 {
  font-family: 'Gloucester Condensed', sans-serif;
  font-size: 40pt;
  color: black;
  text-align: center;
  margin: 0;
}

h2 {
  color: #2a5010 !important;
  text-align: center;
}

.menu-footer {
  text-align: center;
  padding: 17px;
  background-color: #6DAA3B;
  z-index: 1;
  margin: 0;
  border: 0;
}

.menu-footer nav a {
  margin: 0 15px;
  text-decoration: none;
  font-size: 20pt;
  transition: color 0.3s;
}

.menu-footer nav a:hover {
  color: #dff7d3;
}

.menu-secundario {
  background-color: #222;
  padding: 10px;
  text-align: center;
}

.menu-secundario nav a {
  color: white;
  margin: 0 10px;
  text-decoration: none;
}

.menu-secundario nav a:hover {
  text-decoration: underline;
}

.texto p {
  font-size: 18pt;
  color: black;
  margin: 0 0 1em 0;
  text-align: justify;
}

.texto {
  text-align: center;
}

a {
  white-space: nowrap;
  word-break: keep-all;
}

.texto img, .texto video {
  max-width: 80vw;
  height: auto;
}
