
/* ========================================================
   I AM BLAIRGOWRIE FOOTER + NEWSLETTER
   ======================================================== */

.elementor-widget-iab-footer-newsletter,
.elementor-widget-iab-footer-newsletter > .elementor-widget-container{
    width:100%;
}

.iab-footer{
    --iab-footer-green:#064629;
    --iab-footer-green-dark:#03391f;
    --iab-footer-sway:.8deg;
    --iab-footer-duration:12s;

    position:relative;
    overflow:hidden;
    width:100%;
    border-radius:72px 72px 0 0;
    color:#fff;
    background:
        radial-gradient(circle at 56% 12%, rgba(21,109,67,.38), transparent 33%),
        linear-gradient(180deg,var(--iab-footer-green) 0%,var(--iab-footer-green-dark) 100%);
    font-family:"Montserrat",Arial,sans-serif;
}

.iab-footer *{
    box-sizing:border-box;
}

.iab-footer-inner{
    position:relative;
    z-index:3;
    width:100%;
    max-width:1540px;
    margin:0 auto;
    padding:20px 52px 18px;
}

/* Newsletter strip */
.iab-footer-newsletter{
    min-height:72px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,630px);
    align-items:center;
    gap:35px;
}

.iab-footer-newsletter-copy{
    display:flex;
    align-items:center;
    gap:16px;
}

.iab-footer-mail-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    flex:0 0 auto;
}

.iab-footer-mail-icon svg{
    width:37px;
    height:37px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.iab-footer-newsletter-copy strong{
    display:block;
    margin-bottom:5px;
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
}

.iab-footer-newsletter-copy span{
    display:block;
    font-size:11px;
    line-height:1.4;
    font-weight:500;
}

.iab-footer-newsletter-form{
    position:relative;
}

.iab-footer-input-wrap{
    height:46px;
    display:flex;
    align-items:stretch;
    overflow:hidden;
    border-radius:999px;
    background:#fff;
    box-shadow:0 5px 18px rgba(0,0,0,.11);
}

.iab-footer-input-wrap input{
    flex:1 1 auto;
    min-width:0;
    border:0;
    outline:0;
    padding:0 22px;
    background:#fff;
    color:#303733;
    font:inherit;
    font-size:11px;
}

.iab-footer-subscribe-btn{
    flex:0 0 auto;
    min-width:132px;
    border:0;
    padding:0 24px;
    background:#f47a20;
    color:#fff;
    font:inherit;
    font-size:10px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    cursor:pointer;
}

.iab-footer-form-message{
    position:absolute;
    top:100%;
    right:4px;
    margin-top:5px;
    color:#fff;
    font-size:9px;
    line-height:1.3;
    font-weight:700;
}

.iab-footer-divider{
    height:1px;
    margin:4px 0 20px;
    background:rgba(255,255,255,.19);
}

/* Main footer */
.iab-footer-grid{
    display:grid;
    grid-template-columns:1.38fr .8fr .95fr .95fr .8fr;
    gap:0;
    align-items:start;
}

.iab-footer-brand,
.iab-footer-column,
.iab-footer-contribution{
    min-height:150px;
    padding:0 30px;
    position:relative;
}

.iab-footer-brand{
    padding-left:0;
}

.iab-footer-brand:not(:last-child)::after,
.iab-footer-column::after{
    content:"";
    position:absolute;
    right:0;
    top:4px;
    bottom:3px;
    width:1px;
    background:rgba(255,255,255,.28);
}

.iab-footer-brand-lockup{
    display:flex;
    align-items:center;
    gap:13px;
}

.iab-footer-tree{
    width:46px;
    height:55px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    flex:0 0 auto;
}

.iab-footer-tree svg{
    width:44px;
    height:52px;
    fill:currentColor;
    stroke:currentColor;
    stroke-width:1;
}

.iab-footer-brand-text{
    display:flex;
    flex-direction:column;
}

.iab-footer-brand-text strong{
    font-size:21px;
    line-height:.92;
    font-weight:900;
    letter-spacing:-.035em;
}

.iab-footer-brand-text small{
    margin-top:8px;
    font-size:6px;
    line-height:1;
    font-weight:700;
}

.iab-footer-brand > p{
    max-width:205px;
    margin:17px 0 0;
    font-size:10px;
    line-height:1.55;
    font-weight:500;
}

.iab-footer-column h4{
    margin:3px 0 10px;
    font-size:11px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
}

.iab-footer-column nav{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.iab-footer-column nav a{
    color:#fff!important;
    text-decoration:none!important;
    font-size:10px;
    line-height:1.2;
    font-weight:500;
}

.iab-footer-socials{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:14px;
}

.iab-footer-socials a{
    width:29px;
    height:29px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff!important;
    text-decoration:none!important;
}

.iab-footer-socials svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.iab-footer-socials .iab-social-facebook{
    background:#1675ea;
}

.iab-footer-socials .iab-social-facebook svg{
    fill:#fff;
    stroke:none;
}

.iab-footer-socials .iab-social-instagram{
    background:#e9367e;
}

.iab-footer-socials .iab-social-whatsapp{
    background:#22b45b;
}

.iab-footer-socials .iab-social-email{
    background:#fff;
    color:#17472e!important;
}

.iab-footer-social-column p{
    max-width:185px;
    margin:13px 0 0;
    font-size:9px;
    line-height:1.5;
    font-weight:500;
}

.iab-footer-contribution{
    padding-right:0;
    text-align:center;
}

.iab-footer-contribute{
    min-height:43px;
    min-width:168px;
    padding:0 20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    border-radius:999px;
    background:#7550a7;
    color:#fff!important;
    text-decoration:none!important;
    font-size:10px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    box-shadow:0 6px 18px rgba(0,0,0,.12);
}

.iab-footer-heart{
    font-size:14px;
}

.iab-footer-contribution p{
    margin:16px auto 0;
    max-width:150px;
    font-size:9px;
    line-height:1.5;
}

/* Bottom legal */
.iab-footer-bottom{
    min-height:36px;
    margin-top:5px;
    padding-top:10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    border-top:1px solid rgba(255,255,255,.14);
    font-size:8px;
    line-height:1.2;
}

.iab-footer-legal{
    display:flex;
    align-items:center;
    gap:30px;
}

.iab-footer-legal a{
    color:#fff!important;
    text-decoration:none!important;
    font-size:9px;
    line-height:1;
    font-weight:700;
    text-transform:uppercase;
}

/* Botanicals */
.iab-footer-botanical{
    --iab-footer-static-rotation:0deg;
    --iab-footer-sway:1deg;
    --iab-footer-drift:3px;
    --iab-footer-duration:12s;
    --iab-footer-delay:0s;
    position:absolute;
    z-index:2;
    pointer-events:none;
    transform:rotate(var(--iab-footer-static-rotation));
    transform-origin:50% 100%;
}

.iab-footer-botanical img{
    display:block;
    width:100%;
    height:auto;
    transform-origin:50% 100%;
    will-change:transform;
}

.iab-footer-jacaranda{
    left:28px;
    bottom:6px;
    width:235px;
    opacity:.94;
}

.iab-footer-protea{
    right:-24px;
    top:-34px;
    width:165px;
    opacity:.95;
}

.iab-footer-botanical-motion img{
    animation:iabFooterBotanicalSway var(--iab-footer-duration) ease-in-out var(--iab-footer-delay) infinite;
}

@keyframes iabFooterBotanicalSway{
    0%,100%{
        transform:translate3d(0,0,0) rotate(calc(var(--iab-footer-sway) * -.3));
    }
    25%{
        transform:translate3d(calc(var(--iab-footer-drift) * .25),calc(var(--iab-footer-drift) * -.45),0)
                  rotate(calc(var(--iab-footer-sway) * .2));
    }
    50%{
        transform:translate3d(var(--iab-footer-drift),calc(var(--iab-footer-drift) * -.2),0)
                  rotate(var(--iab-footer-sway));
    }
    75%{
        transform:translate3d(calc(var(--iab-footer-drift) * -.25),calc(var(--iab-footer-drift) * .15),0)
                  rotate(calc(var(--iab-footer-sway) * .15));
    }
}

@media(prefers-reduced-motion:reduce){
    .iab-footer-botanical-motion img{
        animation:none!important;
        transform:none!important;
    }
}

@media(max-width:767px){
    .iab-footer-no-mobile-motion .iab-footer-botanical-motion img{
        animation:none!important;
        transform:none!important;
    }
}

/* Responsive */
@media(max-width:1100px){
    .iab-footer{
        border-radius:52px 52px 0 0;
    }

    .iab-footer-newsletter{
        grid-template-columns:1fr;
        gap:13px;
        padding-bottom:10px;
    }

    .iab-footer-grid{
        grid-template-columns:repeat(2,1fr);
        row-gap:28px;
    }

    .iab-footer-brand,
    .iab-footer-column,
    .iab-footer-contribution{
        padding:0 25px;
    }

    .iab-footer-brand,
    .iab-footer-column{
        border-right:none;
    }

    .iab-footer-brand:not(:last-child)::after,
    .iab-footer-column::after{
        display:none;
    }

    .iab-footer-contribution{
        text-align:left;
    }

    .iab-footer-contribution p{
        margin-left:0;
    }
}

@media(max-width:767px){
    .iab-footer{
        border-radius:34px 34px 0 0;
    }

    .iab-footer-inner{
        padding:18px 18px 16px;
    }

    .iab-footer-newsletter-copy{
        align-items:flex-start;
    }

    .iab-footer-input-wrap{
        height:auto;
        overflow:visible;
        flex-direction:column;
        background:transparent;
        box-shadow:none;
        border-radius:0;
        gap:9px;
    }

    .iab-footer-input-wrap input{
        min-height:44px;
        border-radius:999px;
    }

    .iab-footer-subscribe-btn{
        min-height:43px;
        border-radius:999px;
    }

    .iab-footer-form-message{
        position:static;
        margin:6px 0 0;
    }

    .iab-footer-grid{
        grid-template-columns:1fr;
        row-gap:24px;
    }

    .iab-footer-brand,
    .iab-footer-column,
    .iab-footer-contribution{
        min-height:0;
        padding:0;
    }

    .iab-footer-social-column p,
    .iab-footer-brand > p{
        max-width:100%;
    }

    .iab-footer-contribution{
        text-align:left;
    }

    .iab-footer-bottom{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }

    .iab-footer-legal{
        flex-wrap:wrap;
        gap:15px;
    }

}
