:root {
    --verde-claro: #f7fff7;
    --verde: #d0efd1;
    --verde-oscuro: rgb(44, 70, 45);
    --verde-oscuro-transparente: rgba(44, 70, 45, 0.5);
    --rosa: #AF0835;
    --fuente: 22rem / 125% Garamond, Helvetica, sans-serif;
    --visitado: purple;
}

* {
    box-sizing: content-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 6.25%;
}

body {
    font: var(--fuente);
    background: var(--verde);
}

/* ------------- HEADINGS ------------ */

h2,
h3,
h4,
h5,
h6 {
    padding: 6rem 0;
    line-height: 100%;
}

h1 {
    margin-top: 10rem;
    margin-bottom: 10rem;
    font-size: 40rem;
    line-height: 100%;
}

h2 {
    font-size: 35rem;
}

h3 {
    font-size: 32rem;
}

h4 {
    font-size: 29rem;
}

h5 {
    font-size: 27rem;
}

h6 {
    font-size: 25rem;
}

/* ------------- HEADER & TITLES ------------ */

#title {
    font-size: 200%;
    font-weight: bold;
}

#title {
    margin-top: 15rem;
}

#subtitle {
    color: var(--verde-oscuro);
    margin: 0 auto;
    margin-top: 20rem;
}

.tagTitle {
    padding: initial;
    padding-left: 40rem;
}

/* ------------- MAIN ------------ */

main {
    background: var(--verde-claro);
    padding-top: 20rem;
    padding-bottom: 40rem;
    border-top: 2rem solid var(--verde-oscuro);
    border-bottom: 2rem dashed var(--rosa);
}

/* ------------- P ------------ */

main>p {
    margin: 35rem;
    padding: 5rem;
}

main>p.tagTitle {
    margin: 10rem 0 0 0;
    padding: 0 0 0 40rem;
}

p {
    margin-bottom: 10rem;
}

p+ul,
p+ol {
    padding-top: 0;
}

summary+p {
    margin-left: 20rem;
}

/* ------------- MIXED SECTIONS ------------ */

body>header,
main,
footer {
    margin-top: 10rem;
}

body>header,
footer {
    padding: 20rem 20rem 20rem 35rem;
}

footer {
    padding-bottom: 45rem;
}

.portada {
    padding: 20rem;
    color: initial;
}

.portada li p {
    margin-top: 0;
    padding-top: 0;
}

.divisor {
    display: block;
}

/* Actually used?*/

hr {
    margin: 30rem auto;
    width: 80%;
    border: 2rem solid var(--verde-oscuro-transparente);
}

/* ------------- LISTS ------------ */

ul,
ol {
    margin-left: 20rem;
    padding: 15rem;
}

ul ul {
    padding: 5rem 15rem;
}

ol li::marker {
    font-weight: bold;
}

.number {
    font-size: 110%;
    font-weight: bolder;
    padding: 1rem 10rem;
    border: 1rem solid var(--verde-oscuro-transparente);
    background: var(--verde);
    border-radius: 5rem;
}

article ul:only-of-type,
article ul:nth-of-type(2),
article ul:nth-of-type(5) {
    list-style-type: square;
}

article ul:nth-of-type(3),
article ul:nth-of-type(6) {
    list-style-type: circle;
}

li:not(:first-of-type) {
    margin-top: 5rem;
}

nav ul,
.portada li {
    list-style-type: none;
}

/* ------------- TABLES ------------ */

table {
    margin: 15rem auto;
}

th,
td {
    padding-left: 15rem;
}

th {
    padding-bottom: 10rem;
}

/*Add the same padding-bottom to the first data row */

table thead {
    border: 1rem solid var(--verde);
}

caption {
    margin-top: 10rem;
}

table {
    caption-side: bottom;
}

article table {
    border: 2rem solid var(--verde-oscuro);
    padding: 10rem;
}

/* ------------- LINKS ------------ */

a:link {
    color: var(--verde-oscuro);
}

#title a:link,
#title a:visited,
.portada header a {
    text-decoration: none;
    color: initial;
}

nav a:link,
nav a:visited {
    text-decoration: none;
    color: initial;
}

.portada header a {
    font-weight: bold;
    text-decoration: none;
}

a:hover,
#title a:hover,
.portada a:hover {
    color: var(--rosa);
}

.related a {
    border-radius: 20rem;
    padding: 2rem 15rem 4rem;
    background: var(--verde-oscuro-transparente);
    text-decoration: none;
    color: var(--verde-claro);
    display: inline-block;
}

.related a:not(:first-of-type) {
    margin-left: 10rem;
}

.related a:hover {
    background: var(--rosa);
}

/* ------------- SCRIPT QUOTE CLASS ------------ */

.screenplay {
    font-family: "Courier New", "Lucida Console", "Consolas";
    font-size: 90%;
    margin: 20rem auto 30rem auto;
    padding: 20rem;
    text-align: center;
    border: 1rem solid;
    box-shadow: 4rem 4rem var(--verde-oscuro);
    width: 80%;
}

.screenplay * {
    margin: 0 auto;
    padding: 0;
    width: 76%;
}

.character {
    text-transform: uppercase;
}

.parenthetical {
    font-style: italic;
    color: var(--verde-oscuro);
}

.dialogue+.character,
.parenthetical+.character {
    margin-top: 10rem;
}

.source {
    text-align: right;
}

/* ------------- IMAGES AND CAPTIONS ------------ */

img.more {
    max-width: 50%;
    height: auto;
}

img.less {
    max-width: 25%;
    height: auto;
}

img.border,
iframe.border {
    border: 2rem solid var(--verde-oscuro-transparente);
}

figure iframe {
    width: 560px;
    height: 315px;
}

/* Size needs revising */

figcaption {
    width: 75%;
    margin: 0 auto;
}

figcaption,
caption {
    color: var(--rosa);
    font-weight: bold;
    text-align: center;
    line-height: 22rem;
    margin-bottom: 10rem;
}

/* ------------- TEXT ------------ */

.tag {
    color: var(--rosa);
}

.related {
    font-size: 95%;
}

cite {
    font-style: italic;
    font-weight: normal;
}

.lastLine {
    padding: 10rem;
    font-style: italic;
}

.lastLine,
#volver {
    text-align: right;
}

.date {
    padding-top: 10rem;
    color: var(--rosa);
}

.center {
    text-align: center;
}

.warning {
    font-variant: small-caps;
}

.spoiler {
    color: var(--verde-oscuro-transparente);
}

/* ------------- FORM ------------ */

form {
    margin-top: 5rem;
    display: flex;
    justify-content: center;
}

button {
    font: var(--fuente);
    border: 3rem groove var(--verde-oscuro);
    border-radius: 3rem;
    background: var(--verde);
    padding: 5rem;
}

button:hover {
    background: var(--verde-oscuro);
    color: var(--verde-claro);
    cursor: pointer;
}

/* ------------- NAV & OTHERS BY VIEWPORT SIZE ------------ */

@media only screen and (max-width: 720px) {

    body>header {
        text-align: center;
        padding: 5rem 0 0;
    }

    #subtitle {
        padding-left: 20rem;
        padding-right: 20rem;
        line-height: 20rem;
    }

    nav ul {
        padding-bottom: 5rem;
    }

    nav a {
        display: block;
        background: var(--verde-oscuro);
    }

    nav a:link,
    nav a:visited {
        color: var(--verde-claro);
    }

    nav a:hover {
        background: black;
    }

    .portada header {
        font-size: 115%;
    }

    figure iframe,
    body img {
        display: block;
        width: 90%;
        margin: 20rem auto;
    }

    main>article {
        padding: 20rem 40rem;
    }

    .date {
        position: relative;
    }

    .related {
        text-align: center;
    }

    .related a:not(:first-of-type) {
        margin-top: 3rem;
        margin-left: 0;
    }

}

@media only screen and (min-width: 720px) {

    header {
        font-size: 130%;
        position: relative;
    }

    nav {
        position: absolute;
        right: 30rem;
        bottom: 8rem;
    }

    nav li {
        display: inline;
    }

    nav li:not(:first-of-type) {
        margin-left: 15rem;
    }

    nav a {
        padding: 10rem;
    }

    nav a:hover {
        background: var(--verde-oscuro);
        color: var(--verde);
    }

    figure iframe,
    body img {
        display: block;
        margin: 20rem auto 10rem;
    }

    body img {
        max-width: 35%;
        height: auto;
    }

    img.bigger {
        max-width: 100%;
        height: auto;
    }

    main>article {
        padding: 30rem 60rem;
    }

}

@media only screen and (min-width: 720px) and (max-width:1080px) {

    nav {
        position: static;
    }

    nav li {
        text-align: center;
        display: block;
        padding: 10rem;
    }

    nav li:not(:first-of-type) {
        margin-left: 0rem;
    }

    nav a {
        padding: 10rem;
    }

    nav ul {
        padding-bottom: 0;
    }
}