/* Base Styling for Footer */
#bodyfooter {
    background-color: #212529; /* Dark background for footer */
    color: #ffffff; /* White text for contrast */
    padding-top: 2rem;
    padding-bottom: 2rem;
    transition: background-color 0.5s ease; /* Smooth transition for background */
}

#bodyfooter a {
    color: #ffffff; /* Default link color */
    transition: color 0.3s, text-decoration 0.3s; /* Smooth transition for color and decoration */
    text-decoration: none; /* Removes underline by default */
}

#bodyfooter a:hover {
    color: #ffc107; /* Hover effect for links */
    text-decoration: underline; /* Underline effect on hover */
    transition: color 0.3s, text-decoration 0.3s; /* Smooth transition for hover effects */
}

#bodyfooter a:focus {
    outline: 2px solid #f8c102; /* Focus outline for accessibility */
    outline-offset: 4px;
}

/* Footer Heading Styles */
#bodyfooter h2, #bodyfooter h3 {
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #f8c102; /* Consistent primary color */
    transition: color 0.5s ease; /* Smooth transition for color */
}

/* Styling for Quick Links */
#bodyfooter ul.list-unstyled {
    padding-left: 0;
    transition: padding 0.5s ease; /* Smooth transition for padding */
}

#bodyfooter ul.list-unstyled li {
    padding: 0.5rem 0;
    transition: padding 0.5s ease; /* Smooth transition for padding */
}

/* Icon Hover Effects */
#bodyfooter .list-inline-item i {
    transition: transform 0.3s; /* Smooth scale transition */
}

#bodyfooter .list-inline-item:hover i {
    transform: scale(1.2); /* Enlarge icon on hover */
}

/* Styling for Image */
#bodyfooter .img-fluid {
    max-height: 100px;
    transition: transform 0.3s, opacity 0.3s;
}

#bodyfooter .img-fluid:hover {
    transform: scale(1.1); /* Enlarge image on hover */
    opacity: 0.8; /* Fade image slightly */
}

/* Hover Effects for Card */
#bodyfooter .card {
    transition: transform 0.3s, box-shadow 0.3s;
}

#bodyfooter .card:hover {
    transform: translateY(-10px); /* Card hover effect */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Box-shadow effect */
}

/* Modal Styling */
#bodyfooter .modal-content {
    background-color: #343a40; /* Dark background for modal */
    color: #ffffff; /* White text in modal */
}

#bodyfooter .modal-header, #bodyfooter .modal-footer {
    border-color: rgba(255, 255, 255, 0.1); /* Light border */
}

#bodyfooter .modal-body ul.list-unstyled {
    padding-left: 0;
}

#bodyfooter .modal-body ul.list-unstyled li {
    padding: 0.5rem 0;
}

/* Button Styling */
#bodyfooter .btn-outline-success:hover {
    background-color: #007bff;
    border-color: #007bff;
    color: #fff; /* Button hover color */
}

#bodyfooter button#goToTop {
    transition: background-color 0.3s, transform 0.3s;
    background-color: #f8c102; /* Primary button color */
    color: #000; /* Text contrast */
    border: none;
    border-radius: 50px;
    padding: 10px 20px;
    font-size: 1rem;
}

#bodyfooter button#goToTop:hover {
    background-color: #ffc107; /* Hover effect for Go To Top button */
    transform: scale(1.1); /* Slight scale effect on hover */
}

/* Responsiveness and Layout */
#bodyfooter .container {
    max-width: 1200px;
}

#bodyfooter .row .col-md-6 h2 {
    font-size: 1.5rem;
    font-weight: bold;
}

/* Footer HR Styling */
#bodyfooter hr.bg-light {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* List Style and Spacing for Footer Links */
#bodyfooter ul.list-inline li {
    margin-right: 10px;
}

#bodyfooter .modal-header, #bodyfooter .modal-footer {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Focus Effects for Links */
#bodyfooter a:focus {
    outline: 3px solid #f8c102;
    outline-offset: 4px;
}

/* Additional Accessibility Styling for Links */
#bodyfooter a[aria-label]:focus {
    background-color: #f8c102; /* Highlight focused link */
    color: #212529; /* Contrast the text color */
}

/* Button Styles for Accessibility */
#bodyfooter button[aria-label]:focus {
    border: 2px solid #f8c102; /* Focus border for buttons */
}

/* Modal Close Button Styling */
#bodyfooter .btn-close-white {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 1.25rem;
}

/* Mobile Specific Styles */
@media (max-width: 767px) {
    #bodyfooter h2, #bodyfooter h3 {
        font-size: 1.2rem;
    }

    #bodyfooter .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    #bodyfooter .list-inline-item i {
        font-size: 1.5rem;
    }

    #bodyfooter button#goToTop {
        padding: 8px 16px;
        font-size: 0.9rem;
    }

    #bodyfooter hr.bg-light {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
    }
}

/* Laptop Specific Styles */
@media (min-width: 768px) {
    #bodyfooter h2, #bodyfooter h3 {
        font-size: 1.5rem;
    }

    #bodyfooter .list-inline-item i {
        font-size: 2rem;
    }

    #bodyfooter button#goToTop {
        padding: 10px 20px;
        font-size: 1rem;
    }

    #bodyfooter hr.bg-light {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
}
