@charset "UTF-8";
/*

Fonts:
font-family: 'Open Sans', sans-serif;

font-family: "Montserrat", sans-serif;

400:regular
700:bold
800:extra-bold

Colors:

Light Grey: #e6e6e6
Blueish Grey: #768487
Light Green: #57A102
Dark Green: #336000


/* FONTS
===================================
*/

.open-sans-<uniquifier> {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}


.montserrat-<uniquifier> {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/* CSS RESET
===================================
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

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;
}
/* HTML5 display-role reset for older browsers */
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;
}


/* END OF CSS RESET
=================================== */

@-ms-viewport { width:device-width; }
@viewport { width:device-width; }

html { background-color:#fff; font-size:62.5%; /* font-size 1em = 10px on default browser settings */ }
body, html { height:100%; }

body {
    font-family:'Open Sans', sans-serif;
    color:#444;
	hyphens:none;
    word-break:break-word;
	font-size:1.6rem;
	line-height:1.5em;
}

h1 { font-family: "Montserrat", sans-serif; font-weight:700; line-height:1.25em; hyphens:none; word-break:break-word; }
h2, h3 { font-family: "Open Sans", sans-serif; font-weight:800; line-height:1.25em; hyphens:none; word-break:break-word; }
h4, h5, h6 { font-family: "Open Sans", sans-serif; font-weight:700; line-height:1.25em; hyphens:none; word-break:break-word; }

h3, h4, h5, h6 { margin:0; padding:0.5em 0; }

h1 { font-size:4.8rem; }
h2 { font-size:4rem; }
h3 { font-size:3.2rem; }
h4 { font-size:2.8rem; }
h5 { font-size:2rem; }
h6 { font-size:1.8rem; }

p { font-weight:400; margin:0; padding:1em 0; hyphens:none; word-break:break-word; }
a { color:#57a102; font-weight:700; outline:none; text-decoration:none; transition:300ms; }
a:hover { text-decoration:underline; color:#336000; }

strong { font-weight:700; }
em { font-style:italic; }

.small { font-size:80%; }
small { font-size:80%; }

sub, sup {
    font-size:75%;
    line-height:0;
    position:relative;
    vertical-align:baseline;
	top:-0.5em;
}

ul { padding:0 0 0 2em; margin:1em 0; }
ul li { list-style-type:disc; padding:0.4em 0; font-weight:400; }

ol { list-style-type:decimal; padding:0 0 0 2em; }
ol li { list-style-type:decimal; padding:0.4em 0; font-weight:400; }
ol ol { list-style-type:lower-alpha; }
ol ol li { list-style-type:lower-alpha; }

code { background-color:rgba(0,0,0,0.1); font-size:1.4rem; font-weight:600; width:90%; margin:1em auto; padding:1em; }

img { border:none; }
img.center { text-align: center; margin:0 auto; display:block; }
img.width { width:95%; }


.ft-img { background-color:#e6e6e6; }
.ft-img img { width:100%; height:auto; }
.red { color:#fe0105; }

.highlight { background-color:#cccc00; padding:1em 2em; }
.highlight a { color:#000; }

.bsearch_highlight { background:#ffff00; padding:0.2em; }


.flex { display:flex; }
.inner { max-width:1280px; width:100%; margin:0 auto; }


.two-column { flex-direction:row; flex-wrap:nowrap; gap:4em; align-items:flex-start; justify-content:space-between; }
.left-column { width:50%; }
.right-column { width:40%; background-color:rgba(255, 255, 255, 0.5); padding:2em; box-shadow:1px 2px 2px rgba(0, 0, 0, 0.4); }

.one-column h1, .left-column h1 { margin:0 0 1em; }

.right-column p { padding:0.5em 0; }
.right-column ul { margin:0; width: 90%; }

.right-column hr { border-bottom:none; border-color:transparent; margin:1em 0; }

.content-wrap { padding:2em 0 4em; background-color:#e6e6e6; }



/* Styles for the phone class on click to call links. Don't want these to look like links on the desktop version */
.phone { text-decoration:none; }
.phone:hover { text-decoration:none; color:inherit; }


/* Flex styles ========= */
.home-page { flex-direction:row; gap:4em; flex-wrap:wrap; margin:2em 0; }
.home-page .left-column { width:50%; }
.home-page .right-column { background-color:rgba(255,255,255,0.8); border-radius:10px; width:40%; padding:2em; box-shadow:1px 2px 4px rgba(0,0,0,0.2); }


.private-locators { flex-direction:row; gap:4em; flex-wrap:wrap; }
.private-locators div { background-color:rgba(255,255,255,0.8); box-shadow:1px 2px 4px rgba(0,0,0,0.4); border:1px solid rgba(0,0,0,0.3); border-radius:10px; width:45%; padding:2em; }
.private-locators div h2, .private-locators div h3, .private-locators div h4 { padding:0; }



/*
=========================
NOTIFICATIONS BAR
======================== */

.notification-bar { /*background:#c93300; background:#333;*/ width:100%;position:relative; z-index:999; }

.notification-bar button {
    background-color:transparent;
    font-size:1.5rem;
    outline:none;
    position:absolute;
    top:0;
    right:0;
    /* Comment out display:none; to turn toggle button back on */ display:none;
}

.pressed img { transition:transform 0.2s; transform-style: preserve-3d; }
.pressed.open img { transform: rotate(45deg); /* Equal to rotateZ(45deg)*/ }

.notification-bar #notifications {
    width:100%;
    background:#ecffe5;
    padding:2em 0;
    margin:0;
    /* Comment out display:none; to turn Notification bar back on */ display:none;
}

.notification-bar #notifications .notify-wrap { width:70%; color:#5c5e60; text-align:center; margin:0 auto; }
.notification-bar #notifications .notify-wrap h2, .notification-bar #notifications .notify-wrap h3, .notification-bar #notifications .notify-wrap h4 { padding:0; margin:0; }
.notification-bar #notifications .notify-wrap p { padding:0.4em 0; margin:0; line-height:1.25em; }
 



/*
=========================
HEADER STYLING - TOP AREA
=========================
*/

#container header { background-color:transparent; padding:0 0 2em; }
header { background-color:#fff; display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-around; }

#branding { order:1; width:45%; padding:1em 0 0 1em; }
.top { order:2; width:45%; text-align:right; }
/*
.language { order:2; width:45%; }
#search { order:3; width:45%; }
*/
.nav { order:3; width:100%; position:relative; }

header #branding #site-title a {
	background-image: url(/wp-content/uploads/2025/06/nd811-logo.png);
	width:200px;
	height:112px;
	padding:112px 0 0;
	overflow:hidden;
	display:block;
	font-size:1%;
	color:#fff;
}


.language ul, .language ul li { list-style-type:none; }
.language ul li { display:inline; }

.language #menu-language-select {}
.language #menu-language-select li {}
.language #menu-language-select li a { background-repeat:no-repeat; background-position:0 0; padding:0 0 0 40px; margin:0 1em 0 0; font-size:1.3rem; }

header.english .language #menu-language-select li.en a { background-image:url(/wp-content/uploads/2025/06/en-flag-ico-sm.png); }
header.english .language #menu-language-select li.es a { background-image:url(/wp-content/uploads/2025/06/es-flag-ico-sm.png); }

header.spanish .language #menu-language-select li.en a { background-image:url(/wp-content/uploads/sites/3/2025/06/en-flag-ico-sm.png); }
header.spanish .language #menu-language-select li.es a { background-image:url(/wp-content/uploads/sites/3/2025/06/es-flag-ico-sm.png); }


#search form { display:flex; flex-direction:row; justify-content:flex-end; width:100%; }
#search form label { width:100%; }

#search input { border:1px solid #d1d1d1; background-color:#f7f7f7; padding:1em; width:80%; font-size:1.5rem; color:#666; }

header.english #search input.search-submit { background-image: url(/wp-content/uploads/2025/06/search-ico-es.png); }
header.spanish #search input.search-submit { background-image: url(/wp-content/uploads/sites/3/2025/06/search-ico-es.png); }

#search input.search-submit {
	background-repeat:no-repeat;
	background-position:50% 50%;
	border:none;
	background-color:#000;
    padding:49px 0 0;
	width:50px;
	height:0;
	overflow:hidden;
	display:block;
	cursor:pointer; 
}
#search input.search-submit:before {
    content:"\f400";
    font-size:24px;
    left:2px;
    line-height:42px;
    position:relative;
    width:40px;
}



/*
=========================
NAVIGATION
=========================
*/
nav { padding:1em 0; }
#menu-main-nav {
	margin:0;
	padding:0;
	list-style-type:none;
	position:relative;
	width:100%;
	text-align:center;
	z-index:100;
}
#menu-main-nav li { list-style-type:none; padding:0; display:inline; position:relative; }
#menu-main-nav li a {
	font-family:"Montserrat", sans-serif;
	font-size:1.5rem;
	line-height:1.25em;
	font-weight:700;
	text-transform:uppercase;
	color:#1a1a1a;
	padding:1em;
	display:inline-block;
	text-align:center;
	hyphens:none;
	word-break:break-word;
	position:relative;
}
#menu-main-nav li a:hover { text-decoration:none; color:#57a102; }
header.spanish #menu-main-nav li a { font-size:1.3rem; }

#menu-main-nav li.current-page-ancestor a,
#menu-main-nav li.current_page_item a,
#menu-main-nav li.current-page-parent a { background:#57a102; color:#fff; }


#menu-main-nav li:hover .sub-menu { display:block; position:absolute; left:0; top:1.5em; z-index:200; text-align:left; }
#menu-main-nav .sub-menu {
	display:none;
	background-color:rgba(255,255,255,1.0);
	margin:0;
	padding:0;
	border-left:1px solid #d1d1d1;
	border-right:1px solid #d1d1d1;
	border-top:1px solid #d1d1d1;
	width:320px;
}
#menu-main-nav .sub-menu li { border-bottom:1px solid #d1d1d1; display:block; }


#menu-main-nav .sub-menu li a { text-align:left; width:100%; background-color:transparent; color:#1a1a1a; }
#menu-main-nav .sub-menu li a:hover { text-decoration:none; color:#57a102; }

#menu-main-nav .sub-menu li.current_page_item a { background:#57a102; color:#fff; }


/* Mobile Nav
===================== */

.menu-toggle { display:none; }

button#mobile-menu {
    margin:2em auto 1em;
	padding:1em;
	font-size:1.5rem;
	text-transform:uppercase;
	border:none;
    background:#57a102;
	outline:2px solid #57a102;
	font-weight:700;
    color:#fff;
	cursor:pointer;
	width:90%;
	transition:300ms;
}
button#mobile-menu.active { outline:2px solid #57a102; background-color:#fff; color:#1a1a1a; }

.menu-mobile-navigation-container { display:none; }
.menu-mobile-navigation-container.active { display:block; width:100%; margin:0 auto; padding:1em 0; transition:500ms; }

.menu-mobile-navigation-container ul { padding:0; margin:0; }
.menu-mobile-navigation-container ul, .menu-mobile-navigation-container ul li { list-style-type:none; }

.menu-mobile-navigation-container ul li { border-top:1px solid #d1d1d1; }
.menu-mobile-navigation-container ul li.current-menu-item  a { background:#57a102; color:#fff; }
.menu-mobile-navigation-container ul li a {
	font-family:"Montserrat", sans-serif;
	font-size:1.5rem;
	line-height:1.25em;
	font-weight:700;
	text-transform:uppercase;
	color:#1a1a1a;
	padding:1em 0 1em 5em;
	display:block;
}

/*
=========================
CONTENT STYLING
=========================
*/

.metaslider .flexslider { margin:0!important; }

.txt-block { border-bottom:1px solid #999; margin:1em 0; padding:1em 0; }
.txt-block.last { border-bottom:none; }
.txt-block h4, .txt-block p { margin:0; padding:0.2em 0; }

.video-block { margin:1em 0; padding:1em 0; }
.video-block h4, .video-block p { margin:0; padding:0.2em 0; }

.buttons { flex-direction:row; flex-wrap:wrap; gap:2em; }
.buttons div { flex:1 1 45%; }

.images { flex-direction:row; flex-wrap:wrap; gap:2em; }
.images div { flex:1 1 45%; }
.images div figure { margin:0!important; }
.images div img { width:100%; }


/* Button Styles */
.btn {
	background:#57a102;
	color:#fff;
	padding:1em;
	border-radius:10px;
	text-align:center;
	font-size:1.8rem;
	display:block;
	transition:300ms;
}
.btn:hover { background:#336000; text-decoration:none; color:#fff; }

.btn.md { width:45%; margin:0 auto; }
.btn.lesspd { padding:1em; }

.right-column .btn { padding:2em; }
.right-column .btn.lesspd { padding:1em; }

.search-form label input { border:1px solid #d1d1d1; background-color:#f7f7f7; padding:1em; width:80%; color:#666; font-size:1.6rem; cursor:auto; }
.search-form label input:hover { background-color:#f7f7f7; border:1px solid #d1d1d1; }
.search-form input { padding:1em; background-color:#111; width:10%; color:#fff; cursor:pointer; border:4px solid #111; }
.search-form input:hover { background-color:#444; transition:300ms; border:4px solid #444; }


.error article header,
.blog article header,
.search-results article header { display:block; }


.blog article footer.entry-footer,
.blog footer.single { background-color:transparent; }

.nav-links { display:flex; flex-direction:row; justify-content:space-between; }


/* LAZY LOAD YOUTUBE VIDEO FALLBACK STYLES */
.lite-youtube-fallback {
	aspect-ratio:16 / 9; /* matches YouTube player */
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	gap:1em;
	padding:1em;
	background-color:#000;
	color:#fff;
	text-decoration:none;
}

/* right-facing triangle "Play" icon */
.lite-youtube-fallback::before {
	display:block;
	content: '';
	border:solid transparent;
	border-width:2em 0 2em 3em;
	border-left-color:red;
}

.lite-youtube-fallback:hover::before { border-left-color:#fff; }

.lite-youtube-fallback:focus { outline:2px solid red; }

.cta h3 {}
.cta h3 a { background:#57a102; color:#fff; padding:1em; border-radius:10px; display:block; margin:0; text-align:center; font-size:1.8rem; }
.cta h3 a:hover { background:#336000; text-decoration:none; }

.board-wrap { flex-direction:row; flex-wrap:wrap; gap:4em; padding:2em 0; }
.board-member { color:#666; background-color:rgba(255,255,255,0.8); box-shadow:1px 2px 4px rgba(0,0,0,0.4); border:1px solid rgba(0,0,0,0.3); border-radius:10px; width:40%; padding:2em; }


.board-member h4 { padding:0; }
.board-member h5 { margin:0; color:#666; }

.board-member .phone { text-decoration:none; box-shadow:none; }
.board-member .phone:hover { text-decoration:none; }

details { margin:1em 0; box-shadow:1px 2px 4px rgba(0,0,0,0.2); }
details.first { margin:4em 0 0; }

details[open] summary { border-top-left-radius:10px; border-top-right-radius:10px; border-bottom-left-radius:0; border-bottom-right-radius:0; }
details summary {
	outline:none;
	cursor:pointer;
	background:rgba(255,255,255,0.8);
	padding:1em;
	border-radius:10px;
	margin:0;
	font-size:1.5em;
	font-weight:700;
	/*box-shadow:1px 1px 1px #000;*/
	}
	

details .content {
	padding:2em;
	background:rgba(255,255,255,0.8);
	border-bottom-left-radius:10px;
	border-bottom-right-radius:10px;
}
details .content p { padding:0; }

.excavator-meetings { display: flex; flex-direction:row; flex-wrap:wrap; margin:3em 0 0; }
.excavator-meetings .location { width:35%; margin:0 2em 2em 0; }

.excavator-meetings .location h4 { padding:0; margin:0 0 1em; }
.excavator-meetings .location h4 span { font-size:1.3rem; line-height:1.25em; font-weight:400; display:block; }
.excavator-meetings .location p { line-height:1.5em; padding:1em 0 0; }

/* Home Page Dashboards ====== */
.dashboards { background: rgba(255,255,255,1.0); width:100%; }
.dashboards .inner {
    max-width:1180px;
    width:100%;
    margin:0 auto;
    padding:2em;
}

.dashboards .flex {
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    gap:2em;
    justify-content:space-between;
    align-items:center;
}

.dashboards .flex .img { order:1; width:45%; }
.dashboards .flex .content { order:2; width:40%; text-align:center; }
.dashboards .flex .content h2 { padding:0; margin:0; }

.dashboards .content .btn a {
    background-color:rgba(87,161,2,1.0);
    text-transform:uppercase;
    padding:1em;
    margin:0 auto;
    border-radius:8px;
    width:50%;
    display:block;
    color:#fff;
    text-decoration:none;
}
.dashboards .content .btn a:hover { background-color: rgba(51,96,0,1.0); }


/* Home Page Promo Area  ====== */
.promo { padding:2em 0; width:100%; position:relative; background:#22211d; color:#fff; }
.promo .flex { flex-direction:row; flex-wrap:nowrap; gap:2em; }

.iticnxt { order:2; width:45%; }
.ticketsearch { order:1; width:45%; margin:0 4em 0 0; }

.promo .btn { margin:0; }

.extra-promo { padding:2em 0 0; width:100%; /*overflow:auto;*/ order:3; }
.xtra-promo { padding:0; width:100%; position:relative; }


/*
=========================
BLOG
=========================
*/

.blog .entry-title a { color:#57A102; }
.blog .entry-title a:hover { color:#444; }

.post-navigation { border-top:none; border-bottom:none; font-family:'Open Sans', sans-serif; }
.post-navigation div + div { border-top:none; }

.post-navigation .post-title { font-size:1.2rem; }
.post-navigation a { padding:0.5em 0; color:#57A102; }
.post-navigation a:hover { background-color:transparent; }

.nav-links .nav-previous:hover a,
.nav-links .nav-previous a:hover,
.nav-links .nav-next:hover a,
.nav-links .nav-next a:hover { background-color:transparent; }


.nav-links .nav-previous:hover a .post-title,
.nav-links .nav-previous a:hover .post-title,
.nav-links .nav-next:hover a .post-title,
.nav-links .nav-next a:hover .post-title { text-decoration:underline; }


.post-navigation .meta-nav { color:#111; }


.blog .site-main > article { margin:2em auto; padding:2em 0; width:80%; }


/*
=========================
FOOTER STYLING
=========================
*/
footer { background-color:#42352f; color:#fff; width:100%; position:relative; }

footer .contact { width:100%; background:#31691e; text-align:center; padding:1em 0; border-top:8px solid #111; }
footer .contact .contact-wrap { flex-direction:row; flex-wrap:wrap; justify-content:center; gap:2em; margin:1em 0; }
footer .contact .contact-block { text-align:left; width:20%; }

/*footer .contact .person { order:2; }*/

footer .contact .contact-block h5 { font-size:1.8rem; margin:0; padding:0; }
footer .contact .contact-block p { margin:0; line-height:1.5em; color:#ddd; }
footer .contact .contact-block a { color:#ddd; }

footer .extra-info { padding:2em 0; justify-content:center; flex-direction:row; flex-wrap:nowrap; gap:4em; }
footer .footer-extra-box.left  { width:20%; }
footer .footer-extra-box.mid  { width:50%; }
footer .footer-extra-box.right  { width:25%; }

footer .extra-info h4 { font-size:2.4rem; }
footer .extra-info p { color:#bbb; }

.credits { background-color:#111; width:100%; text-align:center; padding:0; color:#999; }

#menu-social-media-nav, #menu-social-media-nav li { list-style-type:none; }

#menu-social-media-nav { display:flex; flex-direction:row; gap:1em; justify-content:center; padding:0; margin:0; }
#menu-social-media-nav li a { display:block; font-size:1%; padding:30px 0 0; overflow:hidden; color:#111; }
#menu-social-media-nav li.fb a { background-image:url(/wp-content/uploads/sites/3/2025/06/fb-ico.png); width:30px; height:30px; }
#menu-social-media-nav li.x a { background-image:url(/wp-content/uploads/sites/3/2025/06/x-ico.png); width:30px; height:30px; }



/*
=========================
CALENDAR STYLING
=========================
*/

.calendar { padding:2em 0; }
.calendar iframe {}


.calendar iframe iframe span#calendarTitle { padding:0.4em; } 
.calendar iframe iframe .mv-daynames-table { background:#ccc!important;  }


/*
=========================
MISC STYLING
=========================

.error-404 { padding:4em 0; }

/* Search Results 
.no-results { padding:2em 0; }

.page-header { border-top:none; }

.site-main > article { margin:0 0 2em; }

.entry-title a { color:#57A102; font-weight:bold; outline:none; text-decoration:none; }
.entry-title a:hover { text-decoration:underline; color:#333; }

.nav-links a:hover { text-decoration:none; background-color:#57A102; }


body.postid-1702 #main .post-navigation, body.postid-1694 #main .post-navigation, body.postid-295 #main .post-navigation, body.postid-86 #main .post-navigation { display:none; }


.metaslider .slides .caption-wrap { background-color:transparent; bottom:25%; opacity:1.0; }
.metaslider .slides .caption-wrap .caption { width:70%; margin:0 auto; font-size:1.5rem; line-height:1.5em; text-align:left; overflow:auto; }

/*
.metaslider .slides .caption-wrap .caption .btn { display:block; margin:1em 0 0; }
.metaslider .slides .caption-wrap .caption .btn a { background-color:#42352f; color:#fff; text-transform:uppercase; font-size:1.18rem; padding:1em 2em; border-radius:6px; box-shadow:1px 1px 4px #333; }


.metaslider .slides .caption-wrap .caption .banner-wrap { color:#161616; width:70%; }
.metaslider .slides .caption-wrap .caption .banner-wrap h3 { font-size:2.2rem; line-height:1.25em; }
.metaslider .slides .caption-wrap .caption .banner-wrap p {}
.metaslider .slides .caption-wrap .caption .banner-wrap p.btn { float:left; display:block; margin:0 2em 0 0; }
.metaslider .slides .caption-wrap .caption .banner-wrap p.btn a { background-color:#000; color:#fff; border-radius:40px; padding:1em 2em; }
.metaslider .slides .caption-wrap .caption .banner-wrap p.btn a:hover { text-decoration:none; background-color:#333; }

