/* Style
Name: Dynamics
Author: Mladen Gibanica
Site: mladen.gibanica.net
Version: 0.4
*/

/* Utils */
/* Loading (loads from base.html) */
#loading {
    display: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0;
    padding: 0;
    z-index: 3;
    background: #fafafa;
    align-items: center;
    justify-content: center;
}

#loading .logo {}

/* End Loading */

/* Logo */
.logo {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo .box1,
.logo .box2,
.logo .box3,
.logo .box4,
.logo .box5 {
    width: 5px;
    margin: 0 2px;
    background: #000000;
}

.logo .box1 {
    height: 5px;
    margin-left: 0;
    align-self: flex-end;
}

.logo .box2 {
    height: 11px;
    align-self: flex-end;
}

.logo .box3 {
    height: 18px;
    align-self: flex-end;
}

.logo .box4 {
    height: 11px;
    align-self: flex-start;
}

.logo .box5 {
    height: 5px;
    margin-right: 0;
    align-self: flex-start;
}

.nav .logo {
    margin: 0 auto;
    padding: 0;
    align-items: center;
}

.nav .logo .box1,
.nav .logo .box2,
.nav .logo .box3,
.nav .logo .box4,
.nav .logo .box5 {
    background: #f0f0f0;
}

/* Logo End */

/* Noscript and Old Browsers */
noscript,
.old-browsers {
    display: block;
    width: 100%;
    background: #000000;
    color: #fafafa;
    text-align: center;
    position: fixed;
    font-size: 1.4em;
    z-index: 1;
    padding: 10px 0;
}

/* End Noscript and Old Browsers */

/* Links */
a,
a:visited {
    color: #000000;
    text-decoration: none;
}

a:hover {
    transition: all 0.25s;
    color: rgba(0, 0, 0, 0.6);
}

/* Headlines */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 10px 0;
    letter-spacing: 0.1em;
    font-weight: 300;
}

h1 {
    font-size: 2.4em;
}

h2 {
    font-size: 2.2em;
}

h3 {
    font-size: 2em;
}

h4 {
    font-size: 1.8em;
}

h5 {
    font-size: 1.6em;
}

h6 {
    font-size: 1.4em;
}

/* Other */
strong {
    font-weight: bold;
}

em {
    font-style: italic;
}

.image {
    text-align: center;
}

img {
    width: 100%;
}

.article-image figure {
    margin: -130px 0 0;
    padding: 0;
}

.post-image {
    height: 100vh;
    object-fit: cover;
    vertical-align: top;
}

.hide_scroll {
    overflow-x: hidden;
}

.show-block {
    display: block;
}

/* End Utils */

/* HTML and BODY */
html {
    height: 100%;
    width: 100%;
    background: #fafafa;
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE 10+ */
}

html::-webkit-scrollbar {
    width: 0px;
    /* WebKit */
}

body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    color: #000;
    font-family: "Lato", sans-serif;
    font-style: normal;
    font-weight: 300;
}

/* End HTML and BODY */

/* Menu */
#nav {
    position: fixed;
    text-transform: uppercase;
    z-index: 1;
    top: 40px;
    left: calc(50% - 430px);
    /*530px*/
    margin: 0;
    padding: 0;
    height: 50px;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.nav ul {
    margin: 0;
    padding: 0;
    text-align: center;
    list-style: none;
    display: inline-block;
}

.nav li {
    float: left;
    height: 50px;
    position: relative;
}

.nav a,
.nav a:visited {
    color: #000;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    height: 50px;
    padding: 0 20px;
    background: rgba(240, 240, 240, 0.75);
}

.nav a:hover {
    color: #f0f0f0;
    background: #000;
}

.nav a.activeMenu {
    color: #f0f0f0;
    background: #000;
}

.nav #menu-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    padding: 0 20px 0 20px;
    height: 50px;
    margin: 0;
    background: #000;
    color: #f0f0f0;
    width: 41px;
}

/* Menu Animation */
.nav .boxes_123 {
    margin: 0;
    padding: 0;
    display: flex;
}

.nav .box1,
.nav .box2,
.nav .box3,
.nav .box4,
.nav .box5,
.nav .boxes_123 {
    transition: all 0.1s;
}

.nav:hover .box1 {
    transform: translateX(4px) translateY(-7px);
    width: 5px;
    height: 2px;
    margin-left: 1px;
}

.nav:hover .box2 {
    transform: translateX(0px) translateY(-2px);
    width: 2px;
    height: 27px;
}

.nav:hover .box3 {
    transform: translateY(-2px);
    width: 2px;
    height: 32px;
    margin: 0 4px;
}

.nav:hover .box4 {
    transform: translateX(0px) translateY(-2px);
    width: 2px;
    height: 27px;
}

.nav:hover .box5 {
    transform: translateX(0px) translateY(7px);
    width: 5px;
    height: 2px;
    margin-right: 4px;
}

.nav:hover .boxes_123 {
    transform: rotateZ(90deg);
}

/* End Menu Animation */
/* End Menu */

/* Footer */
#footer {
    bottom: 40px;
    right: calc(50% - 430px);
    position: fixed;
    z-index: 1;
    text-transform: uppercase;
    z-index: 1;
    /*530px*/
    margin: 0;
    padding: 0;
    height: 50px;
    background: rgba(250, 250, 250, 0.75);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.footer details summary {
    float: right;
    height: 50px;
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 0 20px;
}

.footer details summary::-webkit-details-marker {
    display: none;
}

.footer details summary::before {
    font-size: 0.5em;
    content: "►";
    padding: 0 4px 0 0;
}

.footer details[open] summary::before {
    font-size: 0.5em;
    content: "▼";
    padding: 0 4px 0 0;
}

.footer ul {
    margin: 0;
    padding: 0;
    text-align: center;
    list-style: none;
    display: flex;
    flex-direction: row-reverse;
}

.footer li {
    display: flex;
    align-items: center;
    height: 50px;
    position: relative;
    padding: 0 20px 0 0;
}

.footer li:first-child {
    padding: 0;
}

.footer li:last-child {
    padding: 0 20px;
}

#avif-element {
    padding: 2px 4px;
}

.avif-true {
    background: rgba(0, 255, 0, 0.25);
}

.avif-false {
    background: rgba(255, 0, 0, 0.25);
}

.color-true-srgb {
    background-color: rgba(0, 255, 0, 0.25);
    padding: 2px 4px;
}

.color-true-p3 {
    background-color: color(display-p3 0 1 0 / 0.25);
    padding: 2px 4px;
}

.color-false-p3 {
    background-color: rgba(255, 0, 0, 0.25);
    padding: 2px 4px;
}
/* End Footer */

/* Main */
/* Common */
#main {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0;
    perspective: 1000px;
    /*transform-style: preserve-3d;
    hyphens: auto;
    hyphenate-limit-lines: 2;
    hyphenate-limit-chars: 6 3 2;*/
}

.main .page {
    width: 100%;
    height: calc(100% - 130px);
    position: absolute;
    margin: 0;
    padding: 130px 0 0 0;
}

.main .content {
    margin: 0;
    padding: 0;
    /*perspective: 150px;
    perspective-origin: 50% bottom;*/
}

.main .ajax_content {
    position: relative;
    display: block;
    padding: 0;
    margin: 0 auto;
}

.main .entry-title {
    display: inline;
}

.main .entry-date {
    margin: 0;
}

/* End Common */

/* Tiles */
.main .hentry {
    /* font-weight: 300; */
    margin: 0 auto;
    padding: 10px 0;
    min-width: 160px;
    max-width: 860px;
}

.main .background-image {
    position: absolute;
    top: 0;
    left: -5%;
    right: -5%;
    width: 110%;
    /*-webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -ms-filter: blur(5px);
    -o-filter: blur(5px);
    filter: blur(5px);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius='5');*/
    opacity: 0.5;
    transition: all 1s;
}

.main .background-image-container {
    display: block;
    position: absolute;
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.main ol li:hover .background-image {
    width: 100%;
    left: 0;
    right: 0;
    opacity: 1;
}

.main .article .article_header_footer {
    background: rgba(240, 240, 240, 0.8);
    padding: 20px;
}

.main .entry-content {
    margin: 0 auto 100px;
    padding: 0 40px;
    min-width: 160px;
    max-width: 860px;
}

.main .entry-content-page {
    margin: 0 auto 60px;
    padding: 0 40px;
    min-width: 160px;
    max-width: 860px;
}

.main .entry-content-page-title {
    margin: 50px auto 0;
    padding: 0 40px;
    min-width: 160px;
    max-width: 860px;
}

.main p {
    font-size: 1.4em;
    line-height: 1.5em;
    text-align: justify;
    margin: 0;
    padding: 10px 0;
}

p a,
p a:visited {
    text-decoration: underline;
}

p a:hover {
    text-decoration: none;
}

.main .hentry header>h3 {
    margin: 0;
    padding: 0;
}

.main .hentry header {
    margin: 0 !important;
    padding: 0 !important;
}

.main .article {
    margin: 0 0 40px 0;
}

.main .article-image {
    margin: 0;
}

.main article header {
    margin: 0 auto 0 auto;
    padding: 0 40px;
    min-width: 160px;
    max-width: 860px;
}

.main .article .published,
.main .article .posted_in,
.main .article .modified {
    /* font-size: 1.6em; */
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

article .article-content>.article_body {
    margin-left: auto;
    margin-right: auto;
    padding: 20px 40px;
    min-width: 160px;
    max-width: 860px;
}

article .article-content .article_body>h2,
article .article-content .article_body>h3,
article .article-content .article_body>h4,
article .article-content .article_body>h5,
article .article-content .article_body>h6 {
    padding: 20px 0 0;
}

.hyphenate {
    hyphens: auto;
}

.article .hyphenate {
    hyphens: auto;
}

.main #post-list {
    margin: 0 auto 60px;
    font-size: 83.3%;
}

.main #post-list .published {
    /* font-size: 1.6em; */
    /* font-weight: 300; */
    text-transform: uppercase;
    position: absolute;
    bottom: 50px;
    right: 40px;
}

.main #post-list .posted_in {
    font-size: 1.6em;
    text-transform: uppercase;
    position: absolute;
    bottom: 20px;
    right: 40px;
}

.main .article .posted_in a,
.main .article .posted_in a:visited {
    border-bottom: 1px solid #000000;
}

.main .article .posted_in a:hover {
    border-bottom: none;
}

.main .article-image .article-image-wrapper {
    margin: 0 auto;
    padding: 0 40px;
    max-width: 860px;
}

.main .article-image .article-image-inside {
    position: fixed;
    bottom: 50px;
    padding: 10px;
    background: rgba(250, 250, 250, 0.9);
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}

.main .article-image .article-image-inside .article_body {
    display: flex;
    flex-wrap: wrap;
}

.main .article-image .article-image-inside .article_body p {
    margin: 0;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
}

.main .article-image .article-image-inside .article_body p:first-child::before {
    content: "\00a0 / ";
}

.main .article-image .article-image-inside .article_body p:first-child::after {
    content: " /\00a0";
}

.lightbox {
    display: none;
}

.lightbox:target {
    display: block;
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 90px;
    background: rgba(250, 250, 250, 0.75);
    backdrop-filter: blur(50px);
    -webkit-backdrop-filter: blur(50px);
}

.lightbox span {
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 860px;
    max-height: 860px;
    margin: 0 auto;
}

/* Lists */
.main ol[data-list-length] {
    list-style-type: none;
    padding: 0;
    position: relative;
}

.main ol {
    list-style-type: none;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    max-width: 860px;
}

.main ol#photos {
    list-style-type: none;
    margin: 0 auto;
    max-width: 860px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto;
    gap: 10px;
}

.main ol li {
    padding: 0;
    position: relative;
    opacity: 1;
}

.main ol li.photo {
    max-height: 205px;
    max-width: 205px;
}

.main ol li.photo img {
    width: 100%;
    object-fit: cover;
    vertical-align: bottom;
    aspect-ratio: 1/1;
}

.list-style {
    /* text-transform: uppercase; */
    transition: all 0.25s;
    /* background: #f0f0f0; */
}

.list-style h1,
.list-style h2,
.list-style h3,
.list-style h4,
.list-style h5,
.list-style h6 {
    text-shadow: 0 1px 0 rgba(250, 250, 250, 0.25);
    transition: text-shadow 0.25s;
}

.list-style:hover h1,
.list-style:hover h2,
.list-style:hover h3,
.list-style:hover h4,
.list-style:hover h5,
.list-style:hover h6 {
    text-shadow: none;
}

.list-style a:hover {
    transition: none;
    color: rgba(0, 0, 0, 0.6);
}

ul.unordered-list {
    font-size: 1.8em;
    list-style: none;
    margin: 80px auto 0;
    padding: 0;
}

ul.unordered-list li {
    margin: 1px 0 0;
    background: rgba(0, 0, 0, 0.05);
    position: relative;
    transition: all 0.25s;
}

ul.unordered-list li:first-child {
    margin: 0;
}

ul.unordered-list li:hover {
    background: rgba(0, 0, 0, 0.1);
    transition: all 0.25s;
}

ul.unordered-list li[data-list]::after {
    padding: 0 40px;
    justify-content: flex-end;
    font-size: 1em;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
}

dl {
    text-align: left;
    margin: 80px auto 0;
}

dl dt {
    margin: 50px auto 10px;
    padding: 0 40px;
    min-width: 160px;
    max-width: 860px;
    font-size: 2.4em;
}

dl dt:first-child {
    margin: 0 auto 10px auto;
}

dl dd {
    position: relative;
    width: 100%;
    margin: 1px 0 0 0;
    padding: 0;
    font-size: 1.8em;
}

dl dt+dd {
    margin: 0;
}

dl dd[data-list]::after {
    padding: 0 40px 0 !important;
    justify-content: flex-end !important;
    font-size: 1em !important;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
}

/* End Lists */
/* End Main */

/* highlight.js */
.hljs {
    background: rgba(245,242,240,0.8) !important;
    font-family: "Inconsolata", monospace !important;
}

code[class*="language-"] {
    font-family: "Inconsolata", monospace !important;
    white-space: pre-wrap;
}

/* End highlight.js */

.profile-image {
    width: 125px;
    height: 125px;
    object-fit: cover;
    border-radius: 50%;
    float: right;
    margin-left: 40px;
}

.isolate_moving_object-image {
    image-rendering: crisp-edges;
    image-rendering: pixelated;
    height: auto;
}

/*Special menu fix*/
@media screen and (max-width: 940px) {
    #nav {
        left: 40px;
    }

    #footer {
        right: 40px;
    }

    .main ol {
        max-width: calc(100% - 80px);
    }
}

@media screen and (max-width: 700px) {
    .main ol#photos {
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
    }
}

/* Account for mobile devices and the "largest" reported device-width was 414px on iPhone 6 Plus*/
@media screen and (max-width: 550px) {
    #nav {
        top: 20px;
        left: 20px;
        font-size: 87.5%;
    }

    #nav li {
        height: 45px;
    }

    #nav li a {
        height: 45px;
        padding: 0 15px;
    }

    .nav #menu-icon {
        height: 45px;
        padding: 0 15px;
    }

    #footer {
        bottom: 20px;
        left: 20px;
        font-size: 87.5%;
    }

    .footer details summary {
        padding: 0 0 0 10px;
    }
    
    .footer li {
        padding: 0 10px 0 0;
    }
    
    .footer li:last-child {
        padding: 0 10px;
    }

    .main .page {
        padding: 90px 0 0 0;
        height: calc(100% - 90px);
    }

    .main ol {
        max-width: calc(100% - 40px);
    }

    .main ol#photos {
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
    }

    .main ol li.photo {
        max-height: 100px;
        max-width: 100px;
    }

    .main .entry-content {
        padding: 0 20px;
    }

    .main .entry-content-page {
        padding: 0 20px;
    }

    .main .entry-content-page-title {
        padding: 0 20px;
    }

    .main p {
        font-size: 1.2em;
        /*line-height: 1.5em;*/
    }

    h1 {
        font-size: 1.8em;
    }

    h2 {
        font-size: 1.6em;
    }

    h3 {
        font-size: 1.4em;
    }

    h4 {
        font-size: 1.2em;
    }

    h5 {
        font-size: 1em;
    }

    h6 {
        font-size: 1em;
    }

    .main article header {
        padding: 0 20px;
    }

    article .article-content>.article_body {
        padding: 20px;
    }

    article .article-content .article_body>h2,
    article .article-content .article_body>h3,
    article .article-content .article_body>h4,
    article .article-content .article_body>h5,
    article .article-content .article_body>h6 {
        padding: 10px 0 0;
    }

    .main #post-list .published {
        right: 20px;
    }

    .main #post-list .posted_in {
        right: 20px;
    }

    ul.unordered-list li[data-list]::after {
        padding: 0 20px;
    }

    dl dt {
        padding: 0 20px;
    }

    dl dd[data-list]::after {
        padding: 0 20px 0 !important;
    }

    pre {
        font-size: 1em !important;
    }
}

@media screen and (max-width: 415px) {

    noscript,
    .old-browsers {
        font-size: 1em;
        padding: 3px 0;
    }

    .article-image figure {
        margin: -100px 0 0;
        padding: 0;
    }

    #nav {
        top: 10px;
        left: 10px;
        font-size: 87.5%;
    }

    #nav li {
        height: 40px;
    }

    #nav li a {
        height: 40px;
        padding: 0 10px;
        font-size: 85.71%;
    }

    .nav #menu-icon {
        height: 40px;
        padding: 0 10px;
    }

    #footer {
        bottom: 10px;
        left: 10px;
        font-size: 85.71%;
    }

    .main .page {
        padding: 80px 0 0 0;
        height: calc(100% - 80px);
    }

    .main ol {
        max-width: calc(100% - 40px);
    }

    .main ol#photos {
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
    }

    .main ol li.photo {
        max-height: 100px;
        max-width: 100px;
    }

    .main .entry-content {
        padding: 0 10px;
    }

    .main .entry-content-page {
        padding: 0 10px;
    }

    .main .entry-content-page-title {
        padding: 0 10px;
    }

    .main p {
        font-size: 1em;
        /*line-height: 1.5em;*/
    }

    h1 {
        font-size: 1.8em;
    }

    h2 {
        font-size: 1.6em;
    }

    h3 {
        font-size: 1.4em;
    }

    h4 {
        font-size: 1.2em;
    }

    h5 {
        font-size: 1em;
    }

    h6 {
        font-size: 1em;
    }

    .main article header {
        padding: 0 10px;
    }

    article .article-content>.article_body {
        padding: 10px;
    }

    article .article-content .article_body>h2,
    article .article-content .article_body>h3,
    article .article-content .article_body>h4,
    article .article-content .article_body>h5,
    article .article-content .article_body>h6 {
        padding: 0;
    }

    .main #post-list .published {
        right: 20px;
    }

    .main #post-list .posted_in {
        right: 20px;
    }

    ul.unordered-list li[data-list]::after {
        padding: 0 10px;
    }

    dl dt {
        padding: 0 10px;
    }

    dl dd[data-list]::after {
        padding: 0 10px 0 !important;
    }

    pre {
        font-size: 1em !important;
    }
}

/* End Account for mobile devices ... */

/* MS B%¤ */
@-ms-viewport {
    width: device-width;
}

/* End MS B%& */

/* Print */
@media print {
    #nav {
        display: none;
    }

    #main {
        background: #fff;
        color: #000;
        opacity: 1;
    }

    .main .page {
        padding: 0;
        margin: 0;
        height: 100%;
        /*width: calc(100% - 80px);*/
    }

    .main p {
        page-break-after: auto;
        /*page-break-inside: avoid;*/
    }

    .main h1,
    .main h2,
    .main h3,
    .main h4,
    .main h5,
    .main h6 {
        page-break-after: avoid;
    }

    .main code {
        page-break-before: avoid;
        page-break-after: avoid;
        page-break-inside: avoid;
        width: auto;
        overflow: hidden;
    }

    p a {
        word-wrap: break-word;
    }
}

/* End Print */