* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    outline: none;
}

*:after,
*:before {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

[data-ssr] * {
    display: none;
}

html,
body{
    height: 100%;
    color: #4f4f4f;
}

html,
button{
    font-family: "Open Sans", Geometria, Tahoma, Arial, serif;
}

html{
    font-weight: 300;
}

textarea{
    resize: none;
}

/* ADDITIONAL GENERAL STYLES */

p{
    font-weight: 100;
}

h1,
h2{
    font-weight: 400;
}

a{
    text-decoration: none;
}

h1,h2,h3,h4,h5,p{
    margin-bottom: 15px;
}

.hidden,
.show-mobile{
    display: none;
}

img.wide,
img.adaptive{
    display: block;
}
img.wide{
    width: calc(100% + 30px);
    margin-left: -15px;
    margin-right: -15px;
}
img.adaptive{
    width: 100%;
}

blockquote{
    margin: 0;
    border-left: 3px solid #4B4F52;
    font-size: 85%;
}
blockquote p:last-child{
    padding: 0;
}

ul{
    list-style: disc outside;
}

small{
    color: #888;
    font-size: 85%;
}

pre{
    font-size: 85%;
    display: block;
}

@media screen and (max-width: 767px)
{
    .show-mobile{
        display: block;
    }
}

/* LOADING */

.loading-before:before,
.loading-after:after{
    content: '';
    display: block;
    border: 6px solid rgba(100, 100, 100, 0.4);
    border-top: 6px solid rgba(255,255,255,1);
    -webkit-border-radius: 50%;
    border-radius: 50%;
    height: 50px;
    width: 50px;
    -webkit-animation: rotate 0.8s infinite linear;
    -o-animation: rotate 0.8s infinite linear;
    animation: rotate 0.8s infinite linear;
    background: transparent;
    position: fixed;
    top: 50%;
    left: 50%;
    margin-top: -25px;
    margin-left: -25px;
    z-index: 9998;
}
.loading-before:after{
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9997;
    background-color: rgba(255, 255, 255, .55);
}

@-webkit-keyframes rotate{
    from{
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to{
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

@-o-keyframes rotate{
    from{
        -webkit-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to{
        -webkit-transform: rotate(359deg);
        -o-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

@keyframes rotate{
    from{
        -webkit-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to{
        -webkit-transform: rotate(359deg);
        -o-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

/* BUTTONS */

.btn{
    border: 1px solid #CCC;
    background-color: white;
    display: inline-block;
    border-radius: 3px;
    line-height: 2.4em;
    font-weight: 300;
    overflow: hidden;
    padding: 0 11px;
    font-size: 13px;
    cursor: pointer;
    color: #4f4f4f;
}
.btn.next{
    background: #4f4f4f;
    font-weight: 900;
    border: none;
    color: white;
}
.btn.next:disabled{
    background-color: #CCC;
    cursor: no-drop;
}