footer 
{
    background: #e0e0e0;
    color: #666;
    text-align: center;
    padding: 1.25rem 0.625rem; /* 20px 10px */
    font-size: 0.875rem; /* 14px */
    border-top: 2px solid #d0d0d0; 
}

footer a 
{
    color: #666;
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s ease;
}

footer a:hover 
{
    color: black;
}

footer #heart 
{
    width: 2em;
    height: auto;
    vertical-align: middle;
    transition: transform 0.2s ease;
    cursor: pointer;
}

footer #laptop 
{
    width: 1.8em;     
    height: auto;     
    vertical-align: middle;
}

footer #heart:hover 
{
    animation: pulse 0.6s infinite;
}

@keyframes pulse 
{
    0%   
    { 
        transform: scale(1); 
    }
    25%  
    { 
        transform: scale(1.2); 
    }
    50%  
    { 
        transform: scale(1); 
    }
    75%  
    { 
        transform: scale(1.2); 
    }
    100% 
    { 
        transform: scale(1); 
    }
}

@media (max-width: 37.5rem) /* 600px */ 
{
    footer 
    {
        font-size: 0.75rem; /* 12px */
    }
}