/****** BASE SETTINGS ******/

    :root {
        /* BG COLORS */
        --background-color: white;
        --content-background-color: rgb(196, 46, 46);
        --sidebar-background-color: rgb(196, 46, 46);

        /* TEXT COLORS */
        --text-color: black;
        --sidebar-text-color: black;
        --link-color: black;
        --link-color-hover: rgb(48, 45, 45);

        /* TEXT: */
        --font: basteleur;
        --heading-font: ouroboros;
        --font-size: 12px;

        /* OTHER STUFF */
        --margin: 40px;
        --padding: 24px;
        --border: black 2px solid;
        --round-borders: 4px;
        --sidebar-width: 300px;
    }

    /****** SETTINGS *****/
    * {
        box-sizing: border-box;
    }

    body {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 100vh;
        font-size: var(--font-size);
        margin: 0;
        padding: var(--margin);
        color: var(--text-color);
        font-family: var(--font);
        line-height: 1.2;
        background: var(--background-color);
        background-image: url(backgrounds/terrace.png);
    }


    ::selection {
        /* this show the color of the text highlighted by users */
        background: rgba(183, 221, 255, 0.611);
    }
    
    @font-face {
        font-family: ouroboros; 
        src: url(fonts/ouroboros/fonts/Ouroboros-Regular.ttf);
        }
    
    @font-face {
        font-family: basteleur;
        src: url(fonts/basteleur-master/fonts/ttf/Basteleur-Moonlight.ttf);
        }


    /* LINKS */
    a {
        text-decoration: none;
    }

    a, a:visited {
        color: var(--link-color);
    }

    a:hover, a:focus {
        color: var(--link-color-hover);
        text-decoration: none;
    }

    /******* LAYOUT *******/
    .layout {
        width: 100%;
        display: grid;
        grid-gap: var(--margin);
        grid-template: "header header header" auto "left main right" auto "footer footer footer" auto / var(--sidebar-width) auto var(--sidebar-width);
    }

    /****** HEADER ******/
    header {
        grid-area: header;
        font-size: 1.2em;
        border: var(--border);
        border-radius: var(--round-borders);
        background-image: url(backgrounds/warofhearts.jpg);
        height: 200px;
    }

    header h1 {
        font-family: ouroboros;
        font-size: 4em; 
        text-align: center;
        margin-top: 150px;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke-width: 1px;
        -webkit-text-stroke-color: #000;
        -webkit-animation: glow 2.0s linear infinite;
        animation: glow 2.0s linear infinite;

        font-weight:bold;
    }

    @keyframes glow {
    0% { text-shadow: 0 0 15px pink; }
    50% { text-shadow: none; }
    100% { text-shadow: 0 0 15px pink; }
    }

    @-webkit-keyframes glow {
    0% { text-shadow: 0 0 15px rgb(214, 30, 30); }
    50% { text-shadow: none; }
    100% { text-shadow: 0 0 15px rgb(214, 30, 30); }
    }

    /******* SIDEBARS *******/
    aside {
        grid-area: aside;
        border: var(--border);
        border-radius: var(--round-borders);
        overflow: hidden;
        background: var(--sidebar-background-color);
        padding: var(--padding);
        color: var(--sidebar-text-color);
    }

    .left {
        grid-area: left;
        background-image: url(backgrounds/diamond.png);
    }

    .right {
        grid-area: right;
        height: 500px;
        background-image: url(backgrounds/diamond.png);
    }

     .right .updates-box {
        border-style:solid;
        border-image: url("https://i.imgur.com/NJa4bp2.png") 8 fill round;
        width:100%;
        height:200px;
        margin-bottom: 5px;
        overflow: scroll;
    }

    .border-box img {
        height: 250px;
        width: 350px;
        position: absolute;
        right: 5px;
        z-index: 50px;
        margin-top: 50px;
    }

    .section-title {
        font-weight: bold;
        font-size: 1.2em;
        font-family: var(--heading-font);
    }

    .section-title:not(:last-child) {
        margin-bottom: 3em;
    }

    .section-title ul {
        padding-left: 1.5em;
    }

    .section-title > *:not(p):not(ul):not(blockquote) {
        margin-top: 10px;
    }

    /***** BLOCKQUOTES *****/
    .sidebar-section blockquote {
        background: whitesmoke;
        padding: 15px;
        margin: 1em 0;
        border-radius: 10px;
        overflow: hidden;
    }

    .sidebar-section blockquote > *:first-child {
        margin-top: 0;
    }

    .sidebar-section blockquote > *:last-child {
        margin-bottom: 0;
    }


    /******** FOOTER *********/
    footer {
        grid-area: footer;
        border-width:7px;
        border-style:solid;
        border-image: url("https://i.imgur.com/NJa4bp2.png") 8 fill round;
        width:100%;
        height:50px;
        overflow-y:auto;
        margin-top: 5px;
        margin-right: 25px;
        display: flex;
        justify-content: center;
    }

    /****** NAV ******/
    nav {
        margin-bottom: 3em;
        border: var(--border);
        border-radius: var(--round-borders);
        background-image: url(backgrounds/jpgs/swords.jpg);
    }

    nav .nav-title {
        color: white;
        margin-bottom: 0.5em;
        font-family: ouroboros;
        font-size: 2em;
        text-align: center;
        margin: 4px 2px;
        filter: drop-shadow(0px 1px black) drop-shadow(0 -1px black) drop-shadow(1px 0 black) drop-shadow(-1px 0 black) drop-shadow(0px 1px rgb(15, 15, 15)) drop-shadow(0 -1px rgb(15, 14, 14)) drop-shadow(1px 0 rgb(1, 1, 1)) drop-shadow(-1px 0 rgb(8, 8, 8));
    }
   

    .button {
        background-color: antiquewhite;
        text-align: center;
        box-shadow: inset 13px 0px 6px -10px rgb(66 66 66 / 56%), inset -13px 0px 6px -10px rgb(66 66 66 / 56%), inset 0px 13px 6px -10px #ffffff, inset 0px -13px 6px -10px rgb(66 66 66 / 38%);
        filter: drop-shadow(0px 0px 1px #424242);
        -webkit-filter: drop-shadow(0px 0px 1px #424242);
        background:white;
        color:black;
        width:calc(100% - 20px);
        height:fit-content;
        max-height: 190px;
        overflow-y:auto;
        border-radius:10px;
        padding:10px 10px 10px 10px;
        box-sizing:border box;
        margin: 5px;
        margin-left: 10px;
    }

   

    nav ul {
      
        padding: 0;
        list-style: none;
        user-select: none;
    }

    nav ul li {
        margin-bottom: 0;
    }

    nav > ul li > a, nav > ul li > strong {
        display: inline-block;
    }

    nav > ul li > a, nav > ul li > details summary, nav > ul li > strong {
        padding: 5px 10px;
    }

    nav > ul li > a.active, nav > ul li > details.active summary {
        font-weight: bold;
    }

    nav ul ul li > a {
        padding-left: 30px;
    }

    /****** MAIN CONTENT *******/
    main {
        grid-area: main;
        overflow-y: auto;
        padding: var(--padding);
        background-image: url(backgrounds/diamond.png);
        border: var(--border);
        border-radius: var(--round-borders);
        margin-top: 50px;
    }
    
    main {
        line-height: 1.5;
        
    }

    main section{
        border-top: 3.5px double #000;
        border-left: 3.5px double #000;
        border-right: 3.5px double #000;
        border-bottom: 3.5px double #000;
        background-color: #ffffff;
    }

    main h1 {
        margin: 5px;
        font-family: ouroboros;
    }

    main p {
        margin: 5px;
    }

    .box-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .box1 {
        width: 200px;
        height: 200px;
        border-top: 3.5px double #000;
        border-left: 3.5px double #000;
        border-right: 3.5px double #000;
        border-bottom: 3.5px double #000;
        margin-top: 5px;
        background-color: #ffffff;
    }

    .box2 {
        border-width:7px;
        border-style:solid;
        border-image: url("https://i.imgur.com/NJa4bp2.png") 8 fill round;
        width:100%;
        height:200px;
        overflow-y:auto;
        margin-top: 5px;
        margin-right: 25px;
    }


    .manifesto-box {
        margin-left: 5px;
        margin-top: 5px;
        width: 600px;
        height: 300px;
        border-top: 3.5px double #000;
        border-left: 3.5px double #000;
        border-right: 3.5px double #000;
        border-bottom: 3.5px double #000;
        background-color: #ffffff;
        overflow: scroll;
    }

    .manifesto-box h1 {
        text-align: center;
    }

    

    /****** ACCESSABILITY *******/
    #skip-to-content-link {
        position: fixed;
        top: 0;
        left: 0;
        display: inline-block;
        padding: 0.375em 0.75em;
        line-height: 1;
        font-size: 1.25em;
        background-color: var(--content-background-color);
        color: var(--text-color);
        transform: translateY(-3rem);
        transition: transform 0.1s ease-in;
        z-index: 99999999999;
    }

    #skip-to-content-link:focus, #skip-to-content-link:focus-within {
        transform: translateY(0);
    }

    /****** RESPONSIVENESS ******/
    @media (max-width:800px) {
        body {
            font-size: 14px;
        }

        .layout {
            width: 100%;
            grid-template: "header" auto "main" auto "footer" auto / 1fr;
        }

        .left {
            display: none;
        }

        .right {
            display: none;
        }

        aside {
            border-bottom: 1px solid;
            padding: 9x;
            font-size: 0.9em;
        }

        nav {
            padding: 0;
        }

        nav > ul {
            padding-top: 0.5em;
        }

        nav > ul li > a,
        nav > ul li > details summary,
        nav > ul li > strong {
            padding: 0.5em;
        }

        main {
            max-width: none;
            padding: 15px;
        }


        .images img {
            flex-wrap: wrap;
            width: 100%;
        }

        #skip-to-content-link {
            font-size: 1rem;
        }
    }