@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --error: #ff3700;
    --pico-primary: #2a9dd6;
    --pico-primary-background: #1b1529;
    --pico-primary-hover: #2489bb;
    --pico-secondary: #d2d6e5;
    --pico-secondary-background: #1a1a1a;
    --dimmer: rgba(0, 0, 0, 0.6);
}


body {
    display: grid;
    width: 100%;
    grid-template-areas: "nav nav nav nav"
                         "main main main main"
                         "foot foot foot foot";
    grid-template-rows: min-content 1fr min-content;
    align-items: center;
    background: linear-gradient(127deg, var(--pico-secondary-background), var(--pico-primary-background)) no-repeat fixed;
    background-size: cover;
    flex-direction: column;
    font-family: \'Poppins\', sans-serif;
    margin: 0;
    padding: 0;
    min-height: 100vh;
}

.dashboard {
    height: 100%;
    text-align: center;
    width: 100%;
}

body > nav,
body > footer {
    background-color: var(--dimmer);
    padding: 1.2rem;
    text-align: center;
}

body > nav {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    position: relative;
    z-index: 500;
    grid-area: nav;
    box-shadow: 0 20px 28px 0 var(--dimmer);
    margin-bottom: 20px;
}


body > footer {
    grid-area: foot;
    box-shadow: 0 -20px 28px 0 var(--dimmer);
    margin-top: 20px;
}

body > main#page_container {
    grid-area: main;
    height: 100%;
}

body > main#page_container > main {
    height: 100%;
}

hr {
    border-color: var(--pico-primary);
    opacity: 0.5;
    width: 30%;
    margin: var(--pico-typography-spacing-vertical) auto;
}

li {
    list-style: none;
}

nav li {
    margin: unset;
}

header ul li {
    list-style: circle;
    width: fit-content;
}

ul {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding-left: 0;
}

header {
    align-items: center;
    text-align: center;
    width: 100%;
    margin-top: 35px;
    margin-bottom: 35px;
}

li a {
    padding-bottom: .45rem;
    position: relative;
    text-decoration: none;
    transition: all .3s ease;
    color: var(--pico-secondary);
}

li a:hover::after {
    margin: 0 auto;
    width: 85%;
}


li.navpage_item {
    padding: 0 20px;
}

table>tbody,
table>tbody>tr,
table>tbody>tr>th,
table>tbody>tr>td {
    border: 2px solid var(--pico-primary);
    border-collapse: collapse !important;
    text-align: center;
}

table>tbody>tr>td>button {
    border: unset;
    border-radius: unset;
    border-collapse: unset;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
}

table {
    border-collapse: collapse;
}

ul.navpage_list {
    gap: 10px;
    border: 4px solid var(--pico-primary-hover) !important;
    display: none;
    flex-direction: column;
    overflow: hidden;
    transition: max-height .3s ease, border .325s ease !important;
    z-index: 2;
    position: fixed;
    background: #00000066;
}

.back {
    border-radius: 15px;
    padding: .35rem .65rem;
    text-decoration: none;
    transition: all .3s ease;
}

.feature-list {
    display: block;
    margin: auto;
    width: fit-content;
}

.feature-list-ul ul {
    margin: 5px auto auto 20px;
}

.navsite_item {
    align-items: center;
    justify-content: center;
    text-align: center;
}

.navsite_item:hover .navpage_list {
    border: 4px solid var(--pico-primary-hover) !important;
    display: flex !important;
    max-height: unset;
    width: inherit;
    transition: max-height .3s ease, border .325s ease !important;
    box-sizing: border-box;
}

.navsite_item:not(:hover) .navpage_list {
    border: 0 solid transparent;
    max-height: 0;
    transition: max-height .3s ease, border .325s ease !important;
    width: inherit;
}

#navsite_list {
    display: flex;
    flex-direction: row;
    gap: 3.25rem;
    text-align: center;
    padding-right: 60px;
}

#toggle_button {
    position: absolute;
    right: 1.5rem;
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 2rem;
    height: 1.5rem;
}

#statusMessageContainer {
    position: fixed;
    top: 100px;
    right: 20px;
    z-index: 510;
    display: flex;
    flex-direction: column;
}

/*noinspection CssUnusedSymbol*/
.status-message {
    background-color: #dff0d8;
    /* Success background color */
    border: 1px solid #3c763d;
    /* Success border color */
    color: #3c763d;
    /* Success text color */
    padding: 15px;
    margin-bottom: 10px;
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

/*noinspection CssUnusedSymbol*/
.status-message.failure {
    background-color: #f2dede;
    /* Failure background color */
    border: 1px solid #a94442;
    /* Failure border color */
    color: #a94442;
    /* Failure text color */
}

.wrapper-40x .error {
    color: var(--error);
}

.wrapper-40x h1 {
    font-size: 10rem;
    margin: 0;
}

.wrapper-40x h3 {
    margin-bottom: 2rem;
}

.wrapper-40x {
    text-align: center;
}

header a,
.error-code {
    color: var(--pico-primary);
}

input, textarea {
    border: 2px solid var(--pico-primary);
}

input{
    border-radius: 25px;
}

textarea{
    border-radius: 10px;
}

.form-container input {
    border-radius: 50px;
    background: none;
    border: 2px solid var(--pico-primary);
    width: 175px;
}

span#ye-span:hover + body{
    background: url('/assets/images/ye.jpg') repeat !important;
    background-size: 20% !important;
}


#articlecreate, #memecreate {
    border: 5px solid var(--pico-primary);
    z-index: 5;
    margin: auto;
    padding: 40px;
    background-color: var(--pico-primary-background);
    border-radius: 50px;
}

#articlecreate > * {
    margin: 10px 0;
}

#articlecreateopen {
    display: none;
}

#articlecreatecontainer, #memecreatecontainer{
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 12vh;
    left: 0;
    width: 100vw;
    height: 88vh;
    z-index: 4;
    backdrop-filter: blur(2px);
}


.hidden {
    display: none !important;
}

div#articleslist > article > div.articleinfo > *{
    width: fit-content;
}

/*noinspection CssUnusedSymbol*/
div#articleslist > article > div.articleinfo{
    display: flex;
    flex-direction: row;
}

div#articleslist>article{
    border: 4px solid var(--pico-primary);
}

.form-content {
    display: flex;
    flex-direction: row;
}

.form-container {
    display: flex;
    flex-direction: column;
}

.meme_image {
    max-width: 500px;
    max-height: 300px;
    width: auto;
    height: auto;
}

.meme_link {
    width: fit-content;
    height: fit-content;
}

.meme_info, .meme_topbar {
    display: flex;
    flex-direction: row;
    height: fit-content;
    width: 100%;
    justify-content: right;
}

.meme, .meme_body {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
}

.positive {
    color: #008000;
}

.negative {
    color: #ff0000;
}

.neutral {
    color: var(--pico-color);
}

.visual_hover {
    --pico-background-color: var(--pico-primary-hover-background);
    --pico-border-color: var(--pico-primary-hover-border);
    --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
    --pico-color: var(--pico-primary-inverse);
}

.visual_hover.meme_upvote {
    --pico-background-color: #008000;
    --pico-border-color: unset;
}

.visual_hover.meme_downvote {
    --pico-background-color: #ff0000;
    --pico-border-color: unset;
}

#meme_gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));
    grid-auto-rows: 1fr;
    gap: 20px
}

@media (max-width: 1050px) {


    table .rozvrh {
        overflow: auto;
    }

    .navsite_item .navpage_list {
        max-height: unset !important;
    }
    div#articleslist {
        width: 100vw !important;
        left: 0 !important;
    }

    #toggle_button {
        display: flex;
    }

    #navsite_list {
        display: none;
        position: fixed;
        flex-direction: column;
        width: 100%;
        text-align: center;
        padding: 0 8px;
        left: 0;
        right: 0;
        margin: 0;
        gap: 1rem;
    }

    #navsite_list li {
        text-align: center;
        padding: 0;
    }

    .navsite_item {
        width: inherit;
    }

    ul.navpage_list {
        border: 4px solid var(--pico-primary-hover) !important;
        display: flex !important;
        max-height: 200px !important;
        width: inherit;
        box-sizing: content-box;
        transition-delay: .1s;
        position: unset !important;
    }
    .navsite_item:not(:hover) .navpage_list {
        transition-delay: .1s;
        width: inherit;
    }

    /*noinspection CssUnusedSymbol*/
    #navsite_list.active {
        display: flex;
        -moz-box-shadow: 0 20px 28px 0 var(--dimmer);
        -webkit-box-shadow: 0 20px 28px 0 var(--dimmer);
        background-color: var(--pico-primary-background);
        box-shadow: 0 20px 28px 0 var(--dimmer);
        top: 100px;
        text-align: center;
        left: 0;
    }

    nav {
        flex-direction: column;
        align-items: center;
        background-color: var(--dimmer);
    }

    .form-content {
        flex-direction: column;
    }

    .meme_image {
        max-width: 200px;
        max-height: 200px;
    }

    .navsite_link {
        width: 100%;
    }
}