footer {
    background-color:black;
    box-sizing:border-box;
    display:grid;
    grid-template-columns: 1fr;
}

/******************************************************************************/

.a-footer {
    border-bottom:1px dotted silver;
    color:silver;
    text-decoration:none;
}

/******************************************************************************/

.div-footer-bottom {
    box-sizing:border-box;
    background-color:black;
    border-top:1px solid silver;
    color:silver;
    padding:1em;
    display:flex;
    flex-wrap:nowrap;
    font-family:'Open Sans';
    font-size:0.8em;
    justify-content:space-between;
    width:100%;
}

.div-footer-caib {
    height:8em;
}

.div-footer-contact {
    color:silver;
    font-family:'Crimson text';
    font-size:0.9em;
    line-height:1em;
    margin:0.5em;
}

.div-footer-deia {
    color:white;
    font-family:arial;
    font-size:0.8em;
    text-align:center;
    vertical-align:center;
}

.div-footer-deix {
    height:3em;
}

.div-footer-frg {
    height:5em;
}

.div-footer-left {
    align-items:center;
    display:grid;
    font-size:1em;
    grid-template-columns: auto 1fr;
    padding:0.5em;
}

.div-footer-right {
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:2em;
    justify-content:space-around;
    padding:1em;
}

.div-footer-top {
    align-items:center; 
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    padding:3em 1em 3em 1em;
}

/******************************************************************************/

.img-footer {
   height:100%;
}

/******************************************************************************/

@media only screen and (max-width: 1280px) {
    
    .div-footer-caib {
        height:calc(6.5em + 1.5 * (100vw - 20em) /60);
    }
 
    .div-footer-contact {
          font-size:calc(0.75em + 0.15 * (100vw - 20em) /60);
    }

    .div-footer-deix {
        height:calc(2.5em + 0.5 * (100vw - 20em) /60);
    }
    
    .div-footer-frg {
       height:calc(4em + 1 * (100vw - 20em) /60);
    }
}


@media only screen and (max-width: 720px) { 

    .div-footer-top {
        justify-content:center
    }

}

@media only screen and (max-width: 320px) { 
    
    .div-footer-caib {
       height: 6.5em;
    }
    
    .div-footer-contact {
          font-size:0.75em;
    }
    
    .div-footer-deix {
        height:2.5em;
    }
    
    .div-footer-frg {
       height:4em;
    }
}    
