/* ==========================================================
   FOOTER CSS
   PART 1 - Newsletter & Footer Layout
========================================================== */

/* ==========================================================
   FOOTER VARIABLES
========================================================== */

:root{

    --footer-bg:#232323;
    --footer-dark:#1b1b1b;
    --footer-text:#d4d4d4;
    --footer-heading:#ffffff;
    --footer-link:#b5b5b5;
    --footer-orange:#e85b24;
    --footer-border:#3a3a3a;
    --transition:.3s ease;

}

/* ==========================================================
   FOOTER
========================================================== */

.site-footer{

    width:100%;

    margin-top:80px;

    font-family:'League Spartan',sans-serif;

}

/* ==========================================================
   NEWSLETTER
========================================================== */

.newsletter{

    width:100%;

    background:#f5f5f5;

    padding:70px 20px;

}

.newsletter-container{

    width:100%;

    max-width:760px;

    margin:auto;

    text-align:center;

}

.newsletter h2{

    font-size:42px;

    font-weight:600;

    color:var(--footer-orange);

    margin-bottom:35px;

    line-height:1.3;

}

/* ==========================================================
   NEWSLETTER FORM
========================================================== */

.newsletter-form{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:0;

    max-width:720px;

    margin:auto;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    border-radius:8px;

    overflow:hidden;

}

.newsletter-form input{

    flex:1;

    height:60px;

    border:none;

    padding:0 20px;

    font-size:16px;

    outline:none;

    font-family:'League Spartan',sans-serif;

}

.newsletter-form input::placeholder{

    color:#999;

}

.newsletter-form button{

    width:150px;

    height:60px;

    border:none;

    background:var(--footer-orange);

    color:#fff;

    font-size:15px;

    font-weight:700;

    letter-spacing:1px;

    cursor:pointer;

    transition:var(--transition);

}

.newsletter-form button:hover{

    background:#cf4d1b;

}

/* ==========================================================
   NEWSLETTER TEXT
========================================================== */

.newsletter p{

    max-width:650px;

    margin:22px auto 0;

    font-size:15px;

    line-height:1.7;

    color:#666;

}

.newsletter p a{

    color:var(--footer-orange);

    font-weight:600;

    text-decoration:none;

}

.newsletter p a:hover{

    text-decoration:underline;

}

/* ==========================================================
   MAIN FOOTER
========================================================== */

.footer-main{

    background:var(--footer-bg);

    color:#fff;

    padding:65px 0;

}

.footer-container{

    width:100%;

    max-width:1400px;

    margin:auto;

    padding:0 35px;

    display:grid;

    grid-template-columns:

    repeat(4,1fr)

    260px;

    gap:50px;

    align-items:flex-start;

}

/* ==========================================================
   FOOTER COLUMNS
========================================================== */

.footer-column{

    width:100%;

}

.footer-column h3{

    color:var(--footer-heading);

    font-size:15px;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:24px;

    text-transform:uppercase;

}

.footer-column ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-column li{

    margin-bottom:16px;

}

.footer-column a{

    color:var(--footer-link);

    text-decoration:none;

    font-size:16px;

    transition:var(--transition);

    line-height:1.4;

}

.footer-column a:hover{

    color:var(--footer-orange);

    padding-left:6px;

}

/* ==========================================================
   COLUMN SPACING
========================================================== */

.footer-column:last-child{

    margin-right:0;

}

/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1100px){

.footer-container{

    grid-template-columns:

    repeat(2,1fr);

    gap:40px;

}

}

/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:768px){

.newsletter{

    padding:50px 18px;

}

.newsletter h2{

    font-size:28px;

}

.newsletter-form{

    flex-direction:column;

    box-shadow:none;

    gap:12px;

}

.newsletter-form input{

    width:100%;

    border-radius:8px;

    border:1px solid #ddd;

}

.newsletter-form button{

    width:100%;

    border-radius:8px;

}

.footer-main{

    padding:45px 0;

}

.footer-container{

    grid-template-columns:1fr;

    gap:10px;

    padding:0 20px;

}

.footer-column{

    border-bottom:1px solid var(--footer-border);

    padding:18px 0;

}

}

/* ==========================================================
   FOOTER CSS
   PART 2 - Social Icons + Bottom Footer
========================================================== */

/* ==========================================================
   SOCIAL SECTION
========================================================== */

.footer-social{

    display:flex;

    align-items:center;

    justify-content:flex-start;

    flex-wrap:wrap;

    gap:18px;

    padding-top:8px;

}

.footer-social a{

    color:#cfcfcf;

    text-decoration:none;

    transition:all .3s ease;

}

/* Social Icons */

.footer-social i{

    font-size:22px;

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    transition:all .3s ease;

}

.footer-social a:hover i{

    background:#ffffff;

    color:var(--footer-orange);

    transform:translateY(-3px);

}

/* ==========================================================
   BRAND LOGO
========================================================== */

.footer-logo{

    margin-left:10px;

    font-size:30px;

    font-weight:700;

    color:#fff !important;

    letter-spacing:1px;

    white-space:nowrap;

}

.footer-logo:hover{

    color:var(--footer-orange) !important;

}

/* ==========================================================
   FOOTER DIVIDER
========================================================== */

.footer-main::after{

    content:"";

    display:block;

    width:100%;

    height:1px;

    background:var(--footer-border);

    margin-top:60px;

}

/* ==========================================================
   BOTTOM FOOTER
========================================================== */

.footer-bottom{

    background:var(--footer-dark);

    padding:25px 0;

}

.footer-bottom-container{

    max-width:1400px;

    margin:auto;

    padding:0 35px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    flex-wrap:wrap;

}

/* ==========================================================
   LEFT
========================================================== */

.footer-left{

    display:flex;

    align-items:center;

    gap:18px;

    flex-wrap:wrap;

}

.footer-left img{

    width:58px;

    height:auto;

    opacity:.95;

}

.footer-left span{

    color:#bdbdbd;

    font-size:15px;

}

.footer-left a{

    color:var(--footer-orange);

    text-decoration:none;

    font-weight:600;

}

.footer-left a:hover{

    text-decoration:underline;

}

/* ==========================================================
   RIGHT
========================================================== */

.footer-right{

    color:#bdbdbd;

    font-size:15px;

    text-align:right;

}

/* ==========================================================
   SMALL COPYRIGHT
========================================================== */

.footer-copyright{

    margin-top:8px;

    color:#888;

    font-size:13px;

}

/* ==========================================================
   HOVER EFFECTS
========================================================== */

.footer-column li{

    transition:transform .3s ease;

}

.footer-column li:hover{

    transform:translateX(6px);

}

.footer-column a{

    position:relative;

}

.footer-column a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-2px;

    width:0;

    height:1px;

    background:var(--footer-orange);

    transition:.3s;

}

.footer-column a:hover::after{

    width:100%;

}

/* ==========================================================
   NEWSLETTER ANIMATION
========================================================== */

.newsletter-form input{

    transition:.3s;

}

.newsletter-form input:focus{

    box-shadow:0 0 0 3px rgba(232,91,36,.15);

}

.newsletter-form button{

    transition:.3s;

}

.newsletter-form button:active{

    transform:scale(.98);

}

/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1100px){

.footer-social{

    grid-column:1/-1;

    justify-content:center;

    margin-top:10px;

}

.footer-bottom-container{

    flex-direction:column;

    align-items:center;

    text-align:center;

}

.footer-left{

    justify-content:center;

}

.footer-right{

    text-align:center;

}

}

/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:768px){

.footer-social{

    justify-content:center;

    gap:12px;

    margin-top:20px;

}

.footer-social i{

    width:40px;

    height:40px;

    font-size:20px;

}

.footer-logo{

    width:100%;

    margin:15px 0 0;

    text-align:center;

    font-size:26px;

}

.footer-bottom{

    padding:22px 0;

}

.footer-bottom-container{

    padding:0 20px;

}

.footer-left{

    flex-direction:column;

    gap:12px;

}

.footer-left img{

    width:48px;

}

.footer-left span{

    text-align:center;

    line-height:1.6;

}

.footer-right{

    font-size:14px;

    line-height:1.6;

}

}

/* ==========================================================
   FOOTER CSS
   PART 3 - Mobile Accordion, Animations & Final Responsive
========================================================== */

/* ==========================================================
   ACCORDION SUPPORT
========================================================== */

.footer-column h3{

    position:relative;

    cursor:pointer;

    user-select:none;

}

.footer-column h3::after{

    content:"+";

    position:absolute;

    right:0;

    top:50%;

    transform:translateY(-50%);

    font-size:22px;

    font-weight:300;

    display:none;

    transition:.3s;

}

.footer-column.active h3::after{

    content:"−";

}

/* ==========================================================
   DESKTOP
========================================================== */

@media(min-width:769px){

.footer-column ul{

    display:block !important;

}

}

/* ==========================================================
   MOBILE ACCORDION
========================================================== */

@media(max-width:768px){

.footer-column{

    padding:0;

}

.footer-column h3{

    padding:22px 0;

    margin:0;

}

.footer-column h3::after{

    display:block;

}

.footer-column ul{

    max-height:0;

    overflow:hidden;

    transition:max-height .4s ease;

    padding:0;

}

.footer-column.active ul{

    max-height:700px;

    padding-bottom:18px;

}

.footer-column li{

    margin-bottom:14px;

}

.footer-column a{

    display:block;

    padding:4px 0;

}

}

/* ==========================================================
   FADE-IN ANIMATION
========================================================== */

.footer-reveal{

    opacity:0;

    transform:translateY(40px);

    transition:opacity .7s ease,
               transform .7s ease;

}

.footer-reveal.show{

    opacity:1;

    transform:translateY(0);

}

/* ==========================================================
   ICON HOVER
========================================================== */

.footer-social a{

    transition:.35s;

}

.footer-social a:hover{

    transform:translateY(-4px);

}

/* ==========================================================
   BUTTON HOVER
========================================================== */

.newsletter-form button{

    position:relative;

    overflow:hidden;

}

.newsletter-form button::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:100%;

    height:100%;

    background:rgba(255,255,255,.18);

    transform:skewX(-25deg);

    transition:.55s;

}

.newsletter-form button:hover::before{

    left:130%;

}

/* ==========================================================
   INPUT
========================================================== */

.newsletter-form input{

    transition:.3s;

}

.newsletter-form input:focus{

    border-color:var(--footer-orange);

}

/* ==========================================================
   LINK ANIMATION
========================================================== */

.footer-column a{

    transition:

    color .3s,

    padding-left .3s;

}

.footer-column a:hover{

    padding-left:8px;

}

/* ==========================================================
   IMAGE EFFECT
========================================================== */

.footer-left img{

    transition:.3s;

}

.footer-left img:hover{

    transform:scale(1.06);

}

/* ==========================================================
   NEWSLETTER RESPONSIVE
========================================================== */

@media(max-width:600px){

.newsletter{

    padding:45px 18px;

}

.newsletter h2{

    font-size:24px;

    line-height:1.4;

}

.newsletter p{

    font-size:14px;

}

.newsletter-form input{

    height:54px;

    font-size:15px;

}

.newsletter-form button{

    height:54px;

    font-size:14px;

}

}

/* ==========================================================
   SMALL PHONES
========================================================== */

@media(max-width:480px){

.footer-main{

    padding:35px 0;

}

.footer-container{

    padding:0 16px;

}

.footer-column h3{

    font-size:14px;

}

.footer-column a{

    font-size:15px;

}

.footer-social{

    gap:10px;

}

.footer-social i{

    width:36px;

    height:36px;

    font-size:18px;

}

.footer-logo{

    font-size:22px;

}

.footer-left img{

    width:42px;

}

.footer-right{

    font-size:13px;

}

}

/* ==========================================================
   LARGE DESKTOP
========================================================== */

@media(min-width:1600px){

.footer-container{

    max-width:1550px;

}

.footer-bottom-container{

    max-width:1550px;

}

.newsletter-container{

    max-width:900px;

}

.newsletter h2{

    font-size:48px;

}

}

/* ==========================================================
   ACCESSIBILITY
========================================================== */

.footer-column a:focus,
.footer-social a:focus,
.newsletter-form button:focus,
.newsletter-form input:focus{

    outline:2px solid var(--footer-orange);

    outline-offset:3px;

}

/* ==========================================================
   REDUCED MOTION
========================================================== */

@media(prefers-reduced-motion:reduce){

*{

    transition:none !important;

    animation:none !important;

    scroll-behavior:auto !important;

}

}

/* ==========================================================
   PRINT
========================================================== */

@media print{

.site-footer{

    display:none;

}

}