footer{
    position: relative;
    left: 0px;
    right: 0px;
    width: 100%;
    margin-top: 107.5px;
    height: auto;
    border-top: 1px solid #d1d3c2;
    opacity: 0;
    transition-delay: 1000ms;
    transition: all ease-in-out 300ms;
    }
footer.on{
    opacity: 1;
    }
footer .footer-upper{
    margin: 0px auto;
    padding: 25px 15px 25px 15px;
    width: 100%;
    max-width: 1660px;
    }
footer .footer-upper .footer-logo{
    position: relative;
    width: 190px;
    margin: 0px auto;
    }
footer .footer-upper .footer-logo.right{
    width: 220px;
    margin: 0px auto;
    margin-top: 30px;
    }
footer .footer-upper .footer-logo.adj1{
    width: 120px !important;
    }
footer .footer-upper .footer-logo.adj2{
    width: 190px !important;
    }
footer .footer-upper .footer-contact{
    position: relative;
    margin-top: 23px;
    text-align: center;
    }
footer .footer-upper .footer-contact .footer-contact-text{
    font-size: 18px;
    line-height: 1.2em;
    text-align: center;
    }
footer .footer-middle{
    position: relative;
    margin: 0px auto;
    padding: 0px;
    width: 100%;
    max-width: 170px;
    margin-top: 25px;
    margin-bottom: 25px;
    }
footer .footer-middle .footer-menu{
    position: relative;
    border-top: 1px solid #d1d3c2;
    border-bottom: 1px solid #d1d3c2;
    display: block;
    }
footer .footer-middle .footer-menu ul{
    padding: 0px;
    margin: 0px auto;
    }
footer .footer-middle .footer-menu ul li{
    display:block;
    /*margin: 0px 4px;*/
    font-size: 16px;
    text-align: center;
    margin: 0px auto;
    margin-top: 8px;
    margin-bottom: 8px;
    }
footer .footer-middle .footer-menu ul li.first{
    margin-top: 17px;
    }
footer .footer-middle .footer-menu ul li.last{
    margin-bottom: 17px;
    }
footer .footer-middle .footer-menu ul li.right-align{
    /*float: middle;*/
    }
footer .footer-middle .footer-menu ul li:hover a{
    color: #778400;
    /*font-family: "MacklinSans-Medium";*/
    }
footer .footer-middle .footer-menu ul li.selected a{
    color: #778400;
    font-family: "MacklinSans-Medium";
    }
footer .footer-middle .footer-menu ul li::before{
    content:'';
    display: block;
    position: relative;
    top: 2px;
    height: 2px;
    width: 30%;
    background-color: #778400;
    opacity: 0;
    margin: 0px auto;
    }
footer .footer-middle .footer-menu ul li::after{
    content:'';
    display: block;
    position: relative;
    bottom: 3px;
    height: 2px;
    width: 30%;
    background-color: #778400;
    opacity: 0;
    margin: 0px auto;
    }
footer .footer-middle .footer-menu ul li:hover::before{
    opacity: 1;
    }
footer .footer-middle .footer-menu ul li:hover::after{
    opacity: 1;
    }
footer .footer-middle .footer-menu ul li.selected::before{
    opacity: 1;
    }
footer .footer-middle .footer-menu ul li.selected::after{
    opacity: 1;
    }
footer .footer-lower{
    position: relative;
    display: block;
    margin: 0px auto;
    width: 100%;
    max-width: 1660px;
    padding: 25px 15px 25px 15px;
    font-size: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-family: 'MacklinSans-Medium';
    color: #444;
    }
footer .footer-lower .left{
    display:block;
    text-align: center;
    }
footer .footer-lower .right{
    display:block;
    text-align: center;
    }
footer .disclaimer-text{
    position: relative;
    border-top: 1px solid #d1d3c2;
    text-transform: none;
    font-size: 12px;
    letter-spacing: 0em;
    line-height: 1.2em;
    padding-top: 9px;
    margin-top: 6px;
    font-family: 'MacklinSans-Light';
    }
@media only screen and (min-width:768px){
footer .footer-upper{
    padding: 30px 30px 30px 30px;
    }

footer .footer-upper .footer-contact{
    text-align: left;
    }
footer .footer-middle{
    padding: 0px 30px 0px 30px;
    }
footer .footer-lower{
    padding: 25px 30px 36px 30px;
    } 
}
@media only screen and (min-width:992px){
footer .footer-upper .footer-logo{
    float: none;
    margin-top: 3px;
    margin-left: 0px;
    }
footer .footer-upper .footer-contact .footer-contact-text{
    text-align: left;
    }
footer .footer-upper .footer-logo.right{
    float: right;
    margin-top: 8px;
    }
footer .footer-upper .footer-logo.adj1{
    width: 103px !important;
    margin-top: 0px;
    margin-right: 25px;
    margin-left: 25px;
    }
footer .footer-upper .footer-logo.adj2{
    width: 160px !important;
    margin-top: 20px;
    }
footer .footer-middle{
    max-width: 1660px;
    }
footer .footer-middle .footer-menu{
    position: relative;
    border-top: 1px solid #d1d3c2;
    border-bottom: 1px solid #d1d3c2;
    display: flex;
    justify-content: space-between;
    }
footer .footer-middle .footer-menu ul{
    padding: 0px;
    margin: 0px;
    display: flex;
    }
footer .footer-middle .footer-menu ul.left{
    justify-content: flex-start;
    }
footer .footer-middle .footer-menu ul.right{
    justify-content: flex-end;
    }
footer .footer-middle .footer-menu ul{
    padding: 0px;
    width: auto;
    }
footer .footer-middle .footer-menu ul .right{
    float: right;
    }
footer .footer-middle .footer-menu ul li{
    display: inline-block;
    text-align: left;
    margin: 0px 7px;
    }
footer .footer-middle .footer-menu ul li::before{
    top: -1px;
    width: 100%;
    }
footer .footer-middle .footer-menu ul li::after{
    bottom: -1px;
    width: 100%;
    }
footer .footer-middle .footer-menu ul li.first{
    margin-left: 0px;
    margin-top: 0px;
    }
footer .footer-middle .footer-menu ul li.last{
    margin-left: 0px;
    margin-bottom: 0px;
    }
footer .footer-middle .footer-menu ul li.right-align{
    margin: 0px 0px 0px 14px;
    }
footer .footer-middle .footer-menu ul li.right-align.last{
    margin-right: 0px; 
    }
footer .footer-lower .left{
    display: inline-block;
    text-align: left;
    }
footer .footer-lower .right{
    display: inline-block;
    text-align: right;
    float: right;
    }
}
@media only screen and (min-width:1200px){
footer .footer-upper {
    padding-left: 60px;
    padding-right: 60px;
    }
footer .footer-middle {
    padding-left: 60px;
    padding-right: 60px;
    }
footer .footer-lower {
    padding-left: 60px;
    padding-right: 60px;
    }
}
@media only screen and (min-width:1400px){
footer .footer-middle .footer-menu ul li{
    margin: 0px 14px;
    }
footer .footer-middle .footer-menu ul li.right-align{
    margin: 0px 0px 0px 28px;
    }
}