html {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: 'Gemunu Libre', sans-serif;
    line-height: 1.4;
    font-size: 1em;
    color: #fff;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
body {
    margin: 0;
}

*, *:before, *:after {
    -moz-box-sizing: inherit;
    box-sizing: inherit;
}

details,
main,
summary {
    display: block;
}


audio,
canvas,
progress,
video {
    vertical-align: baseline;
}


audio:not([controls]) {
    display: none;
    height: 0;
}


[hidden],
template {
    display: none;
}


a:active,
a:hover {
    outline: 0;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}


b,
strong {
    font-weight: inherit;
}

b,
strong {
    font-weight: bolder;
}

dfn {
    font-style: italic;
}


h1 {
    font-size: 2em;
    margin: 0.67em 0;
}


small {
    font-size: 80%;
}


sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}


svg:not(:root) {
    overflow: hidden;
}


figure {
    margin: 1em 40px;
}


hr {
-moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    overflow: auto;
}


code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}


















.hero-image {
    background-image: url(../images/fondo.jpeg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;

    width: 100vw;
    height: 100vh;
    
    position: relative;
}

.hero-container {
    width: 20%;
    height: fit-content;

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hero-container > .hero-divider {
    border-color: #af1945;
    border-width: 2px;
    border-style: solid;
}

.hero-container > .hero-title {
    font-size: 250%;
    text-align: center;

    margin: 0;
}


footer {
    width: 100vw;
    height: fit-content;
    background-color: transparent;
    position: fixed;

    bottom: 0;
    left: 0;

    text-align: center;
}

footer > a {
    color: #fff;
}

@media screen and (max-width: 1445px) {
    .hero-container {
        width: 30%;
    }
}

@media screen and (max-width: 873px) {
    .hero-container {
        width: 40%;
    }
}


@media screen and (max-width: 639px) {
    .hero-container {
        width: 60%;
    }
}

@media screen and (max-width: 437px) {
    .hero-container > .hero-title {
        font-size: 180%;
        text-align: center;
    
        margin: 0;
    }
}