.footer-width-fixer {
    width: 100%;
}

/* Container fix for genesis themes */

.ehf-template-genesis.ehf-header .site-header .wrap,
.ehf-template-genesis.ehf-footer .site-footer .wrap,
.ehf-template-generatepress.ehf-header .site-header .inside-header {
    width: 100%;
    padding: 0;
    max-width: 100%;
}

/* Container fix for generatepress theme */

.ehf-template-generatepress.ehf-header .site-header,
.ehf-template-generatepress.ehf-footer .site-footer {
    width: 100%;
    padding: 0;
    max-width: 100%;
    background-color: transparent !important; /* override generatepress default white color for header */
}

.bhf-hidden {
    display: none
}

/* Fix: Header hidden below the page content */
.ehf-header #masthead {
	z-index: 99;
    position: relative;
}

/* Add overlay animation */
#fader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    pointer-events: none;
    background: black;
    animation-duration: 500ms;
    animation-timing-function: ease-in-out;
}
#header, #masthead {
    animation-duration: 250ms;
}
#content {
    animation-duration: 250ms;
}
@keyframes fadeDown {
    0% {
        filter: alpha(opacity=100);
        opacity: 1;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
    }
    100% {
        filter: alpha(opacity=0);
        opacity: 0;        
        -webkit-transform: translateY(5%);
        -moz-transform: translateY(5%);
        -ms-transform: translateY(5%);
        -o-transform: translateY(5%);
        transform: translateY(5%);
    }
}
@keyframes fadeUp {
    0% {
        filter: alpha(opacity=100);
        opacity: 1;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);     
    }
    100% {
        filter: alpha(opacity=0);
        opacity: 0;        
        -webkit-transform: translateY(-25%);
        -moz-transform: translateY(-25%);
        -ms-transform: translateY(-25%);
        -o-transform: translateY(-25%);
        transform: translateY(-25%);
    }
}
@keyframes fade-out {
    from { opacity: 1 }
      to { opacity: 0 }
}

@keyframes fade-in {
    from { opacity: 0 }
      to { opacity: 1 }
}

#header.fade-out,
#masthead.fade-out {
    opacity: 0;
    animation-name: fadeUp;
}
#content.fade-out {
    opacity: 0;
    animation-name: fadeDown;
}
#fader.fade-out {
    opacity: 0;
    animation-name: fade-out;
}

#fader.fade-in {
    opacity: 1;
    animation-name: fade-in;
}