﻿/* =========================================
   1. Footer Main Containers
   ========================================= */
footer.site-footer {
    color: #fff;
    /* Combined background shorthand */
    background: #075f77 linear-gradient(90deg, #075f77 0, #048183);
    overflow: hidden;
    padding-top: 30px;
    position: relative;
    z-index: 9;
    /* Optimization: Defers rendering until scrolled into view */
    content-visibility: auto;
    contain: layout paint;
}

/* =========================================
   2. Branding & Logos
   ========================================= */
#footer-logo {
    filter: brightness(0) contrast(3) invert(1);
    cursor: pointer;
    max-width: 515px;
    margin: 7px auto 0;
    opacity: 1;
}

/* =========================================
   3. Menu Columns (Navigation)
   ========================================= */
.menuCol .colTitle,
.menuCol .colTitle a {
    font-family: Barlow, sans-serif;
    padding-bottom: 5px;
    font-size: 24px;
    font-weight: 500;
    color: #fff;
}

.menuCol ul {
    margin: 0;
    padding: 0;
}

.menuCol li {
    display: block;
    list-style: none;
}

.menuCol a,
.menuCol ul li a {
    position: relative;
    color: #fff;
    font-size: 14px;
    font-family: LotaGrotesqueAlt2-Regular, sans-serif;
}

/* =========================================
   4. Contact Info
   ========================================= */
.contactLarry:hover {
    cursor: pointer;
}

.benco-tel {
    font-size: 35px;
    color: #fff;
    white-space: nowrap;
}

footer .benco-tel a {
    color: #fff;
    font-family: Barlow, sans-serif;
    font-weight: 500;
}

.benco-tel .fa-phone {
    color: #fff;
    width: 29px;
    border-radius: 100%;
    padding: 4px;
    position: relative;
    top: -3px;
    border: 1px solid #fff;
}

/* =========================================
   5. Tooltips
   ========================================= */
.tooltip {
    opacity: 0;
    bottom: 30px;
    background: #202020;
    padding: 10px;
    border-radius: 10px;
    z-index: -1;
    /* Optimization: Specific transition properties are faster */
    transition: opacity 0.3s linear, z-index 0.3s linear;
    width: 250px;
    position: absolute;
    /* Optimization: Hints browser to prepare for opacity change */
    will-change: opacity;
    pointer-events: none; /* Prevents accidental clicks when hidden */
}

.contactLarry:hover .tooltip,
.menuCol ul li a:hover .tooltip {
    opacity: 1;
    z-index: 2;
    pointer-events: auto;
}

.tooltip:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #202020;
    position: absolute;
    bottom: -8px;
    left: 10%;
}

/* =========================================
   6. Sub-Footer & Copyright
   ========================================= */
/* Merged duplicate .sub-footer blocks here */
.sub-footer {
    box-shadow: none;
    background: #0b406c;
    position: relative;
    margin-top: 80px;
    padding-bottom: 20px;
    width: 100%;
}

.sub-footer ul {
    font-size: 13px;
    text-align: center;
    margin: 0;
    padding: 0;
    line-height: 23px;
}

.sub-footer ul li {
    display: inline-block;
    padding: 0 10px;
    margin: 0;
    border-left: 1px solid #fff;
    line-height: normal;
}

.sub-footer ul li:first-of-type {
    border-left: none;
}

.sub-footer ul li a {
    color: #fff;
    font-size: 12px;
    line-height: 10px;
}

#copyright-footer {
    position: relative;
    width: 100%;
    bottom: 0;
    text-align: center;
    margin: 0;
    background: transparent;
    border-top: 0;
    box-shadow: none;
    line-height: 23px;
    padding-left: 15px;
    font-size: 12px;
}

/* =========================================
   7. Media Queries
   ========================================= */
@media only screen and (min-width: 992px) {
    .menuCol:first-of-type {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .menuCol:nth-of-type(2) {
        flex: 0 0 auto;
        width: 25%;
    }
    .menuCol .colTitle,
    .menuCol .colTitle > a {
        white-space: nowrap;
        padding: 0;
    }
}

@media only screen and (max-width: 1399px) and (min-width: 992px) {
    .site-footer .col-lg-2 {
        flex: 0 0 20.667%;
        max-width: 20.667%;
    }
}

@media only screen and (max-width: 991px) {
    #ddf-logo {
        margin-left: 0;
    }
    #media-links,
    .bencoTelWrap {
        margin-bottom: 0;
        text-align: center;
    }
    #media-links a {
        display: inline-block;
    }
    .menuCol {
        text-align: center;
        flex: 0 0 50%;
        margin-bottom: 30px;
    }
    .menuCol ul li a {
        font-size: 16px;
        margin-bottom: 5px;
        display: inline-block;
    }
    .menuCol .colTitle,
    .menuCol .colTitle > a {
        padding-bottom: 10px;
    }
    .sub-footer {
        margin-top: 20px;
    }
    .sub-footer ul li {
        margin-bottom: 10px;
    }
    .sub-footer ul li a {
        font-size: 14px;
        line-height: 11px;
        display: inline-block;
    }
    #copyright-footer {
        padding-top: 30px;
    }
    .bencoTelWrap {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media only screen and (max-width: 768px) {
    #footer-logo {
        width: 70%;
    }
    .sub-footer nav ul {
        column-count: 2;
    }
    .sub-footer nav ul li {
        display: block;
        border: none;
    }
}

@media only screen and (max-width: 600px) {
    .menuCol {
        flex: 0 0 100%;
    }
}
