@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@1,300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans&family=Roboto&display=swap');
html {
    --white: #ffffff;
    --navy-blue: #0a192f;
    --dark-navy: #020c1b;
    --light-navy: #172a45;
    --lightest-navy: #303c55;
    --navy-shadow: rgba(2, 12, 27, 0.7);
    --slate: #8892b0;
    --light-slate: #a8b2d1;
    --lightest-slate: #ccd6f6;
    --white: #e6f1ff;
    --green: #64ffda;
    --dark-green: #24ab97;
    --dark-green-1: #1a7d6e;
    --green-tint: rgba(100, 255, 218, 0.1);
    --light-black: rgb(24, 24, 24);
    --font-sans: 'Calibre', 'San Francisco', 'SF Pro Text', sans-serif;
    --font-mono: 'SF Mono', 'Fira Code', 'Fira Mono', 'Roboto Mono', monospace;
    --font-story: 'Josefin Sans', serif;
    --font-content: serif;
    --text: #515151;
    --line: #d9d4d4;
    --progress-color: #2ecc71;
    --progress-height: 0.5rem;
    --solus-night: #01242e;
    --bg-body: white;
    --bg-navbar: #001a25;
    --text-color: #515151;
    --font-text: 'Josefin Sans';
    --font-header: sans-serif;
    --footer-border-color: #d9d4d4;
    --info-color: #49757a;
    --title-color: #121212;
    --share-color: black;
    --filter-green: invert(88%) sepia(53%) saturate(468%) hue-rotate(83deg)
        brightness(98%) contrast(113%);
    --filter-blue: invert(80%) sepia(69%) saturate(6232%) hue-rotate(176deg)
        brightness(97%) contrast(95%);
    --filter-light-green: invert(43%) sepia(11%) saturate(1214%)
        hue-rotate(138deg) brightness(94%) contrast(87%);
    --filter-navy-blue: invert(10%) sepia(8%) saturate(6763%) hue-rotate(157deg)
        brightness(91%) contrast(104%);
}

@font-face {
    font-family: 'verdana';
    src: url('/static/Verdana.ttf');
}

html.dark-mode {
    --bg-body: #353b43;
    --bg-navbar: #242930;
    --text-color: #ccd6f6;
    --font-text: 'Josefin Sans';
    --font-header: serif;
    --progress-color: #1a7d6e;
    --text-color: #ccd6f6;
    --footer-border-color: #49757a;
    --info-color: #5c9fa7;
    --title-color: #ccd6f6;
    --share-color: white;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

body {
    background-color: var(--bg-body);
}

header {
    /* overflow: hidden; /* it blocks tooltip in header */
    background-color: var(--bg-navbar);
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 65px;
    padding-left: 2%;
    padding-right: 2%;
    padding-top: 20px;
    padding-bottom: 20px;
}

header.sticky {
    position: fixed;
    top: 0;
    width: 100%;
}

header .links {
    display: flex;
    width: 45%;
    justify-content: space-evenly;
}

header .logo {
    font-size: 25px;
    font-weight: 600;
}

header a {
    color: #fff;
    font-family: sans-serif;
    font-size: 18px;
    text-decoration: none;
    margin-left: 10px;
    margin-right: 10px;
}

header a:hover {
    color: var(--green);
}

header .bar {
    display: none;
    font-size: 25px;
    color: #fff;
    cursor: pointer;
    padding: 0;
    margin: 0;
}

/*? ---------------------------------------------------------- */
aside {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 200;
    top: 0;
    right: 0;
    background-color: var(--bg-navbar);
    /* background-color: #001a25; */
    font-family: sans-serif;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
}

aside a {
    padding: 30px 50px 0px;
    text-decoration: none;
    font-size: 25px;
    color: var(--slate);
    display: block;
    transition: 0.3s;
}

aside a:hover {
    color: var(--green);
}

aside .closebtn {
    position: absolute;
    top: 0;
    padding: 16px 0px;
    left: 25px;
    font-size: 48px;
    /* margin-right: 50px; */
}

aside .social {
    display: flex;
    margin-top: 10px;
    padding: 30px 50px;
    font-size: 24px;
}

aside .social a {
    padding: 0px 10px 0px 0px;
}
/* ------------------------------------------------------------- */
#myProgress {
    width: 100%;
    margin-top: 65px;
    position: fixed;
    z-index: 2;
}

#myBar {
    width: 0%;
    height: 5px;
    background-color: var(--progress-color);
}
/*? --------------------------------------------------------------- */

.social-nav {
    width: 60px;
    position: fixed;
    z-index: 1;
    top: 200px;
    left: 10px;
    background: #eee;
    background-color: var(--bg-navbar);
    overflow-x: hidden;
    padding: 8px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.social-nav a {
    padding: 10px;
    text-decoration: none;
    font-size: 25px;
    color: #2196f3;
    color: var(--lightest-slate);
    display: block;
}

.social-nav a:hover {
    color: #064579;
    color: var(--green);
}

main {
    background-color: var(--bg-body);
    color: var(--text-color);
    padding-top: 100px;
    padding-left: 20%;
    padding-right: 20%;
    min-height: 100vh;
    font-family: var(--font-text);
    font-size: 24px;
    line-height: 40px;
    user-select: none;
}

main ul,
ol {
    padding-left: 50px;
}

footer {
    margin-top: 50px;
    padding: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid var(--footer-border-color);
    color: var(--text-color);
}

h2,
h4,
h6 {
    font-family: sans-serif;
    color: var(--title-color);
}

.info {
    font-size: 16px;
    color: var(--info-color);
    margin-bottom: 30px;
}

img {
    width: 100%;
    margin-bottom: 30px;
    aspect-ratio: 16/9;
}

.code {
    position: relative;
}

.btn {
    padding-right: 20px;
    display: flex;
    justify-content: flex-end;
    position: relative;
    top: 50px;
}

button {
    width: 50px;
    height: 30px;
    border-radius: 30px;
    border: 1px solid var(--light-navy);
    background-color: var(--light-navy);
    color: white;
    z-index: 1;
    position: relative;
}

button:hover {
    color: var(--dark-green);
}

.share-div {
    margin-top: 50px;
    display: flex;
}

.share-div p {
    color: var(--share-color);
    font-family: sans-serif;
    font-weight: 600;
    font-size: 32px;
    margin-right: 20px;
}

.share-link {
    display: flex;
}

.share {
    width: 32px;
    height: 32px;
    margin: 5px 10px 0px 10px;
    cursor: pointer;
    transition: transform 0.5s;
}

#linki {
    width: 24px;
    height: 24px;
    filter: var(--filter-blue);
}

.share:hover {
    transform: scale(1.2);
}

#edit {
    color: var(--info-color);
    font-size: 20px;
    padding-top: 10px;
}

/*? --------------------------------- Media Queries ------------------------------------- */
@media only screen and (max-width: 800px) {
    header {
        padding-left: 10%;
        padding-right: 10%;
        /* padding-top: 15px;
        padding-bottom: 15px; */
        justify-content: space-between;
    }
    header .bar {
        display: block;
    }

    header .links {
        display: none;
    }

    .social-nav {
        display: none;
    }
    main {
        padding-left: 5%;
        padding-right: 5%;
        font-size: 20px;
        line-height: 35px;
    }

    .share-div {
        flex-direction: column;
    }
}

@media screen and (max-height: 450px) {
    aside {
        padding-top: 15px;
    }
    aside a {
        font-size: 18px;
    }
}

@media (hover) {
    aside a {
        color: var(--slate);
    }
}

/*? ------------------ dark mode switch ------------------------------- */

.checkbox {
    opacity: 0;
    position: absolute;
}

.label {
    background-color: #292c35;
    border-radius: 50px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px;
    position: relative;
    height: 22px;
    width: 45px;
    transform: scale(1.5);
}

.label .ball {
    background-color: var(--bg-navbar);
    border-radius: 50%;
    position: absolute;
    top: 2px;
    left: 2px;
    height: 18px;
    width: 18px;
    transform: translateX(0px);
    transition: transform 0.2s linear;
}

.checkbox:checked + .label .ball {
    transform: translateX(21px);
}

.fa-moon-o {
    color: #ffdd91;
}

.fa-sun-o {
    color: #ffdd91;
}

/*? ---------------- Tooltip -------------------------- */
.tooltip {
    position: relative;
    /* display: inline-block; */
}

.tooltip .tooltiptext {
    visibility: hidden;
    background-color: black;
    color: #fff;
    font-size: 14px;
    font-family: serif;
    border-radius: 5px;
    padding-top: 0px;
    width: 80px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 3;
    margin-left: -30px;
    margin-top: 10px;
}

.top {
    position: absolute;
    bottom: 100%;
    left: 50%;
}

.bottom {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 90px;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}

/*? -------------- Modal ------------------------------------- */

#modal {
    background-color: black;
    color: #fff;
    font-size: 16px;
    font-family: serif;
    border-radius: 5px;
    padding-top: 0px;
    width: 180px;
    height: 50px;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    overflow: auto;
    position: fixed;
    bottom: 10vh;
    left: 5vh;
    cursor: default;
    animation-name: animatebottom;
    animation-duration: 0.5s;
}

@keyframes animatebottom {
    from {
        bottom: -100px;
    }
    to {
        bottom: 10vh;
    }
}

@media only screen and (max-width: 800px) {
    #modal {
        bottom: 0px;
        left: 0px;
        border-radius: 0px;
        width: 100%;
    }
    @keyframes animatebottom {
        from {
            bottom: -100px;
        }
        to {
            bottom: 0px;
        }
    }
}

/*? ------------------- Assigned by javascript -------------------------------- */

.theme {
    padding: 30px 50px 0px;
    position: absolute;
    top: 0;
    left: 70px;
}
