﻿@charset 'UTF-8';
/*********************************************************************************/
/* Basic                                                                         */
/*********************************************************************************/
html {
    scroll-behavior: smooth;
}
body {
    font-size:16px;
}

.initloading {
    display:block;
    opacity: 1;
    transition: all 1s ease-in-out;
}
.initloading.inactive {
    opacity: 0;
    bottom: calc(50%);
    top: calc(50%);
}
.row {
    display: flex;
}
.row div {
    flex-grow: 1;
}
body #logo a {
    font-size: 4vw;
}
@media only screen and (max-width: 900px) {
    
    body #nav {
        display: none;
    }
}
    body {
        background: #fff;
    }

        body.loading {
        }
        
            body.loading * {
                -moz-transition: none !important;
                -webkit-transition: none !important;
                -o-transition: none !important;
                -ms-transition: none !important;
                transition: none !important;
            }

    body,input,textarea,select {
        font-family: monospace;
        font-weight: 300;
        font-size: 18pt;
        line-height: 1.75em;
        color: #39454b;
        letter-spacing: 0.5px;
    }

    h1,h2,h3,h4,h5,h6 {
        font-weight: 900;
        color: inherit;
    }
    
        h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
            color: inherit;
            text-decoration: none;
        }
        
    h2 {
        font-size: 2.25em;
        letter-spacing: -2px;
        line-height: 1.25em;
    }
        
    strong, b {
        font-weight: 900;
        color: inherit;
    }
    
    em, i {
        font-style: italic;
    }

    a {
        color: #98c593;

        -moz-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
        -webkit-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
        -ms-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
        transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
    }

    sub {
        position: relative;
        top: 0.5em;
        font-size: 0.8em;
    }
    
    sup {
        position: relative;
        top: -0.5em;
        font-size: 0.8em;
    }
    
    hr {
        border: 0;
        border-top: solid 1px #ddd;
    }
    
    blockquote {
        border-left: solid 0.5em #ddd;
        padding: 1em 0 1em 2em;
        font-style: italic;
    }
    
    p, ul, ol, dl, table {
        margin-bottom: 1em;
    }

    header {
        margin-bottom: 1em;
    }
    
        header p {
            display: block;
            margin: 1em 0 0 0;
            padding: 0 0 0.5em 0;
        }
        
    footer {
        margin-top: 2em;
    }

    br.clear {
        clear: both;
    }

    /* Sections/Articles */
    
        section,
        article {
            margin-bottom: 3em;
        }
        
        section > :last-child,
        article > :last-child {
            margin-bottom: 0;
        }

        section > .content > :last-child,
        article > .content > :last-child {
            margin-bottom: 0;
        }

        section:last-child,
        article:last-child {
            margin-bottom: 0;
        }

        .row > section,
        .row > article {
            margin-bottom: 0;
        }

    /* Images */

        .image {
            position: relative;
            display: inline-block;
        }
        
            .image:before {
                content: '';
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                background: url('/css/images/overlay.png');
            }
        
            .image img {
                display: block;
                width: 100%;
                height: 100%;
                object-fit: contain;
            }

            .image.featured {
                display: block;
                width: 100%;
                margin: 0 0 2em 0;
            }
            
            .image.full {
                display: block;
                width: 100%;
            }
            
            .image.left {
                float: left;
                margin: 0 2em 2em 0;
            }
            
            .image.centered {
                display: block;
                margin: 0 0 2em 0;
            }

                .image.centered img {
                    margin: 0 auto;
                    width: auto;
                }

    /* Lists */

        ul.default {
            list-style: disc;
            padding-left: 1em;
        }
        
            ul.default li {
                padding-left: 0.5em;
            }		

        ul.icons {
            cursor: default;
        }	
        
            ul.icons li {
                display: inline-block;
            }
            
                ul.icons a {
                    display: inline-block;
                    width: 2em;
                    height: 2em;
                    line-height: 2em;
                    text-align: center;
                    border: 0;
                }

        ul.menu {
            cursor: default;
        }
        
            ul.menu li {
                display: inline-block;
                line-height: 1em;
                border-left: solid 1px rgba(145,146,147,0.25);
                padding: 0 0 0 0.5em;
                margin: 0 0 0 0.5em;
            }
            
            ul.menu li:first-child {
                border-left: 0;
                padding-left: 0;
                margin-left: 0;
            }

        ul.actions {
            cursor: default;
        }
        
            ul.actions li:hover, ul.actions li:focus {
                -moz-transition: all 0.2s ease-in-out;
                -webkit-transition: all 0.2s ease-in-out;
                -o-transition: all 0.2s ease-in-out;
                -ms-transition: all 0.2s ease-in-out;
                transition: all 0.2s ease-in-out;
                transform: scale(1.1)
            }
            ul.actions li {
                display: inline-block;
                margin: 0 0 0 0.5em;
            }
            
            ul.actions li:first-child {
                margin-left: 0;
            }

        ol.default {
            list-style: decimal;
            padding-left: 1.25em;
        }

            ol.default li {
                padding-left: 0.25em;
            }

    /* Forms */

        form {
        }
        
            form label {
                display: block;
            }
        
            form input[type="text"],
            form input[type="email"],
            form input[type="password"],
            form select,
            form textarea {
                display: block;
                width: 100%;
                padding: 0.75em;
                background: none;
                border: solid 2px rgba(185,186,187,0.25);
                color: inherit;
                border-radius: 0.5em;
                outline: none;

                -moz-appearance: none;
                -webkit-appearance: none;
                -o-appearance: none;
                -ms-appearance: none;
                appearance: none;

                -moz-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
                -webkit-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
                -o-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
                -ms-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
                transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
            }

                form input[type="text"]:focus,
                form input[type="password"]:focus,
                form select:focus,
                form textarea:focus {
                    border-color: #9ac8e9;
                }

            form input[type="text"],
            form input[type="password"],
            form select {
                line-height: 1em;
            }
                
            form textarea {
                min-height: 8em;
            }

            form .formerize-placeholder {
                color: rgba(145,146,147,0.85) !important;
            }

            form ::-webkit-input-placeholder {
                color: rgba(145,146,147,0.85) !important;
            }

            form :-moz-placeholder {
                color: rgba(145,146,147,0.85) !important;
            }

            form ::-moz-placeholder {
                color: rgba(145,146,147,0.85) !important;
            }

            form :-ms-input-placeholder {
                color: rgba(145,146,147,0.85) !important;
            }

            form ::-moz-focus-inner {
                border: 0;
            }
            
    /* Tables */
    
        table {
            width: 100%;
        }
        
            table.default {
                width: 100%;
            }
            
                table.default tbody tr:nth-child(2n+2) {
                    background: #f4f4f4;
                }
                
                table.default td {
                    padding: 0.5em 1em 0.5em 1em;
                }
                
                table.default th {
                    text-align: left;
                    font-weight: 900;
                    padding: 0.5em 1em 0.5em 1em;
                }
            
                table.default thead {
                    background: #444;
                    color: #fff;
                }
                
                table.default tfoot {
                    background: #eee;
                }
                
                table.default tbody {
                }

    /* Buttons */
        
        .button {
            background-color: #98c593;
            border: 0;
            border-radius: 3.5em;
            color: #fff;
            cursor: pointer;
            display: inline-block;
            height: 3.5em;
            line-height: 3.5em;
            outline: 0;
            padding: 0 2em 0 2em;
            position: relative;
            text-align: center;
            text-decoration: none;

            -moz-appearance: none;
            -webkit-appearance: none;
            -o-appearance: none;
            -ms-appearance: none;
            appearance: none;

            -moz-transition: all 0.2s ease-in-out;
            -webkit-transition: all 0.2s ease-in-out;
            -o-transition: all 0.2s ease-in-out;
            -ms-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
        }

            .button.down {
                width: 5em;
                height: 5em;
                line-height: 4.5em;
                padding: 0;
                background-image: url('/css/images/dark-arrow.svg');
                background-position: center center;
                background-repeat: no-repeat;
                text-indent: -10em;
                overflow: hidden;
            }
            
                .button.down.anchored {
                    bottom: 0;
                    border-bottom: 0;
                    border-radius: 3em 3em 0 0;
                    height: 4.5em;
                    margin-left: -2.5em;
                }
            
            .button.anchored {
                position: absolute;
                left: 50%;
            }
            
            .button:hover {
                background-color: #a8d5a3;
                transform: scale(1.1);
            }
            
            .button:active {
                background-color: #88b583;
            }

            .button.style2 {
                background-color: transparent;
                border: solid 2px #e5e6e7;
                color: inherit;
            }

                .button.style2:hover {
                    background-color: rgba(145,146,147,0.035);
                }
                
                .button.style2.down {
                    background-image: url('images/arrow.svg');
                }

    /* Box */

.box
{
    background: #fff;
    color: #39454b;
    padding: 2em;
    -moz-opacity: 0.80;
    -khtml-opacity: 0.80;
    opacity: 0.80;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha"(Opacity=80);
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80);
    filter: alpha(opacity=80);
}
        
            .box.style2 {
                padding: 3.5em 2.5em 3.5em 2.5em;
            }

    /* Main */
        
        .main {
            position: relative;
            margin: 0;
            overflow: hidden;
        }

            .main.style1 a, .main.style2 a
            {
                color:#39454b;
            }

            .main.style1 a:hover, .main.style2 a:hover
            {
                color:#39454b;
                text-decoration:none;
            }
        
            .main.style1 {
                text-align: center;
                padding: 0;
            }
            
                .main.style1 h2 {
                    font-size: 4.25em;
                    line-height: 1em;
                    letter-spacing: -4px;
                }
                
                .main.style1 .content {
                    opacity: 1.0;

                    max-width: 910px;
                    margin: 0 auto;
                }
                
            .main.style1.inactive {
            }
            
                .main.style1.inactive .content {
                    opacity: 0;
                }
        
            .main.style2 {
                padding: 10em 0 10em 0;
                overflow: hidden;
            }
            
                .main.style2 .content {
                    position: relative;
                    width: 65%;

                    -moz-transition: all 2s ease;
                    -webkit-transition: all 2s ease;
                    -o-transition: all 2s ease;
                    -ms-transition: all 2s ease;
                    transition: all 2s ease;
                    
                    -moz-transform: translateZ(0);
                    -webkit-transform: translateZ(0);
                    -o-transform: translateZ(0);
                    -ms-transform: translateZ(0);
                    transform: translateZ(0);
                }
            
                .main.style2.left {
                }

                    .main.style2.left .content {
                        left: 0;
                    }

                .main.style2.right {
                }

                    .main.style2.right .content {
                        left: 7%;
                    }

                .main.style2.inactive {
                }

                    .main.style2.inactive .content {
                    }

                        .main.style2.inactive.left .content {
                            left: -65%;
                        }

                        .main.style2.inactive.right .content {
                            left: 100%;
                        }
        
            .main.style3 {
                text-align: center;
            }

                .main.style3 .content {
                }

                    .main.style3 .content > header {
                        margin-bottom: 2em;
                    }

                .main.style3.primary {
                    background: #fff;
                }
            
                .main.style3.secondary {
                    background: #f5f6f7;
                }

    /* Dark */
    .dark {
        color: #fff;
    }

            .dark a {
                color: #39454b;
            }
        
            .dark .button.style2 {
                border-color: inherit;
                background-color: rgba(64,64,64,0.05);
            }

                .dark .button.style2:hover {
                    background-color: rgba(255,255,255,0.1);
                }
                
                .dark .button.style2.down {
                    background-image: url('/css/images/dark-arrow.svg');
                }

/* github icon*/
.gh-ico
{
    width: 14px;
    height: 15px;
    margin-top: -1px;
    margin-right: 4px;
    vertical-align: middle;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAQAAABGtvB0AAAAGXRFW…jEohAqyJDQhkLEYjwNPnDHcmTgS1zGZfwdGVgOd/pvmX8Bbv8r+TZ9z+kAAAAASUVORK5CYII=);
    background-repeat: no-repeat;
    background-position: 0 0;
}

/*********************************************************************************/
/* Header                                                                        */
/*********************************************************************************/

    #header {
        position: fixed;
        z-index: 10000;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        background: rgba(255,255,255,0.95);
        height: 3em;
        line-height: 3em;
        box-shadow: 0 0 0.15em 0 rgba(0,0,0,0.1);
    }
    
    body {
        padding-top: 3em;
    }

/*********************************************************************************/
/* Intro                                                                         */
/*********************************************************************************/

    #intro {
        background-image: url('/css/images/overlay.png'), url('../images/mkainer.webp');
        background-size: 256px 256px, cover;
        background-attachment: fixed, fixed;
        background-position: top left, center center;
        background-repeat: repeat, no-repeat;
    }

/*********************************************************************************/
/* One                                                                           */
/*********************************************************************************/

    #was, #intro.code {
        background: url('/css/images/overlay.png');
        background-size: 256px 256px, cover;
        background-attachment: fixed, fixed;
        background-position: top left, center center;
    }

/*********************************************************************************/
/* Two                                                                           */
/*********************************************************************************/

    #wer {
        background: url('/css/images/overlay.png');
        background-size: 256px 256px, cover;
        background-attachment: fixed, fixed;
        background-position: top left, center center;
    }

/*********************************************************************************/
/* Work      | article      | conf                                                                    */
/*********************************************************************************/

    #work {
        background: url('/css/images/overlay.png');
        background-size: 256px 256px, cover;
        background-attachment: fixed, fixed;
        background-position: top left, center center;
    }
    
        .row.images .image:hover {
            transform: scale(0.95);
            opacity: 1;
        }
    
            .row.images .image {
                position: relative;
                top: 0;
                left: 0;
                opacity: 0.95;
            
                -moz-transition: all 2s ease;
                -webkit-transition: all 2s ease;
                -o-transition: all 2s ease;
                -ms-transition: all 2s ease;
                transition: all 2s ease;
                
                -moz-transform: translateZ(0);
                -webkit-transform: translateZ(0);
                -o-transform: translateZ(0);
                -ms-transform: translateZ(0);
                transform: translateZ(0);
                   
                background-size: contain;
                background-position: 50% 50%;
                text-decoration: none;
            }

            .row.images .image .year {
                text-decoration: none !important;
                font-size: 5rem;
                color: white;
                position: absolute;
                bottom: 51px;
                right: 0px;
            }

                .row.images.inactive .image {
                    opacity: 0;
                }
            
                .row.images.inactive .image.l {
                    left: -14em;
                }
            
                .row.images.inactive .image.r {
                    left: 14em;
                }

    #more, #intro.other {
        background: url('/css/images/overlay.png');
        background-size: 256px 256px, cover;
        background-attachment: fixed, fixed;
        background-position: top left, center center;
    }
    
        .row.images {
        }
    
            .row.images .image {
                position: relative;
                top: 0;
                left: 0;
                opacity: 1.0;
            
                -moz-transition: all 2s ease;
                -webkit-transition: all 2s ease;
                -o-transition: all 2s ease;
                -ms-transition: all 2s ease;
                transition: all 2s ease;
                
                -moz-transform: translateZ(0);
                -webkit-transform: translateZ(0);
                -o-transform: translateZ(0);
                -ms-transform: translateZ(0);
                transform: translateZ(0);
            }
        
            .row.images.inactive {
            }

                .row.images.inactive .image {
                    opacity: 0;
                }
            
                .row.images.inactive .image.l {
                    left: -14em;
                }
            
                .row.images.inactive .image.r {
                    left: 14em;
                }
            
/*********************************************************************************/
/* Contact                                                                       */
/*********************************************************************************/

    #contact {
        padding-bottom: 0;
        overflow: hidden;
    }
    
        #contact .box {
            position: relative;
            bottom: 0;
            
            -moz-transition: all 2s ease;
            -webkit-transition: all 2s ease;
            -o-transition: all 2s ease;
            -ms-transition: all 2s ease;
            transition: all 2s ease;
            
            -moz-transform: translateZ(0);
            -webkit-transform: translateZ(0);
            -o-transform: translateZ(0);
            -ms-transform: translateZ(0);
            transform: translateZ(0);
        }
        
        #contact form > div > div {
            padding: 5px !important;
        }

            #contact.inactive .box {
                bottom: -30em;
            }

.row.comp { 
    visibility: collapse;
    display: none;
}

/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/
    
    #footer {
        position: relative;
        height: 10em;
        line-height: 10em;
        margin: 0;
        background: #39454b;
        color: #999;
        color: rgba(185,186,187,0.5);
        overflow: hidden;
    }

        #footer a {
            color: #999;
            color: rgba(185,186,187,0.5);
        }

            #footer a:hover {
                color: #bbb;
                color: rgba(185,186,187,1.0);
            }
    
        @media screen and (min-width: 992px) {

            #footer {
                height: 5em;
                line-height: 5em;
            }
        

            #footer .actions {
                position: absolute;
                left: 1em;
                top: 0.25em;
            }
            
            #footer .menu {
                position: absolute;
                right: 2em;
                top: 0;
            }
        }
              
        #footer .actions {
            height: 5em;
            line-height: 5em;
            margin: 0;
        }
        
            #footer .actions li {
                font-size: 1.25em;
                margin: 0;
            }
            
                #footer .actions li a {
                    padding: 0.5em;
                    text-decoration: none;
                }
        
        #footer .menu {
            height: 5em;
            line-height: 5em;
            margin: 0;
        }
        
            #footer .menu li {
                font-size: 0.9em;
            }

/*other*/
a.image.full {
    width: 100%;
    height: 185px;
    display: block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Button that links to the other blog entries */

.button.anchored.blog-more {
    position: relative !important;
    margin-bottom: 20px;
}

/*blog entries*/
.card.blog-card.active {
    position: relative;
    opacity:1;
    left:0;
            
    -moz-transition: all 4s ease;
    -webkit-transition: all 4s ease;
    -o-transition: all 4s ease;
    -ms-transition: all 4s ease;
    transition: all 4s ease;
}
.card.blog-card:hover {
    transform: scale(1.2);
    position: relative;
    z-index:1000;
}
.card.blog-card.inactive {
    opacity:0;
    left:-50vw;
    -moz-transition: all 4s ease;
    -webkit-transition: all 4s ease;
    -o-transition: all 4s ease;
    -ms-transition: all 4s ease;
    transition: all 4s ease;
}
.card.blog-card.inactive:nth-child(2n){
    left:50vw;
}
