/*==================================================
      MPM NAVBAR
==================================================*/

:root{

    --mpm-primary:#173d69;
    --mpm-secondary:#f4b400;
    --mpm-white:#ffffff;
    --mpm-dark:#222;
    --mpm-light:#f7f7f7;

}

/**{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;

}*/

/*==================================================
CONTAINER
==================================================*/

.mpmcontainer{

    width:100%;
    max-width:1320px;
    margin:auto;
    padding:0 15px;

}

/*==================================================
HEADER
==================================================*/
/*==================================================
HEADER SPACE
==================================================*/

.mpmheaderspace{
    width:100%;
    height:0;
    transition:none;
}
.mpmheader{

     position:relative;
    top:auto;
    left:auto;

    width:100%;

    z-index:9999;

    background:#ffffff;

    transition:
        background .35s ease,
        box-shadow .35s ease;

    box-shadow:0 5px 25px rgba(0,0,0,.08);

    padding:10px 0;

}


/*==================================================
STICKY HEADER
==================================================*/

.mpmheader.mpmsticky{
    position:fixed;

    top:0;
    left:0;

    width:100%;

    background:#173d69;

    z-index:9999;

    box-shadow:0 8px 30px rgba(0,0,0,.18);

    animation:mpmHeaderDown .35s ease;
}


@keyframes mpmHeaderDown{

    from{
        transform:translateY(-100%);
    }

    to{
        transform:translateY(0);
    }

}
/*==================================================
NAV WRAPPER
==================================================*/

.mpmnavwrapper{

    height:85px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

/*==================================================
LOGO
==================================================*/

.mpmlogo{

 display:flex;
    align-items:center;
    position:relative;
	 padding:8px 0;

}

.mpmlogo img{

      width:196px;
    height:auto;
    transition:.35s ease;

}
/* Default Logo */

.mpmlogodark{

    display:block;

}

.mpmlogowhite{

    display:none;

}
/* Sticky Header */

.mpmsticky .mpmlogodark{

    display:none;

}

.mpmsticky .mpmlogowhite{

    display:block;

}

/* Mobile */

@media(max-width:991px){

.mpmlogo img{

    width:140px;

}

}
/*==================================================
NAVBAR
==================================================*/

.mpmnavbar{

    margin-left:auto;

}

.mpmnavlist{

    display:flex;

    align-items:center;

    list-style:none;

    gap:35px;

}

.mpmnavlist li{

    position:relative;

}

.mpmnavlist li a{

    text-decoration:none;

    color:var(--mpm-primary);

    font-size:16px;

    font-weight:600;

    transition:.3s;

}

.mpmsticky .mpmnavlist li a{

    color:#fff;

}

.mpmnavlist li a:hover{

    color:var(--mpm-secondary);

}

/*==================================================
RIGHT BUTTONS
==================================================*/

.mpmnavright{

    display:flex;

    align-items:center;

    gap:15px;

    margin-left:40px;

}

.mpmcallbtn{

    padding:13px 22px;

    border-radius:40px;

    border:2px solid var(--mpm-primary);

    color:var(--mpm-primary);

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.mpmsticky .mpmcallbtn{

    color:#fff;

    border-color:#fff;

}

.mpmcallbtn:hover{

    background:var(--mpm-primary);

    color:#fff;

}

.mpmquotebtn{

    background:var(--mpm-secondary);

    color:#000;

    text-decoration:none;

    padding:14px 30px;

    border-radius:40px;

    font-weight:700;

    transition:.3s;

}

.mpmquotebtn:hover{

    background:var(--mpm-primary);

    color:#fff;

}

/*==================================================
DROPDOWN
==================================================*/

.mpmhasdropdown{

    position:relative;

}

.mpmdropdown{

    position:absolute;

    left:0;

    top:120%;

    width:260px;

    background:#fff;

    border-radius:12px;

    list-style:none;

    padding:15px 0;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    box-shadow:0 15px 40px rgba(0,0,0,.12);

}

.mpmhasdropdown:hover .mpmdropdown{

    top:100%;

    opacity:1;

    visibility:visible;

}

.mpmdropdown li{

    width:100%;

}

.mpmdropdown li a{

    display:block;

    padding:13px 20px;

    color:#173d69!important;

}

.mpmdropdown li a:hover{

    background:#173d69;

    color:#fff!important;

}

/*==================================================
MENU TOGGLE
==================================================*/

.mpmmenutoggle{

    display:none;

    width:45px;

    height:45px;

    border:none;

    background:none;

    cursor:pointer;

    font-size:28px;

    color:#173d69;

}

.mpmsticky .mpmmenutoggle{

    color:#fff;

}
/*==================================================
MOBILE OVERLAY
==================================================*/

.mpmoverlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    opacity:0;
    visibility:hidden;
    transition:.35s;
    z-index:10000;
}

.mpmoverlay.active{
    opacity:1;
    visibility:visible;
}

/*==================================================
MOBILE MENU
==================================================*/

.mpmmobilemenu{

    position:fixed;
    
top:0;

left:auto;

right:-100%;

height:100vh;
    width:100%;

max-width:360px;

    background:#173d69;
    z-index:9998;
    overflow-y:auto;
    transition:.4s ease;
    padding:20px;
	z-index:10001;

}

.mpmmobilemenu.active{

    right:0;

}

/*==================================================
MOBILE TOP
==================================================*/

.mpmmobiletop{

    background:#173d69;

    padding:20px;

    display:flex;

    justify-content:space-between;

    align-items:center;


}

.mpmmobiletop img{

     width:230px;

    height:auto;

    display:block;

}

.mpmclosemenu{

    width:42px;
    height:42px;
    border:none;
    background:#fff;
    color:#173d69;
    border-radius:50%;
    cursor:pointer;
    font-size:20px;
    transition:.3s;

}

.mpmclosemenu:hover{

    background:#f4b400;

}

/*==================================================
MOBILE MENU LIST
==================================================*/

.mpmmobilelist{

    list-style:none;

}

.mpmmobilelist li{

    border-bottom:1px solid rgba(255,255,255,.15);

}

.mpmmobilelist li a{

    display:flex;
    align-items:center;
    gap:15px;
    color:#fff;
    text-decoration:none;
    padding:16px 0;
    font-size:16px;
    font-weight:500;

}

.mpmmobilelist li a:hover{

    color:#f4b400;

}

/*==================================================
SUB MENU
==================================================*/

.mpmsubtoggle{

    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#fff;
    padding:16px 0;
    cursor:pointer;
    font-weight:600;

}

.mpmsubtoggle span{

    display:flex;
    align-items:center;
    gap:15px;

}

.mpmdropicon{

    transition:.35s;

}

.mpmsubtoggle.active .mpmdropicon{

    transform:rotate(180deg);

}

.mpmmobilesubmenu{

    display:none;
    list-style:none;
    padding-left:25px;
    padding-bottom:10px;

}

.mpmmobilesubmenu.active{

    display:block;

}

.mpmmobilesubmenu li{

    border:none;

}

.mpmmobilesubmenu a{

    font-size:15px !important;
    color:#ddd !important;
    padding:12px 0 !important;

}

.mpmmobilesubmenu a:hover{

    color:#f4b400 !important;

}

/*==================================================
MOBILE BUTTONS
==================================================*/

.mpmmobilebuttons{

    margin-top:35px;

}

.mpmmobilecall,
.mpmmobilequote{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    text-decoration:none;
    padding:15px;
    border-radius:8px;
    font-weight:700;
    margin-bottom:15px;

}

.mpmmobilecall{

    background:#f4b400;
    color:#000;

}

.mpmmobilequote{

    background:#fff;
    color:#173d69;

}

/*==================================================
TABLET
==================================================*/

@media(max-width:991px){

.mpmnavbar,
.mpmnavright{

    display:none;

}

.mpmmenutoggle{

  display:flex;

align-items:center;

justify-content:center;

position:relative;

z-index:10002;

}

.mpmlogo img{

    width:145px;

}

}

/*==================================================
MOBILE
==================================================*/

@media(max-width:576px){

.mpmheader{

    padding:0;

}

.mpmnavwrapper{

    height:70px;

}

.mpmlogo img{

    width:130px;

}

.mpmmobilemenu{

    width:100%;
    max-width:100%;

}

}

/*==================================================
DESKTOP
==================================================*/

@media(min-width:992px){

.mpmmobilemenu,
.mpmoverlay{

    display:none;

}

}



/*==================================================
VSPM PROFESSIONAL TOP BAR
PRIMARY : #173d69
ACCENT  : #dd7436
==================================================*/

.vspmtopbar{
    position:relative;
    width:100%;
    min-height:70px;

    display:flex;
    align-items:center;

    background:#173d69;

    font-family:"Poppins",sans-serif;

    border-bottom:1px solid rgba(255,255,255,.12);

    overflow:hidden;
}

.vspmtopbar,
.vspmtopbar *{
    box-sizing:border-box;
}


/*==================================================
BACKGROUND ACCENT
==================================================*/

.vspmtopbar::before{
    content:"";

    position:absolute;
    top:0;
    left:0;

    width:35%;
    height:100%;

    background:linear-gradient(
        115deg,
        #dd7436 0%,
        #dd7436 92%,
        transparent 92%
    );

    pointer-events:none;
}


/*==================================================
CONTAINER
==================================================*/

.vspmtopbarcontainer{
    position:relative;
    z-index:2;

    width:100%;
    max-width:1400px;

    margin:0 auto;

    padding:0 30px;
}


/*==================================================
WRAPPER
==================================================*/

.vspmtopbarwrap{
    width:100%;
    min-height:70px;

    display:grid;

    grid-template-columns:
        auto
        minmax(0,1fr)
        auto;

    align-items:center;

    gap:35px;
}


/*==================================================
LEFT CONTACT
==================================================*/

.vspmtopbarleft{
    display:flex;
    align-items:center;

    gap:30px;
}


/*==================================================
PHONE LINK
==================================================*/

.vspmtopbarphone{
    display:flex;
    align-items:center;

    gap:12px;

    color:#ffffff;

    text-decoration:none;

    white-space:nowrap;
}


/*==================================================
PHONE ICON
==================================================*/

.vspmtopbarphoneicon{
    width:40px;
    height:40px;
    min-width:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(255,255,255,.18);

    border:1px solid rgba(255,255,255,.25);

    border-radius:50%;

    color:#ffffff;

    font-size:15px;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
		  position:relative;
    z-index:1;

    overflow:visible;
}
/*==================================================
VSPM TOP BAR CALL ICON PULSE ANIMATION
==================================================*/



/* PULSE CIRCLE */

.vspmtopbarphoneicon::before,
.vspmtopbarphoneicon::after{
    content:"";

    position:absolute;

    top:50%;
    left:50%;

    width:100%;
    height:100%;

    border-radius:50%;

    border:2px solid #dd7436;

    transform:
        translate(-50%,-50%)
        scale(1);

    opacity:0;

    pointer-events:none;

    z-index:-1;
}


/* FIRST PULSE */

.vspmtopbarphoneicon::before{
    animation:
        vspmCallPulse 1.8s ease-out infinite;
}


/* SECOND PULSE */

.vspmtopbarphoneicon::after{
    animation:
        vspmCallPulse 1.8s ease-out .9s infinite;
}


/* PHONE ICON */

.vspmtopbarphoneicon i{
    display:inline-block;

    animation:
        vspmPhoneRing 2.5s ease-in-out infinite;

    transform-origin:center;
}


/*==================================================
PULSE ANIMATION
==================================================*/

@keyframes vspmCallPulse{

    0%{
        transform:
            translate(-50%,-50%)
            scale(.85);

        opacity:.80;
    }

    70%{
        transform:
            translate(-50%,-50%)
            scale(1.65);

        opacity:0;
    }

    100%{
        transform:
            translate(-50%,-50%)
            scale(1.65);

        opacity:0;
    }

}


/*==================================================
PHONE RING ANIMATION
==================================================*/

@keyframes vspmPhoneRing{

    0%,
    45%,
    100%{
        transform:rotate(0deg);
    }

    5%{
        transform:rotate(-15deg);
    }

    10%{
        transform:rotate(15deg);
    }

    15%{
        transform:rotate(-12deg);
    }

    20%{
        transform:rotate(12deg);
    }

    25%{
        transform:rotate(-8deg);
    }

    30%{
        transform:rotate(8deg);
    }

    35%{
        transform:rotate(0deg);
    }

}


/*==================================================
ACCESSIBILITY
==================================================*/

@media (prefers-reduced-motion:reduce){

    .vspmtopbarphoneicon::before,
    .vspmtopbarphoneicon::after,
    .vspmtopbarphoneicon i{
        animation:none !important;
    }

}
.vspmtopbarphone:hover .vspmtopbarphoneicon{
    background:#ffffff;

    color:#dd7436;

    transform:rotate(-10deg);
}


/*==================================================
PHONE TEXT
==================================================*/

.vspmtopbarphonetext{
    display:block;

    color:#ffffff;

    font-size:15px;
    font-weight:700;
    line-height:1.35;
}

.vspmtopbarphonetext small{
    display:block;

    margin:0 0 2px;

    color:rgba(255,255,255,.80);

    font-size:10px;
    font-weight:500;
    line-height:1.3;

    letter-spacing:.6px;

    text-transform:uppercase;
}


/*==================================================
CENTER AREA
==================================================*/

.vspmtopbarcenter{
    min-width:0;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:22px;
}


/*==================================================
SERVICE INFORMATION
==================================================*/

.vspmtopbarservice{
    display:flex;
    align-items:center;

    gap:9px;

    color:rgba(255,255,255,.92);

    font-size:13px;
    font-weight:500;

    white-space:nowrap;
}

.vspmtopbarservice i{
    color:#dd7436;

    font-size:14px;
}


/*==================================================
DIVIDER
==================================================*/

.vspmtopbardivider{
    width:1px;
    height:24px;

    background:rgba(255,255,255,.25);
}


/*==================================================
EMAIL
==================================================*/

.vspmtopbaremail{
    min-width:0;

    display:flex;
    align-items:center;

    gap:9px;

    color:rgba(255,255,255,.92);

    text-decoration:none;

    font-size:13px;
    font-weight:500;

    white-space:nowrap;

    transition:color .3s ease;
}

.vspmtopbaremail i{
    color:#dd7436;

    font-size:14px;
}

.vspmtopbaremail:hover{
    color:#ffffff;
}


/*==================================================
RIGHT AREA
==================================================*/

.vspmtopbarright{
    display:flex;
    align-items:center;
    justify-content:flex-end;
}


/*==================================================
GET QUOTE BUTTON
==================================================*/

.vspmtopbarquote{
    min-height:46px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:10px;

    padding:12px 22px;

    background:#dd7436;

    color:#ffffff;

    border:1px solid #dd7436;

    border-radius:7px;

    text-decoration:none;

    font-size:13px;
    font-weight:700;
    line-height:1;

    white-space:nowrap;

    box-shadow:
        0 10px 25px rgba(0,0,0,.12);

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.vspmtopbarquote i{
    font-size:12px;

    transition:transform .3s ease;
}

.vspmtopbarquote:hover{
    background:#ffffff;

    color:#173d69;

    border-color:#ffffff;

    transform:translateY(-2px);

    box-shadow:
        0 12px 28px rgba(0,0,0,.18);
}

.vspmtopbarquote:hover i{
    transform:translateX(5px);
}


/*==================================================
SMALL DESKTOP
==================================================*/

@media screen and (max-width:1199px){

    .vspmtopbar{
        min-height:66px;
    }

    .vspmtopbar::before{
        width:39%;
    }

    .vspmtopbarcontainer{
        max-width:1200px;

        padding:0 22px;
    }

    .vspmtopbarwrap{
        min-height:66px;

        gap:22px;
    }

    .vspmtopbarleft{
        gap:18px;
    }

    .vspmtopbarphoneicon{
        width:36px;
        height:36px;
        min-width:36px;

        font-size:13px;
    }

    .vspmtopbarphonetext{
        font-size:13px;
    }

    .vspmtopbarphonetext small{
        font-size:9px;
    }

    .vspmtopbarcenter{
        gap:14px;
    }

    .vspmtopbarservice,
    .vspmtopbaremail{
        font-size:11px;
    }

    .vspmtopbarservice i,
    .vspmtopbaremail i{
        font-size:12px;
    }

    .vspmtopbarquote{
        min-height:43px;

        padding:10px 17px;

        font-size:12px;
    }

}


/*==================================================
TABLET
==================================================*/

@media screen and (max-width:991px){

    .vspmtopbar{
        min-height:64px;
    }

    .vspmtopbar::before{
        width:50%;
    }

    .vspmtopbarcontainer{
        max-width:100%;

        padding:0 18px;
    }

    .vspmtopbarwrap{
        min-height:64px;

        grid-template-columns:
            auto
            minmax(0,1fr)
            auto;

        gap:16px;
    }

    .vspmtopbarleft{
        gap:15px;
    }

    .vspmtopbarphoneicon{
        width:35px;
        height:35px;
        min-width:35px;

        font-size:12px;
    }

    .vspmtopbarphonetext{
        font-size:12px;
    }

    .vspmtopbarphonetext small{
        font-size:8px;
    }


    /* HIDE SERVICE */

    .vspmtopbarservice{
        display:none;
    }

    .vspmtopbardivider{
        display:none;
    }


    /* EMAIL */

    .vspmtopbarcenter{
        justify-content:flex-end;
    }

    .vspmtopbaremail{
        font-size:11px;
    }

    .vspmtopbaremail i{
        font-size:12px;
    }


    /* QUOTE BUTTON */

    .vspmtopbarquote{
        min-height:42px;

        padding:10px 16px;

        font-size:11px;
    }

}


/*==================================================
MOBILE
ONLY PHONE NUMBER + GET QUOTE NOW
==================================================*/

@media screen and (max-width:767px){

    .vspmtopbar{
        min-height:66px;

        background:#173d69;
    }

    .vspmtopbar::before{
        display:none;
    }

    .vspmtopbarcontainer{
        width:100%;
        max-width:100%;

        padding:0 15px;
    }

    .vspmtopbarwrap{
        width:100%;
        min-height:66px;

        display:flex;
        align-items:center;
        justify-content:space-between;

        gap:12px;
    }


    /* HIDE SECOND NUMBER */

    .vspmtopbaraltphone{
        display:none;
    }


    /* HIDE CENTER */

    .vspmtopbarcenter{
        display:none;
    }


    /* LEFT PHONE */

    .vspmtopbarleft{
        flex:1;

        min-width:0;

        display:flex;
        align-items:center;
    }

    .vspmtopbarmainphone{
        min-width:0;

        gap:10px;
    }


    /* PHONE ICON */

    .vspmtopbarphoneicon{
        width:40px;
        height:40px;
        min-width:40px;

        background:rgba(221,116,54,.15);

        border:1px solid rgba(221,116,54,.55);

        color:#dd7436;

        font-size:14px;
    }


    /* PHONE TEXT */

    .vspmtopbarphonetext{
        color:#ffffff;

        font-size:15px;
        font-weight:700;
        line-height:1.3;
    }

    .vspmtopbarphonetext small{
        margin-bottom:2px;

        color:rgba(255,255,255,.72);

        font-size:9px;
        font-weight:500;
    }


    /* RIGHT */

    .vspmtopbarright{
        flex:0 0 auto;
    }


    /* QUOTE BUTTON */

    .vspmtopbarquote{
        min-height:44px;

        padding:11px 17px;

        background:#dd7436;

        color:#ffffff;

        border-color:#dd7436;

        border-radius:7px;

        font-size:12px;
        font-weight:700;
    }

    .vspmtopbarquote i{
        font-size:10px;
    }

}


/*==================================================
SMALL MOBILE
==================================================*/

@media screen and (max-width:480px){

    .vspmtopbar{
        min-height:64px;
    }

    .vspmtopbarcontainer{
        padding:0 12px;
    }

    .vspmtopbarwrap{
        min-height:64px;

        gap:8px;
    }

    .vspmtopbarphoneicon{
        width:36px;
        height:36px;
        min-width:36px;

        font-size:12px;
    }

    .vspmtopbarphonetext{
        font-size:13px;
    }

    .vspmtopbarphonetext small{
        font-size:8px;
    }

    .vspmtopbarquote{
        min-height:42px;

        padding:10px 13px;

        gap:7px;

        font-size:11px;
    }

    .vspmtopbarquote i{
        font-size:9px;
    }

}


/*==================================================
VERY SMALL MOBILE
==================================================*/

@media screen and (max-width:360px){

    .vspmtopbarcontainer{
        padding:0 10px;
    }

    .vspmtopbarphoneicon{
        width:32px;
        height:32px;
        min-width:32px;

        font-size:11px;
    }

    .vspmtopbarphonetext{
        font-size:12px;
    }

    .vspmtopbarphonetext small{
        font-size:7px;
    }

    .vspmtopbarquote{
        min-height:40px;

        padding:9px 10px;

        font-size:10px;
    }

}
/* Desktop */

.mpmdesktoprating{
    display:inline;
}

.mpmmobilerating{
    display:none;
}

/* Mobile */

@media (max-width:767px){

    .mpmdesktoprating{
        display:none;
    }

    .mpmmobilerating{
        display:inline;
    }

}

.mpmfooterbottom{
    margin-top:50px;
    padding:22px 0;
    background:#dd7436;
    border-top:1px solid rgba(255,255,255,.10);
    text-align:center;
}

.mpmfooterbottom p{
    margin:0;
    color:#fff;
    font-size:16px;
    line-height:1.7;
}

@media(max-width:767px){

    .mpmfooterbottom{
        margin-top:35px;
        padding:18px 15px;
    }

    .mpmfooterbottom p{
        font-size:13px;
    }

}