@import url("https://fonts.googleapis.com/css?family=Fira+Sans:400,600,700");
html { height: 100%; }
body { min-height: 100%; overflow-y: scroll !important; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
a[href], button { touch-action: manipulation; }
a[href^=tel] { text-decoration: inherit !important; color: inherit !important; }
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }  
.clearfix:after { clear: both; }  
.clearfix { zoom: 1; }  html, body { width: 100%; background: #fff; font-family: 'Fira Sans', sans-serif; color: #000; }
@media (max-device-width: 480px) { html, body { -webkit-text-size-adjust: none; } } #header { position: fixed; left: 0px; top: 0px; z-index: 99; width: 100%; background: rgba(255, 255, 255, 0.98); }
#header > div { position: relative; margin: 0 auto; width: 100%; max-width: 1382px; }
#header img.logo { display: block; margin: 0; padding: 15px 0; max-width: 100%; }
#header ul.menu { position: absolute; right: 0px; top: 15px; text-align: center; }
#header ul.menu li { display: inline-block; position: relative; }
#header ul.menu li a { display: block; height: 20px; padding: 0 8px; line-height: 20px; font-size: 17px; font-weight: 600; color: #000; text-transform: uppercase; }
#header ul.menu li a:hover, #header ul.menu li.current-menu-item > a, #header ul.menu li.current-menu-ancestor > a { color: #7b1742; }
#header ul.menu li ul.sub-menu { position: absolute; left: 0px; top: -9999px; z-index: 99; width: 360px; padding: 10px 0; background: #fff; text-align: left; }
#header ul.menu li ul.sub-menu li { display: block; }
#header ul.menu li ul.sub-menu li a { height: auto; padding: 8px 0 0 8px; }
#header ul.menu li:hover ul.sub-menu { top: 20px; }
#header img#hamburger { display: none; position: absolute; right: 15px; top: 15px; cursor: pointer; }
.admin-bar #header { top: 32px; }
@media (max-width: 1382px) {
#header { padding-bottom: 15px; }
#header img.logo { margin: 0 auto; }
#header ul.menu { position: static; }
}
@media (max-width: 940px) {
#header img#hamburger { display: block; }
#header ul.menu { display: none; }
#header ul.menu.show { display: block; }
#header ul.menu li { display: block; padding: 8px; }
#header ul.menu li ul.sub-menu { position: static; width: auto; padding: 8px 0 0; text-align: center; }
#header ul.menu li ul.sub-menu li { padding: 8px; }
#header ul.menu li ul.sub-menu li a { padding: 0; }
#header ul.menu li ul.sub-menu li:last-child { padding-bottom: 0px; }
} #pagewrap { margin: 0 auto; width: 100%; max-width: 1679px; padding-top: 156px; }
a { color: #c80056; text-decoration: none; transition: color 0.2s }
a:hover { color: #e00060; text-decoration: underline; }
@media (max-width: 1382px) {
#pagewrap { padding-top: 191px; }
}
@media (max-width: 940px) {
#pagewrap { padding-top: 171px; }
} #hero { position: relative; width: 100%; overflow: hidden; }
#hero #spacer-horiz { margin: 0 auto; width: 100%; max-width: 1382px; }
#hero #spacer-horiz #spacer-vert { margin: 0 auto; width: 100%; height: 0px; padding-bottom: 50.6512%; }
#hero h1 { position: absolute; left: 140px; top: 50%; transform: translate(0, -50%); z-index: 1; width: 70%; 
text-align: left; font-size: 5vw; font-weight: bold; color: #fff; text-shadow: 0px 0px 20px #000; }
#hero img { display: block; position: absolute; left: 50%; top: 0px; transform: translate(-50%, 0); width: auto; height: 100%; }
#ribbon { padding: 44px 180px; background: #7b1742; text-align: center; line-height: 1.1em; font-size: 30px; font-weight: bold; color: #fff; }
@media (max-width: 1000px) {
#hero h1 { left: 50%; transform: translate(-50%, -50%); text-align: center; font-size: 7vw; }
#ribbon { padding: 30px 25px; font-size: 4vw; }
} .post { margin: 0 auto; max-width: 1382px; }
.post .content { float: right; margin-left: 40px; box-sizing: border-box; width: 60%; padding: 40px 25px; line-height: 1.4em; font-size: 19px; }
.post .content.wide { width: 100%; }
.post .content strong, .post .content b, .post a { font-weight: bold; color: #7b1742; line-height: 1.2em; }
.post .content a.button { display: inline-block; margin: 25px; padding: 20px 20px; border: 4px solid #fff; border-radius: 4px; background: #7c1843; font-size: 28px; font-weight: bold; color: #fff; }
.post .sidebar { overflow: hidden; padding: 20px 20px 40px; line-height: 1.4em; font-size: 19px; }
.post .sidebar strong, .sidebar b { color: #000 !important; }
@media (max-width: 1000px) {
.post .content { float: none; margin: 0; width: 100%; }
}
.post h2 { font-size: 30px; font-weight: bold; }
.post>:first-child { margin-top: 0px; }
.post p { margin-top: 20px; }
.post ul { margin-top: 20px; margin-left: 20px; list-style-type: disc; }
.post ol { margin-top: 20px; margin-left: 20px; list-style-type: decimal; }
.post .gallery { margin: 20px auto !important; }
.post .aligncenter { display: block; margin: 20px auto; text-align: center; }
.post img { max-width: 100%; height: auto; }
.post img.alignnone { margin: 0; vertical-align: middle; }
.post img.alignleft { display: block; float: left; margin: 0 20px 20px 0; }
.post img.alignright { display: block; float: right; margin: 0 0 20px 20px; }
.post img.aligncenter { display: block; margin: 20px auto; }
.post .wp-caption.alignnone { margin: 20px auto; background: #eaf0e0; padding: 20px !important; }
.post .wp-caption.alignleft { float: left; margin: 20px 20px 20px 0; background: #eaf0e0; padding: 20px; }
.post .wp-caption.alignright { float: right; margin: 20px 0 20px 20px; background: #eaf0e0; padding: 20px; }
.post .wp-caption.aligncenter { display: block; margin: 20px auto 20px; background: #eaf0e0 !important; padding: 20px !important; }
.post p.wp-caption-text { text-align: center; font-size: 70%; line-height: 1.2em; background: #eaf0e0; padding: 20px;}
.post hr { clear: both; margin: 20px 0; border: 0px; background: transparent; border-top: 1px solid #333; }
.post b, .post strong { font-weight: bold; }
.post em { font-style: italic; }
@media (max-width: 1000px)
{
.post img.alignleft { display: block; float: none; margin: 20px 0; }
.post img.alignright { display: block; float: none; margin: 20px 0; }
} #bottom { padding: 20px; background: url(//nfmip.com/wp-content/themes/nfmip/img/bottom-bg.png); text-align: center; }
#bottom a.button { display: inline-block; margin: 25px; padding: 20px 50px; border: 4px solid #fff; border-radius: 4px; background: #7c1843; font-size: 28px; font-weight: bold; color: #fff; }
#bottom img { display: inline-block; margin: 25px 15px; max-width: 100%; height: auto;  }
@media (max-width: 500px) {
#bottom img { margin: 25px 0; }
}
#footer { width: 100%; line-height: 1.3em; }
#footer .top { padding: 30px 0; background: #4e5a33; border-top: 1px solid #d9c695; text-align: center; font-size: 18x; color: #fff; }
#footer .top > div { margin: 0 auto; max-width: 1382px; }
#footer .top .left { float: left; margin-right: 30px; box-sizing: border-box; width: 30%; min-height: 380px; padding: 0 30px; border-right: 1px solid #e4b347; text-align: left; }
#footer .top .right { float: right; margin-left: 30px; box-sizing: border-box; width: 30%; min-height: 380px; padding: 0 30px; border-left: 1px solid #e4b347; text-align: left; }
#footer .top h2 { margin-bottom: 15px; text-transform: uppercase; }
#footer .top p { margin-bottom: 15px; }
#footer .top p img.aligncenter { display: block; margin: 0 auto; }
#footer .top .wp-caption.aligncenter { display: inline-block; margin: 0 15px; text-align: center; font-size: 90%; }
#footer .top .wp-caption.aligncenter p { font-size: 90%; }
#footer .top ul li a { display: block; padding: 3px 0; text-transform: uppercase; }
#footer .top a { color: #fff; }
#footer .top a.button { display: inline-block; padding: 8px 30px; background: #7c1842; border: 1px solid #fff; color: #fff; }
#footer .top small { font-size: 90%; }
#footer .bottom { background: #000; padding: 20px; text-align: center; font-size: 11px; color: #fff; }
#footer .bottom > div { margin: 0 auto; max-width: 1382px; }
#footer .bottom .left { float: left; }
#footer .bottom .right { float: right; }
#footer .bottom img { display: block; margin: 15px auto; }
@media (max-width: 1382px) {
#footer { text-align: center; }
#footer .top { text-align: center; }
#footer .top .left { float: none; margin: 0 auto 40px; border: 0px; width: auto; text-align: center;}
#footer .top .right { float: none; margin: 0 auto 40px; border: 0px; width: auto; text-align: center;}
#footer .bottom .left { float: none; margin-bottom: 40px; }
#footer .bottom .right { float: none; margin-bottom: 40px; }
} #slider { position: relative; width: 100%; }
#slider #spacer-horiz { margin: 0 auto; width: 100%; max-width: 1382px; }
#slider #spacer-horiz #spacer-vert { margin: 0 auto; width: 100%; height: 0px; padding-bottom: 51.2301%; }
#slider .slide { position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease; overflow: hidden; }
#slider .slide.show  { opacity: 1; }
#slider .slide img { display: block; position: absolute; left: 50%; top: 0px; transform: translate(-50%, 0); width: auto; height: 100%; }
#slider .slide h1, #slider .slide h2 { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1; width: 50%; 
text-align: center; font-size: 5.3vw; font-weight: bold; color: #fff; text-shadow: 0px 0px 20px #000; }
.home .post  { max-width: none; }
.home .post .section { position: relative; margin-top: 18px; width: 100%; height: 664px; }
.home .post .section img.bg-mobile { display: none; }
.home .post .section .content { position: absolute; top: 50%; transform: translate(0, -50%); width: 420px; line-height: 1.5em; font-size: 18px; color: #fff; text-shadow: 0px 0px 5px #000; }
.home .post .section .content h2 { margin-top: 0px; line-height: 1.1em; font-size: 42px; font-weight: 600; text-transform: uppercase; }
.home .post .section .content h3 { margin-top: 40px; font-size: 34px; font-weight: 600; }
.home .post .section .content h3 a { color: #fff; }
.home .post .section .content a.button { display: inline-block; margin: 60px 0 0; padding: 15px; border: 2px solid #fff; border-radius: 1px; background: #e4b347; font-size: 28px; font-weight: 600; color: #000; text-shadow: none; }
.home .post .section .content a.button:hover { text-decoration: none; color: #fff; }
.home .post #section1 .content, .home .post #section3 .content, .home .post #section5 .content { right: 140px; }
.home .post #section2 .content, .home .post #section4 .content, .home .post #section6 .content { left: 140px; }
.home #footer { margin-top: 18px; }
@media (max-width: 1000px) {
.home .post .section { height: auto; }
.home .post .section img.bg-mobile { display: block; width: 100%; height: auto; }
.home .post .section .content { position: static; box-sizing: border-box; width: 100%; padding: 50px 25px; transform: none;  }
.home .post #section1 { background: #4f5d36 !important; }
.home .post #section2 { background: #7e324c !important; }
.home .post #section3 { background: #859097 !important; }
.home .post #section4 { background: #e4b348 !important; }
.home .post #section5 { background: #5aa1d1 !important; }
.home .post #section6 { background: #8b9a73 !important; }
} .page-id-28 #ribbon { padding: 25px; background: #e0e0e0; text-align: center; font-size: 24px; font-weight: bold; color: #000; }
.page-id-28 .post .content { float: right; box-sizing: border-box; width: 48%; padding: 40px 25px; line-height: 1.4em; font-size: 19px; }
.page-id-28 .post .sidebar { padding: 40px 25px; line-height: 1.4em; font-size: 19px; }
.page-id-28 .post .sidebar .nf-form-cont { margin-top: 20px; }
.page-id-28 .post .sidebar .nf-form-cont .nf-form-content { margin-top: 20px; }
.page-id-28 .post .sidebar .nf-form-cont .nf-field-label { margin-bottom: 5px; }
.page-id-28 .post .sidebar .nf-form-cont .ninja-forms-field  { padding: 6px 8px; border: 1px solid #a1a1a1; border-radius: 1px; }
.page-id-28 .post .sidebar .nf-form-cont .submit-wrap .ninja-forms-field { padding: 8px 24px; border: 1px solid #7c1843; background: #7c1843; font-size: 24px; font-weight: 600; color: #fff; text-transform: uppercase; }
@media (max-width: 800px) {
.page-id-28 .post .content { float: none; margin: 0; width: 100%; }
} #map-frame { margin: 20px auto; box-sizing: border-box; max-width: 1000px; border: 4px solid #7b1742; background: #7b1742; color: #fff; }
#map-frame h2 { margin: 10px 10px 5px; font-size: 30px; font-weight: bold; }
#map-frame h3 { display: block; margin: 5px 10px 10px; font-size: 14px; font-weight: normal; }
#map-frame p { margin: 5px; font-size: 18px; }
#map-frame p input { vertical-align: middle; }
#map-frame p label { display: inline-block; margin: 10px; cursor: pointer; }
#map-frame p label input { display: inline-block; vertical-align: middle; position: relative; bottom: 2px; }
#map-frame #clear { padding-left: 10px; font-size: 15px; cursor: pointer; }
#map { box-sizing: border-box; height: 700px; width: 100%; background: #fff; }
#map img { display: block; margin:0; max-width: none !important; }
#icons { margin: 10px 0; display: none; }
#icons img { margin: 0; }
#legend { margin: 10px 0; display: none; }
#legend img { margin: 0; } #bottom a.map { display: inline-block; margin: 25px 0px; }
#bottom a.map.utility { background: url(https://nfmip.com/wp-content/uploads/2020/07/service-utility-map.png) center 500px no-repeat; }
#bottom a.map.future { background: url(https://nfmip.com/wp-content/uploads/2020/07/future-waste-hover.png) center 500px no-repeat; }
#bottom a.map.water { background: url(//nfmip.com/wp-content/themes/nfmip/img/map-water-hover.png) center 500px no-repeat; }
#bottom a.map.waste { background: url(//nfmip.com/wp-content/themes/nfmip/img/map-waste-hover.png) center 500px no-repeat; }
#bottom a.map.electric { background: url(//nfmip.com/wp-content/themes/nfmip/img/map-electric-hover.png) center 500px no-repeat; }
#bottom a.map.gas { background: url(//nfmip.com/wp-content/themes/nfmip/img/map-gas-hover.png) center 500px no-repeat; }
#bottom a.map.telecom { background: url(//nfmip.com/wp-content/themes/nfmip/img/map-telecom-hover.png) center 500px no-repeat; }
#bottom a.map:hover { background-position: center center !important; }
#bottom a.map img { display: block; margin: 0; }
#bottom a.map:hover img { visibility: hidden; } #bottom a.map.work1 { background: url(//nfmip.com/wp-content/themes/nfmip/img/work1-hover.png?1) center 500px no-repeat; }
#bottom a.map.work2 { background: url(//nfmip.com/wp-content/themes/nfmip/img/work2-hover.png?1) center 500px no-repeat; }
#bottom a.map.work3 { background: url(//nfmip.com/wp-content/themes/nfmip/img/work3-hover.png?1) center 500px no-repeat; }