/* ==========================================================
   Colores
   ========================================================== */

/* Primario */

.colorPrimario{
	color:#372715;
}

.fondoPrimario{
	background-color:#372715;
}


/* Secundario */

.colorSecundario{
	color:#7A695A;
}

.fondoSecundario{
	background-color:#7A695A;
}


/* Terciario */

.colorTerciario{
	color:#AA9E93;
}

.fondoTerciario{
	background-color:#AA9E93;
}


/* Cuaternario */

.colorCuaternario{
	color:#E1DCD8;
}

.fondoCuaternario{
	background-color:#E1DCD8;
}


/* Blanco */

.colorBlanco{
	color:#FFFFFF;
}

.fondoBlanco{
	background-color:#FFFFFF;
}


/* Negro */

.colorNegro{
	color:#000000;
}

.fondoNegro{
	background-color:#000000;
}


/* Gris */

.colorGris{
	color:#808080;
}

.fondoGris{
	background-color:#808080;
}


.fondoGrisClaro{
	background-color:#EEE;
}


/* ==========================================================
   Hover
   ========================================================== */

.hoverColorPrimario:hover{
	color:#372715;
}

.hoverFondoPrimario:hover{
	background-color:#372715;
}

.hoverColorSecundario:hover{
	color:#7A695A;
}

.hoverFondoSecundario:hover{
	background-color:#7A695A;
}

.hoverColorTerciario:hover{
	color:#AA9E93;
}

.hoverFondoTerciario:hover{
	background-color:#AA9E93;
}

.hoverColorCuaternario:hover{
	color:#E1DCD8;
}

.hoverFondoCuaternario:hover{
	background-color:#E1DCD8;
}

.hoverColorBlanco:hover{
	color:#FFFFFF;
}

.hoverFondoBlanco:hover{
	background-color:#FFFFFF;
}

.hoverColorNegro:hover{
	color:#000000;
}

.hoverFondoNegro:hover{
	background-color:#000000;
}

.hoverColorGris:hover{
	color:#808080;
}

.hoverFondoGris:hover{
	background-color:#808080;
}

/* Gris */
.w3-color-gris,
.w3-hover-color-gris:hover {
    color: #fff !important;
    background-color: rgb(128, 128, 128) !important;
}

.w3-text-gris,
.w3-hover-text-gris:hover {
    color: rgb(128, 128, 128) !important;
}

.w3-border-gris,
.w3-hover-border-gris:hover {
    border-color: rgb(128, 128, 128) !important;
}


/* ==========================================================
   w3-theme
   ========================================================== */

.w3-theme {
    color: #fff !important;
    background-color: #362715 !important;
}

.w3-text-theme {
    color: #362715 !important;
}

.w3-border-theme {
    border-color: #362715 !important;
}

.w3-hover-theme:hover

.w3-hover-text-theme:hover

.w3-hover-border-theme:hover


/* ==========================================================
   Fuentes y configuraci—n base
   ========================================================== */

html {
    overflow-x: hidden;
}

body {
    font-family: 'Jost', 'Helvetica Neue', Helvetica, Verdana, sans-serif;
    font-optical-sizing: auto;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.2;
    color: #444;
}

/* Herencia para evitar que W3.CSS cambie la tipograf’a */
h1,
h2,
h3,
h4,
h5,
h6,
p {
    font-family: inherit;
}


/* ==========================================================
   P‡rrafos
   ========================================================== */

p {
    font-weight: 300;
    line-height: 1.4;
}


/* ==========================================================
   T’tulos
   ========================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #362715;
    margin-top: 10px;
}

h1 {
    font-size: 36px;
    font-weight: 200;
    line-height: 1.1;
    margin-bottom: 10px;
}

h1 b {
	font-weight: 400;
}

h2 {
    font-size: 30px;
    font-weight: 400;
    line-height: 1.1;
    margin-bottom: 0;
    margin-top: 15px;
}

h3 {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.1;
    margin-bottom: 0;
}

h4 {
    font-size: 16px;
    font-weight: 350;
}

h5 {
    font-size: 12px;
    font-weight: 300;
}

h6 {
    font-size: 10px;
    font-weight: 300;
}


/* ==========================================================
   Clases auxiliares
   ========================================================== */

.w3-myfont {
    font-family: inherit;
    font-weight: 300;
}

.letraElegante {
    font-family: inherit;
    font-weight: 200;
}

form {
    width: 100%;
    margin: 0 auto;
}



/* ==========================================================
   Grillas
   ========================================================== */

.grillaBasica {
    display: grid;
    grid-template-columns: repeat(
        var(--columnas),
        minmax(0, 1fr)
    );
    gap: 10px;
}

.seccion .grillaBasica {
    margin-top: 10px;
}

@media (max-width: 900px) {
    .grillaBasica {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .grillaBasica {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   Secciones
   ========================================================== */

.seccion {
    margin-bottom: 10px;
}


/* ==========================================================
   Celdas de secci—n
   ========================================================== */

.celdaSeccion {
    position: relative;
    width: 100%;
    display: flex;
    text-align: center;
}

.celdaSeccion .contenido {
    position: relative;
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
}

.celdaSeccion.fondoClaro .contenido,
.celdaSeccion.fondoOscuro .contenido,
.celdaSeccion.fondoGris .contenido,
.celdaSeccion.fondoGrisClaro .contenido,
.celdaSeccion.fondoImagen .contenido {
    padding: 10px 40px 10px 40px; /* arriba | derecha | abajo | izquierda */
}

.celdaSeccion h2,
.celdaSeccion h3,
.celdaSeccion p {
    margin: 0;
}

.celdaSeccion h3 {
    margin-top: 5px;
}

.celdaSeccion p {
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: inherit;
	margin-left: auto;
    max-width: 600px;
}


/* ==========================================================
   Celdas
   ========================================================== */

.celdaBasica {
    position: relative;
    width: 100%;
    display: flex;
}

.celdaBasica .contenido {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 20px 40px 10px 40px; /* arriba | derecha | abajo | izquierda */
    box-sizing: border-box;
}

.opacoOscuro .contenido {
    background-color: rgba(0, 0, 0, 0.25); /* El opacoOscuro impacta solo dentro del contenido, que es un div hijo */
    backdrop-filter: blur(5px);
     padding: 10px 40px 10px 40px; /* arriba | derecha | abajo | izquierda */
}

.opacoClaro .contenido {
    background-color: rgba(255, 255, 255, 0.35); /* El opacoClaro impacta solo dentro del contenido, que es un div hijo */
    backdrop-filter: blur(5px);
    padding: 10px 40px 10px 40px; /* arriba | derecha | abajo | izquierda */
}

.celdaBasica h3,
.celdaBasica h4,
.celdaBasica p {
    margin: 0;
}

.celdaBasica h4 {
    margin-top: 10px;
}

.celdaBasica p {
    margin-top: 10px;
}


/* ==========================================================
   Proporciones
   ========================================================== */

.cuadrada {
    aspect-ratio: 1 / 1;
}

.horizontal {
    aspect-ratio: 16 / 9;
}

.vertical {
    aspect-ratio: 3 / 4;
}


.banner300 {
    height: 300px;
}


/* ==========================================================
   Fondos
   ========================================================== */

.fondoClaro {
    background-color: #E1DCD8;
}

.fondoOscuro {
    background-color: #362715;
}

.fondoImagen {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fondoImagen::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}


/* ==========================================================
   Colores de texto
   ========================================================== */

.textoClaro,
.textoClaro h1,
.textoClaro h2,
.textoClaro h3,
.textoClaro h4,
.textoClaro p {
    color: #E1DCD8 !important;
}

.textoOscuro,
.textoOscuro h1,
.textoOscuro h2,
.textoOscuro h3,
.textoOscuro h4,
.textoOscuro p {
    color: #362715 !important;
}

.textoBlanco,
.textoBlanco h1,
.textoBlanco h2,
.textoBlanco h3,
.textoBlanco h4,
.textoBlanco p {
    color: white !important;
}


/* ==========================================================
   Posici—n vertical del contenido
   ========================================================== */

.verticalArriba {
    align-items: flex-start;
}

.verticalCentro {
    align-items: center;
}

.verticalAbajo {
    align-items: flex-end;
}