.ip-logo {
	opacity: 0;
	pointer-events: none;
}

.ip-loader {
	opacity: 0;
}

/* ANIMATIONS */

/* Initial animation of header elements */

.loading .ip-logo {
	opacity: 1;
	-webkit-animation: animInitialHeader 1s cubic-bezier(0.7,0,0.3,1) both;
	animation: animInitialHeader 1s cubic-bezier(0.7,0,0.3,1) both;
}

@-webkit-keyframes animInitialHeader {
	from { opacity: 0; }
}

@keyframes animInitialHeader {
	from { opacity: 0; }
}

/* Header animation when loading finishes */
.loaded .ip-bg {
	animation-delay: 0.1s;
	-webkit-animation: animLoadingHeader 1s cubic-bezier(0.7,0,0.3,1) forwards;
	animation: animLoadingHeader 1s cubic-bezier(0.7,0,0.3,1) forwards;
}

@-webkit-keyframes animLoadingHeader {
	to { -webkit-transform: translate3d(100%,0,0); }
}

@keyframes animLoadingHeader {
	to { -webkit-transform: translate3d(100%,0,0); transform: translate3d(100%,0,0); }
}


/* Header elements when loading finishes */
.loaded .ip-logo {
	opacity: 1;
}

.loaded .ip-logo {
	-webkit-animation: animLoadedLogo 1s cubic-bezier(0.7,0,0.3,1) forwards;
	animation: animLoadedLogo 1s cubic-bezier(0.7,0,0.3,1) forwards;
}

@-webkit-keyframes animLoadedLogo {
	to { opacity: 0; }
}

@keyframes animLoadedLogo {
	to { opacity: 0; }
}

/* Header animation when loading finishes*/
.loaded .ip-header {
	-webkit-animation: animLoadedHeader 1s cubic-bezier(0.7,0,0.3,1) forwards;
	animation: animLoadedHeader 1s cubic-bezier(0.7,0,0.3,1) forwards;
}

@-webkit-keyframes animLoadedHeader {
	to { display: none; }
}

@keyframes animLoadedHeader {
	to { display: none; }
}

/* Change layout class for header */
.layout-switch .ip-header {
	display: none;
}

/* No JS */
.no-js .ip-header {
	position: relative;
	min-height: 0;
}

.no-js .ip-header .ip-logo {
	margin-top: 20px;
	height: 180px;
	opacity: 1;
	-webkit-transform: none;
	transform: none;
}
