/* ==========================================================
   PRINTER-FAIR DYNAMIC FOOTER
   ========================================================== */

.pf-dynamic-footer{

    --pf-red:#C8102E;
    --pf-gray:#505759;

    --pf-text:rgba(255,255,255,.78);
    --pf-white:#fff;
    --pf-border:rgba(255,255,255,.14);

    background:var(--pf-gray);
    color:var(--pf-text);
}

.pf-dynamic-footer__inner{
    width:min(1380px,calc(100% - 48px));
    margin:auto;
    padding:64px 0 24px;
}

.pf-dynamic-footer__grid{

    display:grid;

    grid-template-columns:
        1.35fr
        .8fr
        1fr
        1fr;

    gap:56px;

    align-items:start;
}

/* ==========================================================
   LOGO
   ========================================================== */

.pf-dynamic-footer__logo img{

    display:block;

    max-width:150px;
    max-height:72px;

    width:auto;
    height:auto;

    object-fit:contain;
}

.pf-dynamic-footer__intro{

    margin-top:22px;

    max-width:320px;

    line-height:1.7;

    color:var(--pf-text);
}

/* ==========================================================
   HEADINGS
   ========================================================== */

.pf-dynamic-footer h3{

    margin:0 0 20px;

    color:#fff;

    font-size:16px;
    font-weight:700;
}

/* ==========================================================
   MENUS
   ========================================================== */

.pf-footer-menu,
.pf-footer-legal-menu,
.pf-footer-social-menu{

    list-style:none;

    margin:0;
    padding:0;
}

.pf-footer-menu li+li{

    margin-top:9px;
}

.pf-footer-menu a,
.pf-footer-legal-menu a{

    color:var(--pf-text);

    text-decoration:none;

    transition:
        color .18s ease,
        transform .18s ease;
}

.pf-footer-menu a:hover,
.pf-footer-legal-menu a:hover{

    color:#fff;

    transform:translateX(3px);
}

/* ==========================================================
   SOCIAL ICONS
   ========================================================== */

.pf-dynamic-footer__social {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-top: 24px;
}

.pf-dynamic-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    padding: 0;
    margin: 0;

    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;

    overflow: hidden;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background-color .2s ease;
}

.pf-dynamic-footer__social a img {
    display: block !important;

    width: 20px !important;
    height: 20px !important;

    min-width: 20px !important;
    min-height: 20px !important;

    max-width: 20px !important;
    max-height: 20px !important;

    padding: 0 !important;
    margin: 0 !important;

    object-fit: contain;
}

.pf-dynamic-footer__social a:hover {
    transform: translateY(-2px);

    border-color: var(--pf-red);
    background: rgba(200,16,46,.12);
}

/* ==========================================================
   CONTACT
   ========================================================== */

.pf-contact-row{

    display:flex;

    gap:10px;

    align-items:flex-start;

    margin-bottom:14px;

    color:var(--pf-text);

    text-decoration:none;

    line-height:1.55;
}

.pf-contact-row:hover{

    color:#fff;
}

.pf-contact-row__icon{

    width:20px;
    height:20px;

    flex:0 0 20px;

    display:flex;

    justify-content:center;
    align-items:center;
}

.pf-contact-row__icon img{

    width:18px;
    height:18px;

    object-fit:contain;
}

/* ==========================================================
   BOTTOM
   ========================================================== */

.pf-dynamic-footer__bottom{

    margin-top:52px;

    padding-top:20px;

    border-top:1px solid var(--pf-border);

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:24px;

    font-size:13px;
}

.pf-footer-legal-menu{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    justify-content:flex-end;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:980px){

    .pf-dynamic-footer__grid{

        grid-template-columns:1fr 1fr;

        gap:40px;
    }
}

@media(max-width:640px){

    .pf-dynamic-footer__inner{

        width:min(100% - 32px,1380px);

        padding-top:48px;
    }

    .pf-dynamic-footer__grid{

        grid-template-columns:1fr;

        gap:34px;
    }

    .pf-dynamic-footer__bottom{

        flex-direction:column;

        align-items:flex-start;
    }

    .pf-footer-legal-menu{

        justify-content:flex-start;

        gap:12px 16px;
    }
}