:root{
    --purple: #A544A6;
}

body{
    position: relative;
    min-height: 100vh;
    font-family: "Varela Round", Helvetica, sans-serif;
    color: white;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
    -moz-osx-font-smoothing: grayscale;
}

*{
    box-sizing: border-box;
}
*:focus,
*:active{
    outline: 0;
}

main{
    min-height: 100vh;
    position: relative;
}

.wrapper{
    max-width: 1170px;
    width: 100%;
    margin: 0 auto;
}

.logo{
    background: url("../images/logo.svg") no-repeat center;
    width: 176px;
    height: 65px;
    display: inline-block;
}
.logo.center{
    margin: 0 auto;
    display: block;
}

.vertical-center{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

h1{
    font-size: 28px;
    line-height: 42px;
}

h2{
    font-size: 36px;
    margin-bottom: 50px;
}

.gradient{
    background-color: #265874;
    background: linear-gradient(to right, #4F9081, #265874);
}

.logo-section{
    text-align: center;
    margin-bottom: 50px;
}

.logo-section .logo{
    width: 140px;
    background-size: 100%;
    margin-right: 10px;
}

.top-section{
    padding: 60px 0;
}

.tag-section{
    background: var(--purple);
    color: white;
    border-radius: 2px;
    padding: 5px 20px;
    display: inline-block;
    vertical-align: top;
    margin-top: 22px;
}

.shadow{
    box-shadow: 0 0 6px #00000042;
}

/* Header */
    header{
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 1;
    }
    header nav{
        float: right;
        padding-right: 20px;
    }
    header nav a{
        color: white;
        text-decoration: none;
        padding: 30px 0 30px 30px;
        display: inline-block;
    }
    header nav ul{
        padding: 0;
        margin: 0;
    }
    header nav li{
        display: inline-block;
    }
/* .Header */

/* Front */
    #front-page .content .info{
        width: calc(100% - 588px);
        float: left;
        position: relative;
    }
    #front-page .wrapper{
        position: relative;
        min-height: 100vh;
        padding: 60px 20px;
    }
    .mac{
        background: url("../images/mac_bg.png") no-repeat center / 100%;
        width: 480px;
        height: 385px;
        float: right;
        position: relative;
        margin-right: 40px;
    }
    .mac .screen{
        width: 480px;
        height: 285px;
        position: absolute;
    }
    .mac .chat{
        position: absolute;
        width: 215px;
        height: 56px;
        right: 130px;
        opacity: 0;
        visibility: hidden;
        transition: all 0.1s ease;
        -webkit-transition: all 0.1s ease;
    }
    .mac .chat.active{
        opacity: 1;
        visibility: visible;
    }
    .mac .chat-1{
        background: url("../images/chat/chat1.png") no-repeat right center;
        top: 32px;
    }
    .mac .chat-2{
        background: url("../images/chat/chat2.png") no-repeat right center;
        top: 88px;
        right: 180px;
    }
    .mac .chat-3{
        background: url("../images/chat/chat3.png") no-repeat right center;
        top: 145px;
    }
    .mac .chat-4{
        background: url("../images/chat/chat4.png") no-repeat right center;
        top: 195px;
        right: 180px;
    }

    .form{
        background-color: rgba(255, 255, 255, 0.29);
        border-radius: 4px;
        padding: 20px;
        float: left;
    }
    .form label{
        margin-bottom: 15px;
        display: block;
    }
    input[type="mail"]{
        background: white;
        border: 1px solid #CFCFCF;
        height: 40px;
        padding: 0 10px;
        float: left;
        margin-right: 10px;
        width: 330px;
    }
    .send{
        cursor: pointer;
        background: url("../images/send.svg") no-repeat 15px center #A345A5;
        border: 0;
        color: white;
        font-size: 12px;
        border-radius: 2px;
        height: 40px;
        width: 95px;
        padding-left: 30px;
        padding-top: 5px;
    }
    .loading{
        background: url(../images/loading.svg) no-repeat center / 25px #a345a5;
        width: 95px;
        height: 38px;
        display: none;
        position: absolute;
        right: 20px;
        top: 21px;
        border-radius: 2px;
        z-index: 1;
    }
    .loading.active{
        display: block;
    }
    .form-group{
        background: white;
        padding: 20px;
        border-radius: 4px;
        position: relative;
    }
    .message-form{
        display: block;
        font-size: 11px;
        color: #a345a5;
        position: absolute;
        top: -30px;
        background-color: white;
        padding: 20px;
        border-radius: 4px;
        box-shadow: 0 0 10px #b5b5b5;
        left: 146px;
        opacity: 0;
        visibility: hidden;
    }
    .message-form.active{
        opacity: 1;
        visibility: visible;
    }
    .message-form:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 0;
        height: 0;
        border: 12px solid transparent;
        border-top-color: white;
        border-bottom: 0;
        margin-left: -13px;
        margin-bottom: -10px;
    }
    .message-form:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 0;
        height: 0;
        border: 12px solid transparent;
        border-top-color: #e4e4e4;
        border-bottom: 0;
        margin-left: -13px;
        margin-bottom: -12px;
    }
/* .Front */

/* Header Fixed */
    .header-fixed{
        position: fixed;
        width: 100%;
        height: 80px;
        top: -120px;
        z-index: 1;
        transition: all 0.4s ease-in-out;
        -webkit-transition: all 0.4s ease-in-out;
    }
    .header-fixed.active{
        top: 0;
    }
    .header-fixed .wrapper{
        position: relative;
        padding: 0 20px;
    }
    .header-fixed .logo-section{
        margin: 8px 0 0;
        height: 100%;
    }
    .header-fixed .logo-section .logo{
        width: 120px;
    }
    
    .header-fixed .post-list{
        position: absolute;
        top: 7px;
    }
    .header-fixed .post-list .photo{
        height: 100%;
    }
    .header-fixed .post-list .post-card{
        height: 50px;
        width: 50px;
        margin: 0 12px 0 0;
        border-radius: 2px;
        overflow: hidden;
    }
    .header-fixed .post-list .post-card.coming-soon:before{
        height: 100%;
        background-size: 65%;
    }
    .header-fixed .post-list .post-card.coming-soon:after{
        display: none;
    }

    .header-fixed nav{
        position: absolute;
        right: 20px;
        top: 0;
    }
    .header-fixed nav ul{
        padding: 0;
        margin: 0;
    }
    .header-fixed nav li{
        display: inline-block;
    }
    .header-fixed nav a{
        color: white;
        text-decoration: none;
        padding: 23px 0 23px 30px;
        display: inline-block;
    }
/* .Header Fixed */

/* Post Cards */
    .post-cards{
        text-align: center;
    }
    .post-card{
        width: 100%;
        max-width: 270px;
        height: 335px;
        background: white;
        display: inline-block;
        margin: 0 7px 20px;
        position: relative;
        vertical-align: top;
        text-align: left;
        color: #444;
    }
    .post-card .photo{
        background-color: #eee;
        width: 100%;
        height: 170px;
    }
    .post-card .info{
        padding: 25px;
    }
    .post-card .title{
        margin: 0 0 7px 0;
        font-size: 16px;
    }
    .post-card time{
        font-size: 12px;
    }
    .post-card .resume{
        font-size: 12px;
        line-height: 1.4;
    }
    .post-card .view-more{
        color: var(--purple);
        text-transform: uppercase;
        font-size: 10px;
        font-weight: 500;
        position: absolute;
        right: 25px;
        bottom: 15px;
        cursor: pointer;
    }

    .post-card[data-offset]{
        cursor: pointer;
    }
    .post-card[data-offset]:hover{
        opacity: 0.9;
    }

    /* Coming Soon */
        .post-card.coming-soon{
            background-color: var(--purple);
            color: white;
        }
        .post-card.coming-soon:before{
            content: "";
            position: absolute;
            background: url("../images/logo_2.svg") no-repeat center / 110px;
            height: 80%;
            width: 100%;
            left: 0;
            top: 0;
        }
        .post-card.coming-soon:after{
            content: "Coming Soon";
            position: absolute;
            width: 100%;
            left: 0;
            top: 200px;
            text-align: center;
        }
        .post-card.coming-soon .photo,
        .post-card.coming-soon .info,
        .post-card.coming-soon .view-more{
            display: none;
        }
    /* .Coming Soon */
/* .Post Cards */

/* Post Detail */
    .post-detail{
        margin-bottom: 80px;
    }
    .post-detail .header-post{
        min-height: 400px;
        background: #0a1f27;
        text-align: center;
        position: relative;
        margin-bottom: 60px;
    }
    .post-detail .header-post .photo{
        position: absolute;
        width: 100%;
        height: 100%;
        opacity: 0.4;
    }
    .post-detail .header-post .text{
        text-align: center;
        width: 100%;
        padding: 0 20px;
    }
    .post-detail .header-post .title{
        margin: 0 0 20px 0;
    }
    .post-detail .header-post .resume{
        margin: 0;
        line-height: 1.4;
    }

    .post-detail .post-wrapper{
        width: 100%;
        max-width: 780px;
        margin: 0 auto;
        padding: 0 20px;
    }
    .post-detail .post-wrapper p{
        color: #444;
        margin: 0 0 20px;
        line-height: 1.8;
        font-size: 14px;
        text-align: justify;
    }
    .post-detail .post-wrapper img{
        width: 100%;
        height: auto;
        margin: 10px 0 30px;
    }
/* .Post Detail */


/******** MEDIA ********/
    @media (max-width: 1170px){
        #front-page main .wrapper{
            max-width: 480px;
            padding: 60px 0;
            height: calc(100vh + 160px);
        }

        #front-page .content{
            top: 0;
            transform: initial;
            -webkit-transform: initial;
            margin-top: 30px;
            position: relative;
        }

        #front-page input[type="mail"]{
            width: 295px;
        }

        #front-page .form{
            margin-top: 40px;
        }
    }

    @media (max-width: 1000px){
        /* Front Page */
            #front-page .content{
                text-align: center;
            }
            #front-page .content .info{
                width: 100%;
                text-align: left;
            }
            #front-page .mac{
                float: none;
                margin: 0 auto;
                display: inline-block;
            }
            #front-page .form{
                float: none;
                max-width: 480px;
                margin: 40px auto 0;
            }
        /* .Front Page */
    }

    @media (max-width: 680px){
        /* Blog */
            /* Header Fixed */
                .header-fixed .post-list{
                    display: none;
                }
                .header-fixed .logo-section{
                    text-align: left;
                }
                .header-fixed .logo-section .logo{
                    width: 90px;
                    margin-right: 0;
                }
                .header-fixed .tag-section{
                    font-size: 12px;
                }
            /* .Header Fixed */
        /* .Blog */
    }

    @media (max-width: 520px){
        #front-page h1{
            font-size: 24px;
        }
        #front-page h2{
            font-size: 27px;
        }
        #front-page main{
            min-height: calc(100vh + 100px);
        }
        #front-page main .wrapper{
            width: 300px;
            height: calc(100vh + 120px);
        }
        #front-page .mac{
            float: left;
            width: 100%;
            height: 0;
            padding-bottom: 82%;
        }
        #front-page .mac .screen{
            width: calc(100% - 31px);
            height: 157px;
            left: 16px;
            top: 18px;
            background-size: 102%;
        }
        #front-page .mac .chat{
            background-size: 100% !important;
            width: 130px;
            right: 60px;
        }
        #front-page .mac .chat-1{
            top: 0;
        }
        #front-page .mac .chat-2{
            top: 33px;
            right: 95px;
        }
        #front-page .mac .chat-3{
            background-size: 110px !important;
            top: 70px;
        }
        #front-page .mac .chat-4{
            top: 104px;
            right: 95px;
        }
        #front-page .form{
            padding: 15px 10px 10px 10px;
            display: inline-block;
        }
        #front-page .send,
        #front-page input[type="mail"] {
            width: 100%;
        }
        #front-page .send{
            background-position: 85px center;
            margin-top: 10px;
        }
        #front-page .loading{
            width: 240px;
            top: 71px;
        }
    }

    @media (max-width: 340px){
        #front-page .mac .screen{
            top: 10px;
        }
    }
/******** MEDIA ********/