html {
    font-size: 62.5%;
}

.gen-mobile-nav-menu {
    float: right;
    display: none;
}

.gen-mobile-navigation {
    top: 62px;
    right: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    background-color: #FFF;
    border-top: 3px solid #2EA3F2;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    padding: 35px;
}

.gen-mobile-menu li a {
    color: #666;
    border-bottom: 1px solid rgba(0,0,0,0.03);
    display: block;
    padding: 10px 12px;
    cursor: pointer;
    box-sizing: border-box;
    transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}

.gen-mobile-menu > .menu-item-has-children > a {
    background-color: rgba(0,0,0,0.03);
}

.gen-mobile-menu .menu-item-has-children > a {
    font-weight: bold;
}

.gen-mobile-menu li ul {
    padding-left: 29px;
}

.gen-mobile-menu li a:hover {
    background-color: rgba(0,0,0,0.03);
}

.gen-mobile-navigation.closing, 
.gen-mobile-navigation.closed {
    visibility: hidden;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
    transition: 0.8s all cubic-bezier(0, 1, 0.5, 1);
    -webkit-transition: 0.8s all cubic-bezier(0, 1, 0.5, 1);
    -moz-transition: 0.8s all cubic-bezier(0, 1, 0.5, 1);
    -ms-transition: 0.8s all cubic-bezier(0, 1, 0.5, 1);
    -o-transition: 0.8s all cubic-bezier(0, 1, 0.5, 1);
}

.gen-mobile-navigation.opening, 
.gen-mobile-navigation.opened {
    visibility: visible;
    max-height: 1000px;
    transition: 0.8s all ease-in;
    -webkit-transition: 0.8s all ease-in;
    -moz-transition: 0.8s all ease-in;
    -ms-transition: 0.8s all ease-in;
    -o-transition: 0.8s all ease-in;
}

.mobile-icon {
    font-size: 2.5rem;
    cursor: pointer;
    position: relative;
    top: 8px;
}

.mobile-icon:before {
    font-family: FontAwesome;
    content: '\f0c9';
}

.gen-produced-by {
    text-align: center;
    padding: 10px;
}

@media(min-width: 981px) {

    #et_search_icon:before {
        top: 7px;
        transition: all 0.2s ease-in-out;
        -webkit-transition: all 0.2s ease-in-out;
        -moz-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        -ms-transition: all 0.2s ease-in-out;
    }

    .et-fixed-header #et_search_icon:before {
        margin-top: 0;
        top: -3px;
    }
}

@media(max-width: 980px) {
    .footer-left, .footer-right {
        width: 100%;
        text-align: center;
    }

    .gen-mobile-nav-menu {
        display: block;
    }
}
