:root {
    --menu-hover-color: rgb(48, 62, 164);
    --menu-background-color: #2f3036
}

@import "fonts.css";

body {
    background-color: rgba(211, 211, 211, 0.23);
    margin: 0;
    -ms-overflow-style: none;
    font-size: 120%; /*Make overall fontsize a little larger*/
}

/* Hide Scrollbar */
body::-webkit-scrollbar {
    display: none;
}

.a-pagelink,
.a-pagelink:visited,
.a-pagelink:hover,
.a-pagelink:active {
    color: var(--menu-hover-color);
    text-decoration: none;
}

.a-pagelink:hover {
    text-decoration: underline;
}

/* HEADER */

/*** TITLE ***/
.plaintext-link {
    color: black;
    text-decoration: none;
}

#sitetitle {
    font-family: "Lucida Console", Monaco, monospace;
    text-align: center;
    font-size: 3em;
    margin: 1vw;
}

/*** TOPNAV ***/

#topnav-wrapper {
    position: relative;
    z-index: 999;
}

.topnav {
    /*make menu full width*/
    position: relative;
    left: 0;
    right: 0;
}

/*Strip the ul of padding and list styling*/
.menu-ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    position: absolute;
}

/*Create a horizontal list with spacing*/
.menu-li {
    display: inline-block;
    margin-right: 1px;
}

.menu-a {
    font-size: 1.3em;
}

/*Style for menu links*/
.menu-li .menu-a {
    display: block;
    min-width: 140px;
    height: 50px;
    line-height: 50px;
    padding: 10px 20px;
}

.menu-li .menu-a,
.show-menu {
    background: var(--menu-background-color);
    color: #fff;
    /*font-family: "Lucida Console", Monaco, monospace;*/
    font-family: "PT Sans provided", sans-serif;
    text-align: center;
    text-decoration: none;
}

/*Style 'show menu' label button and hide it by default*/
.show-menu {
    padding: 10px 0;
    display: none;
    font-size: 1.3em;
    margin-block-end: 5px;
}

/*Hover state for top level links*/
.menu-li:hover .menu-a,
.menu-li:focus .menu-a {
    background: var(--menu-hover-color);
    -moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    -o-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    -ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

/*Style for dropdown links*/
.menu-li .menu-ul .menu-a {
    background: #f3f3f3;
    color: var(--menu-background-color);
    /*height: 40px;
    line-height: 40px;*/
}

/*Hover state for dropdown links*/
.menu-li:hover .menu-ul .menu-a:hover,
.menu-li:focus-within .menu-ul .menu-a:focus {
    background: var(--menu-hover-color);
    -moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    -o-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    -ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    color: #fff;
}

/*Hide dropdown links until they are needed*/
.menu-li .menu-ul {
    display: none;
}

/*Make dropdown links vertical*/
.menu-li .menu-ul .menu-li {
    display: block;
    float: none;
}

/*Prevent text wrapping*/
.menu-li .menu-ul .menu-li .menu-a {
    width: 100%;
    min-width: 100px;
    padding: 0 20px;
    box-shadow: 5px 5px 5px 3px grey;
}

/*Display the dropdown on hover*/
.menu-ul .menu-li .menu-a:hover+.hidden,
.hidden:hover,
.menu-ul .menu-li .menu-a:focus+.hidden,
.hidden:focus,
.menu-ul .menu-li .menu-a:focus-within+.hidden,
.hidden:focus-within {
    display: block;
}


/*Hidden elements accessible for screenreaders*/
.visuallyhidden {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

/*Center menu on non-mobile devices*/
@media screen and (min-width : 935px) {
    input[type=checkbox]#show-menu {
        display: none;
    }


    #menu {
        display: inline-flex;
        position: relative;
    }

    .topnav {
        text-align: center;
        background: var(--menu-background-color);
    }

    .menu-li .menu-ul .menu-li .menu-a {
        border-bottom: 0;
    }

    .menu-li .menu-ul .menu-li:last-of-type .menu-a {
        border-radius: 0 0 10px 10px;
    }

    .menu-li .menu-ul .menu-li .menu-a,
    .menu-li .menu-ul .menu-li:last-of-type .menu-a {
        border: 1px solid black;
        border-top: 0;
    }

    .page-content {
        padding-block-start: 2em;
        max-width: 50vw;
        min-width: 600px;
    }
}

/*Responsive Styles*/
@media screen and (max-width : 935px) {

    #sitetitle {
        font-size: 8vmin;
        margin: 3vmin;
    }

    /*Display 'show menu' link*/
    .show-menu {
        display: block;
    }

    /*Show menu when invisible checkbox is checked*/
    #menu:focus-within,
    input[type=checkbox]:checked~#menu {
        display: block;
    }

    input[type=checkbox]:checked~.show-menu {
        background-color: #52535e;
    }

    /*Add spacing between menu and the menu checkbox*/
    #menu {
        padding-top: 2px;
    }

    /*Add space before content*/
    .last-menu-item {
        padding-block-end: 5vh;
    }

    .page-content {
        max-width: 80vw;
        font-size: 0.9em;
    }

    /*Make dropdown links appear inline*/
    .menu-ul {
        position: static;
        display: none;
    }

    /*Make all menu links full width*/
    .menu-ul .menu-li,
    .menu-li .menu-a {
        width: -moz-available;
        width: -webkit-fill-available;
        width: fill-available;
    }

    /*Add spacing for topmenu entries*/
    .menu-ul .menu-li {
        padding-top: 1px;
    }

    /*Remove spacing between submenu entries*/
    .menu-ul .menu-li .menu-ul .menu-li {
        padding-top: 0;
    }

    .menu-li .menu-a {
        line-height: 40px;
        height: 40px;
    }

    /*Show dropdown links all the time on mobile*/
    .menu-li .menu-ul {
        display: block;
    }

    /*center submenu entries*/
    .menu-li .menu-ul .menu-li .menu-a {
        padding: 0px 0px;
    }

    /*remove shadows for submenu and add separator line*/
    .menu-li .menu-ul .menu-li .menu-a {
        box-shadow: none;
        border-top: 1px solid black;
    }

    /* remove hover color*/
    .menu-li:hover .menu-a {
        background-color: var(--menu-background-color);
    }

    /*Style for dropdown links*/
    .menu-li .menu-ul .menu-a {
        background: #f3f3f3;
        color: var(--menu-background-color);
        height: 35px;
        line-height: 35px;
    }
}

/*** PAGE CONTENT ***/
.page-content {
    position: relative;
    align-content: center;
    margin: 0 auto;
    /*font-family: "Lucida Console", Monaco, monospace;*/
    font-family: "PT Sans provided", sans-serif;
    /*font-size: 0.9em;*/
    padding-block-end: 5em;
}

.page-content .article p {
    text-align: justify;
}

/** ARTICLE PREVIEWS **/

.article-preview+.article-preview {
    margin-top: 3em;
}

hr {
    margin-bottom: 3em;
    margin-top: 3em;
}

.button {
    position: relative;
    display: inline-block;
    margin-top: 0.5em;
    padding: 0.8em 1em;
    background: var(--menu-background-color);
    border-radius: 4px;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.8em;
    color: #FFF;
    -moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
    -webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
    -o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
    -ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
    transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
    cursor: pointer;
}

.button:hover {
    background: var(--menu-hover-color);
    color: #FFF !important;
}

/*** FOOTER ***/

#sec-footer {
    font-family: "PT Sans provided", sans-serif;
}

#copyright {
    position: relative;
    text-align: center;
}

#copyright .container {
    padding: 3em 0em;
    border-top: 1px solid;
    border-color: rgba(0, 0, 0, .1);
}

#copyright a {
    text-decoration: none;
}

#main {
    padding: 5em 0em;
    background: #FFF
}

/*** CUSTOM PAGESTYLES ***/
.code-pre {
    background: white;
    color: black;
    border: black solid 2px;
    overflow: auto;
    width: 100%;
    display: inline-flex;
}

.code-pre code {
    padding-right: 2em;
    padding-left: 1em;
}

.code-figure {
    margin-inline-start: 0px;
    margin-inline-end: 5px;
}

img {
    width: 100%;
}

.image-figure {
    width: 100%;
    max-width: 900px;
    text-align: center;
    margin: auto;
    padding-block-start: 3em;
}

.page-content ul li {
    padding-bottom: 0.4em;
    padding-top: 0.4em;
}

.page-content ul {
    padding-inline-start: 20px;
}

.page-content ul ul {
    /*padding-inline-start: 10vw;*/
    padding-block-start: 0.4em;
}

.page-content h1 {
    font-size: 1.7em;
}

.page-content h2 {
    font-size: 1.2em;
    padding-block-start: 0.5em;
}


/* Special */
#plotly-container>.js-plotly-plot {
    height: 80vh !important;
}

@media screen and (max-width : 935px) {
    #plotly-container {
        margin-left: -9vw;
        margin-right: -9vw;
    }
}
/* Code blocks styling */
pre {
    padding: 1.5em;
    margin: 1.5em 0;
    overflow-x: auto;
    border-radius: 8px;
    line-height: 1.5;
}

pre code {
    padding: 0;
    background-color: transparent !important;
    border: none;
    font-size: 0.9em;
}

code {
    background-color: #f4f4f4;
    padding: 0.2em 0.4em;
    border-radius: 3px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9em;
}

/* Code block captions */
pre + p strong:first-child,
p + pre {
    margin-top: 1em;
}

strong + pre {
    margin-top: 0.5em;
}
