body {
    position: relative;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
}

* {
    margin: 0;
    padding: 0;
    background-repeat: no-repeat;
    font-family: 'NeueHaasUnicaPro-Regular';
    background-position: center;
    font-style: normal;
    font-weight: normal;
}

ul,
li {
    list-style: none;
}

a {
    text-decoration: none;
}

.hide{
    display: none;
}
.fullwidth {
    width: 100%;
}

.fullpage,
.fullheight {
    height: 100vh;
}

.fullpage {
    width: 100%;
    position: relative;
}

.bgcover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.flex-center,
.flex-center-x,
.flex-center-y {
    position: absolute;
}

.flex-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

.flex-center-y {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.flex-center-x {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}

.clearfix:after {
    content: ".";
    visibility: hidden;
    display: block;
    clear: both;
}

.fade {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transition: opacity 0.6s, visibility 0.6s;
    transition: opacity 0.6s, visibility 0.6s;
    visibility: hidden;
    /*height: 0;*/
}
.fade.slow {
    -webkit-transition: opacity 0.8s, visibility 0.8s;
    transition: opacity 0.8s, visibility 0.8s;
}

.fade.in {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible;
}

.half {
    width: 50%;
    float: left;
}
body.black{
    background: black;
}