body {
    background-size: contain;
    background-image: url("../img/bubble-background-mobile-size.jpg");
    background-position: center top;
    background-repeat: repeat-y;
}

#page-menu .menu li a.reference.active {
    border-bottom: 5px solid #1e283c;
    font-size: 2.2rem;
    animation-name: active-menu;
    animation-duration: 3s;
}

@keyframes active-menu {
    from {
        border-bottom: 0 solid #1e283c;
        font-size: 1.3rem;
    }
    to {
        border-bottom: 5px solid #1e283c;
        font-size: 2.2rem;
    }
}

.ekg {
    height: 150px;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    z-index: -2;
    animation-name: ekg;
    animation-duration: 6s;
    text-align: center;
}

.ekg img {
    width: 90%;
}

article {
    border-radius: 10px;
    padding: 10px;
}

p.article-selector, article h3 {
    text-align: center;
}

article h3 {
    margin-bottom: 20px;
}

.flex-container {
    justify-content: center;
}

blockquote {
    width: 90%;
    margin-top: 15px;
    margin-left: auto;
    margin-right: auto;
}

blockquote, article h3 {
    color: orange;
    text-shadow: #0d111e 0 0 2px, #0d111e 0 0 2px, #000 0 0 2px,
    #000 0 0 2px, #0d111e 0 0 2px, #0d111e 0 0 2px;
    font-style: italic;
}

blockquote h3 {
    font-size: 1.6rem;
}

blockquote h3::before,
blockquote h3::after {
    content: "“";
    font-size: 2rem;
    margin: -1rem 0 0 -2rem;
    position: absolute;
}

blockquote h2::after {
    content: "”";
    margin: 0 -4rem 0 0;
}

blockquote cite {
    font-size: 1.4rem;
}

article#geo {
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.7)),
    url("../img/crustal.jpg");
    background-size: contain;
    background-position: center;
    /*background-repeat: repeat-y;*/
}

article#geo > h3 {
    text-decoration: underline;
    color: white;
    font-weight: bold;
}


.flex-container .box p.title::first-letter {
    float: left;
    font-size: 3em;
    margin: 0 .2em 0 0;
}

.flex-container .box p {
    background-color: rgba(255, 255, 255, 0.8);
    border: thin solid #111111;
    border-radius: 10px;
    padding: 10px;
    text-align: justify;
    color: #111111;
    margin-bottom: 10px;
}

.flex-container .box p.without-bg {
    background: none;
    border: none;
    padding-bottom: 20px;
    padding-right: 0;
    padding-left: 0;
}

article#angular {
    background-image: url("../img/angular.png");
    background-position: center center;
    background-repeat: no-repeat;

}

#angular, .angular-item {
    background-color: #1e283c;
    color: #FFFFFF;
    padding: 15px;
    border-left: 7px solid orange;
}

pre {
    white-space: pre-wrap;
    white-space: -moz-pre-wrap;
    white-space: -o-pre-wrap;
    word-wrap: break-word;
    overflow-wrap: break-word;
    display: none;
}


pre span {
    display: inline-block;
}

.flex-container .box p.without-bg {
    border-bottom: 10px dotted orange;
}

@keyframes ekg {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@media screen and (min-width: 576px) {
    .ekg img {
        width: 50%;
    }
}

@media screen and (min-width: 768px) {
    .flex-container:first-of-type .box:nth-child(1) p {
        margin-right: 5px;
    }

    .flex-container:first-of-type .box:nth-child(2) p {
        margin-left: 5px;
    }

    pre {
        display: block;
    }
}

@media screen and (min-width: 992px) {
    body {
        background-size: contain;
        background-image: url("../img/bubble-background.jpg");
        background-repeat: no-repeat;
        background-position: center;
    }

    article#geo {
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)),
        url("../img/instrument.jpg");
        background-size: cover;
    }

    .ekg img {
        width: auto;
    }

    blockquote, article .flex-container h2:first-of-type {
        width: 60%;
    }

    blockquote h3 {
        font-size: 2rem;
    }

    blockquote h3::before,
    blockquote h3::after {
        font-size: 6rem;
        margin: -2rem 0 0 -4rem;
    }

    blockquote h3::after {
        margin: -1rem -4rem 0 0;
    }

    article#further-experiences .flex-container {
        align-items: center;
    }

    .flex-container .box p {
        margin: 10px;
    }

    .flex-container .box.dotted-border {
        border-right: 7px dotted orange;
        border-bottom: none;
    }

    .flex-container .box p.without-bg {
        border: none;
    }

    .flex-container .box p.without-bg {
        padding: 5px;
        margin-top: 0;
    }

    .flex-container .box img {
        margin-left: 10px;
    }
}

