/* ==========================================================================
   GENERALS
   ========================================================================== */

::-moz-selection {
    background: #000000;
    text-shadow: none;
    color: #ffffff;
}

::selection {
    background: #000000;
    text-shadow: none;
    color: #ffffff;
}

html {
    overflow-y: scroll;
}

body {
    -webkit-backface-visibility: hidden; /*Try to avoid flickering content on animations in safari/mac environment*/
}

.showIfNoJs {
    display: none;
}

html.no-js .showIfNoJs {
    display: block;
}

.chromeframe {
    background: #ffffff;
    border-bottom: #000000 10px solid;
    font-weight: bold;
    position: absolute;
    text-align: center;
    width: 100%;
    z-index: 999;
}

div {
    position: relative;
}

div.clearfix {
    position: static;
}

a {
    text-decoration: none;
    outline: none !important;
    color: inherit;
}


/* ==========================================================================
   Scrollbar-Styles
   ========================================================================== */
::-webkit-scrollbar {
    background:transparent;
    overflow:visible;
    width:15px;
}

::-webkit-scrollbar-thumb {
    background-color: rgba(35, 35, 35, 0.20);
    border:solid #dbdbdb;
}

::-webkit-scrollbar-thumb:hover {
    background: rgb(0, 0, 0);
}

::-webkit-scrollbar-thumb:horizontal {
    border-width:4px 6px;
    min-width:40px;
}

::-webkit-scrollbar-thumb:vertical {
    border-width:0px 0px;min-height:40px;
}

::-webkit-scrollbar-track-piece{
    background-color: #dbdbdb;
}

::-webkit-scrollbar-corner {
    background:transparent;
}

::-webkit-scrollbar-thumb {
    background-color: #cdcdcd;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #181818;
}

/* ==========================================================================
   Loading Animation
   ========================================================================== */
#loading {
    font-family: arial, sans-serif;
    display: block;
    font-size: 100px;
    z-index: 1;
    position: fixed;
    width: 100%;
    margin-top: 220px;
}

.no-js #loading {
    display: none;
}

@-webkit-keyframes opacity {
    0% { opacity: 1; }
    100% { opacity: 0; }
}
@-moz-keyframes opacity {
    0% { opacity: 1; }
    100% { opacity: 0; }
}

#loading span {
    -webkit-animation-name: opacity;
    -webkit-animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;

    -moz-animation-name: opacity;
    -moz-animation-duration: 1s;
    -moz-animation-iteration-count: infinite;
}

#loading span:nth-child(2) {
    -webkit-animation-delay: 100ms;
    -moz-animation-delay: 100ms;
}

#loading span:nth-child(3) {
    -webkit-animation-delay: 300ms;
    -moz-animation-delay: 300ms;
}

.fader {
    opacity: 0;
}

/* ==========================================================================
   Page Fade-In
   ========================================================================== */
@-webkit-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@-moz-keyframes fadeIn { from { opacity :0; } to { opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.fade {
    opacity:0;  /* make things invisible upon start */
    -webkit-animation: fadeIn ease-in 1;  /* call our keyframe named fadeIn, use animation ease-in and repeat it only 1 time */
    -moz-animation: fadeIn ease-in 1;
    animation: fadeIn ease-in 1;

    -webkit-animation-fill-mode: forwards;  /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/
    -moz-animation-fill-mode: forwards;
    animation-fill-mode: forwards;

    -webkit-animation-duration: 1s;
    -moz-animation-duration: 1s;
    animation-duration: 1s;
}

.no-cssanimations .fade {
    opacity: 1;
}

.fade:first-child {
    -webkit-animation-delay: 1s;
    -moz-animation-delay: 1s;
    animation-delay: 1s;
}

.fade:nth-child(2n) {
    -webkit-animation-delay: 1.6s;
    -moz-animation-delay: 1.6s;
    animation-delay: 1.6s;
}


/* ==========================================================================
   FORM
   ========================================================================== */
input, textarea, button{
    border: none;
    outline: none;
    background: #F5F5F5;
    width: 100%;
    margin-bottom: 20px;
    padding: 10px;
    font-size: 17px;
}

input:focus, textarea:focus{
    background: #E2E2E2;
}

::-webkit-input-placeholder{
    color: #a1a1a1;
    text-transform: uppercase;
    font-size: 17px;
}

:-moz-placeholder{
    color: #a1a1a1;
    text-transform: uppercase;
    font-size: 17px;
}

::-moz-placeholder{
    color: #a1a1a1;
    text-transform: uppercase;
    font-size: 17px;
}

:-ms-input-placeholder{
    color: #a1a1a1;
    text-transform: uppercase;
    font-size: 17px;
}

input{
    height: 50px;
}

textarea{
    height: 200px;
    resize: none;
}

#submit{
    width: 145px;
    text-transform: uppercase;
    background: #000000;
}

#submit.active{
    color: #ffffff;
}


/* ==========================================================================
   Useful Stuff
   ========================================================================== */

.underline{
    text-decoration: underline;
}

a:hover, a:active, a:focus{
    text-decoration: none;
    color: inherit;
}

.img-full{
    width: 100%;
    height: auto;
}

.no-padding{
    padding: 0;
}

.no-margin{
    margin: 0;
}

.fullHeight{
    height: 100%;
}

.text-right-sm, .text-center-sm, .text-left-sm,
.text-right-md, .text-center-md, .text-left-md,
.text-right-xs, .text-center-xs, .text-left-xs{
    text-align: inherit;
}
.text-right{
    text-align: right;
}
.text-center{
    text-align: center;
}
.text-left{
    text-align: left;
}
.text-right-lg{
    text-align: right;
}
.text-center-lg{
    text-align: center;
}
.text-left-lg{
    text-align: left;
}

.top-buffer{
    margin-top:30px;
}

.top-buffer-medium{
    margin-top:40px;
}

.top-buffer-big{
    margin-top:60px;
}

.buffer{
    margin-top:20px;
    margin-bottom:20px;
}

.buffer-medium{
    margin-top:40px;
    margin-bottom:40px;
}

.buffer-big{
    margin-top:60px;
    margin-bottom:60px;
}

.absoluteBottom{
    position: absolute;
    bottom: 0;
}

@media (max-width:1200px){
    .text-right-sm, .text-center-sm, .text-left-sm,
    .text-right-xs, .text-center-xs, .text-left-xs,
    .text-right-lg, .text-center-lg, .text-left-lg{
        text-align: inherit;
    }
    .text-right{
        text-align: right;
    }
    .text-center{
        text-align: center;
    }
    .text-left{
        text-align: left;
    }
    .text-right-md{
        text-align: right;
    }
    .text-center-md{
        text-align: center;
    }
    .text-left-md{
        text-align: left;
    }

    .top-buffer-md{
        margin-top:30px;
    }

    .top-buffer-medium-md{
        margin-top:40px;
    }

    .top-buffer-big-md{
        margin-top:60px;
    }

    .buffer-md{
        margin-top:20px;
        margin-bottom:20px;
    }

    .buffer-medium-md{
        margin-top:40px;
        margin-bottom:40px;
    }

    .buffer-big-md{
        margin-top:60px;
        margin-bottom:60px;
    }

    .no-padding-md{
        padding: 0;
    }

    .no-margin-md{
        margin: 0;
    }
}

@media (max-width:991px){
    .text-right-xs, .text-center-xs, .text-left-xs,
    .text-right-md, .text-center-md, .text-left-md,
    .text-right-lg, .text-center-lg, .text-left-lg{
        text-align: inherit;
    }
    .text-right{
        text-align: right;
    }
    .text-center{
        text-align: center;
    }
    .text-left{
        text-align: left;
    }
    .text-right-sm{
        text-align: right;
    }
    .text-center-sm{
        text-align: center;
    }
    .text-left-sm{
        text-align: left;
    }

    .top-buffer-sm{
        margin-top:30px;
    }

    .top-buffer-medium-sm{
        margin-top:40px;
    }

    .top-buffer-big-sm{
        margin-top:60px;
    }

    .buffer-sm{
        margin-top:20px;
        margin-bottom:20px;
    }

    .buffer-medium-sm{
        margin-top:40px;
        margin-bottom:40px;
    }

    .buffer-big-sm{
        margin-top:60px;
        margin-bottom:60px;
    }

    .no-padding-sm{
        padding: 0;
    }

    .no-margin-sm{
        margin: 0;
    }
}

@media (max-width:767px){
    .text-right-sm, .text-center-sm, .text-left-sm,
    .text-right-md, .text-center-md, .text-left-md,
    .text-right-lg, .text-center-lg, .text-left-lg{
        text-align: inherit;
    }
    .text-right{
        text-align: right;
    }
    .text-center{
        text-align: center;
    }
    .text-left{
        text-align: left;
    }
    .text-right-xs{
        text-align: right;
    }
    .text-center-xs{
        text-align: center;
    }
    .text-left-xs{
        text-align: left;
    }

    .top-buffer-xs{
        margin-top:30px;
    }

    .top-buffer-medium-xs{
        margin-top:40px;
    }

    .top-buffer-big-xs{
        margin-top:60px;
    }

    .buffer-xs{
        margin-top:20px;
        margin-bottom:20px;
    }

    .buffer-medium-xs{
        margin-top:40px;
        margin-bottom:40px;
    }

    .buffer-big-xs{
        margin-top:60px;
        margin-bottom:60px;
    }

    .no-padding-xs{
        padding: 0;
    }

    .no-margin-xs{
        margin: 0;
    }
}