@charset "utf-8";


body { background:#fff; font-family:"Raleway", sans-serif; font-weight: normal; font-style:normal; }

img { max-width:100%; height:auto;}

h1 {
	font-size: 46px;
	font-weight: 700;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 24px;
	margin-left: 0px;
	line-height:48px;
}

h2 {
	font-size: 26px;
	font-weight: 500;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 30px;
	margin-left: 0px;
	line-height:30px;
}
h3 {
	font-size: 20px;
	font-weight: 400;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 18px;
	margin-left: 0px;
	line-height:22px;
}

h3 {
	font-size: 20px;
	font-weight: 400;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 18px;
	margin-left: 0px;
	line-height:22px;
}

p {
	font-size: 16px;
	font-weight: 300;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 18px;
	margin-left: 0px;
	line-height:22px;
}

a:link, a:visited  { color:#5d8d9b; text-decoration: none;}
a:active, a:hover  { color:#52b1cc;  }

a.biglink { background:#5d8d9b; border-radius:10px; color:#fff; display:inline-block; font-size:17px; padding:15px 30px; text-transform:uppercase;}
a.biglink:active, a.biglink:hover { opacity:0.8;}







.sitewrap { margin:auto; padding:20px 0; }

#siteheader { display:flex; flex-wrap:nowrap; justify-content:space-between; align-items:center; margin:auto; max-width:1600px; padding:15px 30px; }

#contentwrap { padding: 0; margin:auto 0; color:#fff;}


.cswmItem {cursor: pointer;}
.cswmItemOn{cursor: pointer;}
.cswmPopupBox{cursor: pointer;}
.cswmExpand{cursor: pointer;}
.cswmPB{cursor: pointer;}

.navBarContainer{display : none;}
.navBar{display : none;}
.navBar:link{display : none;}
.navBar:visited{display : none;}
.navBar:HOVER{display : none;}


div.bigtextlink { position:absolute; left:0; top:200px; width:240px;}

.bigtextlink a:link, .bigtextlink a:visited { background:#55818d; border-radius:6px; color:#fff; display:block; font-size:16px; font-weight:400; margin:0; padding:10px 14px; text-decoration:none;}
.bigtextlink a:hover { background:#3d5f68; }


#home-search-results .company-logo { position:absolute; top:initial; left:initial; margin-top:30px; max-width:240px;}

span.bigtextlink a:link, span.bigtextlink a:visited { display:inline-block;}




.tooltip {
  border-radius:50%;
  border:1px solid #fff;
  position: relative;
  display: inline-block;
  opacity:1!important;
  height:30px;
  width:30px;
}

.tooltip-trigger { 
  font-size: 18px;
  font-weight: bold;
  line-height:30px;
  color: #fff; /* or change to #333 depending on background */
  cursor: help;
  display:block;
  text-align:center;
  opacity:1!important;
}

.tooltip .tooltiptext {
  visibility: hidden;
  opacity: 0;
  width: 320px;
  background-color: #333;
  color: #fff;
  text-align: left;
  padding: 8px;
  border-radius: 4px;
  position: absolute;
  z-index: 10;
  bottom: -10px;
  left: 40px;
  /*transform: translateX(-50%);*/
  transition: opacity 0.2s ease;
  pointer-events: none;
  font-size: 13px;
  line-height: 1.4;
}

.tooltip .tooltiptext::after {
  content: '';
  position: absolute;
  top: 40%;
  left: -5px;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent #333 transparent transparent;
}

.tooltip:hover .tooltiptext,
.tooltip:focus-within .tooltiptext {
  visibility: visible;
  opacity: 1;
}



.company-listing { margin:auto; margin-bottom:50px; max-width:1400px; position:relative; }
.company-listing .company-logo { position:relative; top:0; left:0; }
.company-listing .company-name { margin:40px 0 0 0; text-align:left;}
.company-listing .company-region { border-top:1px solid #ccc; border-bottom:0; margin:10px 0 0 0; padding:30px 0 15px 0;}

.company-listing .bigtextlink { position:relative; left:0; top:0; padding:0 0 20px 0; text-align:left; width:auto;}
.company-listing .bigtextlink a:link, .company-listing .bigtextlink a:visited { display:inline-block;}





.company-region { border-bottom:1px solid #ccc; padding:30px 0 20px 260px; text-align:left;}
.company-region h3 { font-weight:600;}
.company-bio { text-align:left;}








.companywrap {margin:auto; max-width:1400px;}
.companywrap, .company-details  { /*border-bottom:1px solid #ccc;*/ margin-bottom:-1px; padding:0; /*position:relative;*/ }

.companywrap ~ .companywrap, .companywrap .companywrap { border-bottom:0; padding:0}


.companywrap .company-details { padding:0; }
.company-logo { position:absolute; top:60px; left:0; max-width:240px;}
.companydetails { border-bottom:1px solid #ccc; padding:30px 0 20px 260px; text-align:left;}
.comapanyname { display:block; font-size:24px; font-weight:600; }


.search-results-label { margin:-60px 0 20px 0; text-align:center;}

.devWired { font-size:12px; padding:20px 0; text-align:center; }


#logo { max-width:360px; margin-right:80px;}

.oldnav {display:none;}



#listingindex { background:#f6f6f6; color:#606060; padding:30px; text-align:center; }
#listingindex h2 { margin:20px 0 40px 0;}
#listingindex-list {margin:auto; max-width:1600px; margin-bottom:40px; }
#listingindex-results { margin:auto; max-width:1600px;color:#707070; position:relative;}
#listingindex-list ul {  display:flex; gap:14px 4px; flex-wrap:wrap; justify-content:flex-start; list-style:disc; margin:auto; max-width:800px; padding:0;}
#listingindex-list ul li { font-size:16px; width:45%; margin:0 0 0 4%; padding:0; text-align:left;}
#listingindex-list ul li:last-of-type { border-right:0;}

#listingindex-results .companydetails:last-of-type { border-bottom:0;}


#navwrap { }


.nav { }
.nav ul { list-style:none; margin:0; padding:0;}
.nav ul li { font-weight:400; float:left; margin:0 0 0 2px; padding:0;}
.nav ul li a:link, .nav ul li a:visited { color:#5e8d9a; display:block; font-size:16px; padding:6px 20px 5px 20px;}
.nav ul li a:active, .nav ul li a:hover, .nav ul li.current { color:#355057; }

.home-content {background: #fff url(/images/NZPI-BG-cropped.jpg) no-repeat; background-size:100% auto; background-position:top center; }
.home-inner { text-align:center; margin:auto; max-width:1600px; padding:80px 10% 20px 10%;}
.home-inner2 { text-align:center; margin:auto; max-width:1600px; padding:80px 10%;}

.home-inner a:link, .home-inner a:visited, .home-inner2 a:link, .home-inner2 a:visited { color:#fff;}

p.listing-filter { display:none; text-align:center; }

#search { margin:auto; }
#searchform { margin:auto; max-width:660px; padding:0 0 60px 0}

#search-keyword { display:flex; gap:0; flex-wrap:nowrap; justify-content:center; align-items:stretch; margin:auto; padding:0 0 9px 0;}
#search-keyword input[type="text"] { border:0; border-radius:0; background:#fff; color:#666b6c; font-size:18px; font-family: "Roboto", sans-serif; margin:0; padding:26px; width:84%;}
#search-keyword input[type="text"]:focus { border:0; outline:none; background:#edf7f8; }


#search-keyword input[type="submit"] { border:0; border-radius:0; background:#c9e6e9; text-transform:uppercase; color:#666b6c; font-size:18px; padding:26px; transition:0.2s;}
#search-keyword input[type="submit"]:active, #search-keyword input[type="submit"]:hover { cursor:pointer; background:#52b1cc; color:#fff; }

#search-region-service { display:flex; gap:9px; flex-wrap:nowrap; justify-content:center; align-items:stretch; margin:auto; padding:0 0 14px 0;}
#search-region-service select { border:0; border-radius:0; background:#fff; color:#666b6c; font-size:16px; padding:10px 16px; width:50%; }
#search-region-service select:focus { background:#edf7f8;}

#search-checkgroup { display:flex; gap:10px; flex-wrap:nowrap;  align-items:center; margin:auto; margin-bottom:30px; max-width:700px; }
#search-checkgroup label { cursor:pointer; font-size:13px; font-weight:400; margin:-1px 9px 0 0; }
#search-checkgroup input[type="checkbox"] { appearance:none; -webkit-appearance:none; border:1px solid #fff; background-color:#618a94; margin:0 6px 0 0 ; padding:0; height:16px; width:16px; position:relative; vertical-align: middle;}

#search-checkgroup input[type="checkbox"]:checked { border:1px solid #c9e6e9; }


#search-checkgroup label:active, #search-checkgroup label:hover { opacity:0.7; } 
#search-checkgroup label input[type="checkbox"]:focus { border:1px solid #fff; outline:0;}

#search-checkgroup input[type="checkbox"]:checked::after { content:""; position:absolute; top:2px; left:5px; width:4px; height:7px; border:solid white; border-width: 0 2px 2px 0; transform:rotate(45deg);}


input[type="text"]::placeholder, input[type="text"] { font-family: "Roboto", sans-serif; font-size:18px; font-weight:300;}


#searchresults { background:#f6f6f6; color:#707070; margin:0; padding:40px; }


.content-width-inner {margin:auto; max-width:1600px;}
.content-width-inner-narrow { margin:auto; max-width:900px; text-align:left;}


.content2 { background:#f6f6f6; color:#707070; padding:80px; text-align:center;}
.content2 h2 { color:#000; margin-top:5px;  margin-bottom:15px; }


.colwrap { display:flex; gap:20px; flex-wrap:nowrap; justify-content:flex-start; align-items:stretch; margin:40px 15%;}
.col-1, .col-2 { background:#fff; padding:40px; position:relative; }

.col-1:before, .col-2:before { content:""; display:block; height:200px; margin:auto; width:120px; }
.col-1:before { background:url(/templates/main/images/icon-1a.png) no-repeat center center; background-size:contain; }
.col-2:before { background:url(/templates/main/images/icon-2a.png) no-repeat center center; background-size:contain; }


p.searchresultslabel { text-align:center; margin:-50px 0 0 0; padding:0 0 20px 0}

.container { max-width:100%;}

footer {
  background-color: #606060;
  color: #ffffff;
  margin-top:-20px;
  padding: 40px 40px 0 40px;
  font-size: 14px;
}

footer .container { max-width:1400px;}

footer a:link, footer a:visited {
  color: #ffffff;
  text-decoration: none;
}

footer a:hover {
  text-decoration: underline;
}

footer .logo {
  height: auto;
  margin-bottom: 20px;
}

footer .contact-container {
  margin: 20px 0;
}

footer .list-inline {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

footer .list-inline li {
  display: flex;
  align-items: center;
}

footer .list-inline i {
  margin-right: 8px;
}

.footer_socials a {
  margin-right: 10px;
  font-size: 16px;
}

footer .sponsor-container {
  margin: 40px 0;
  display:flex;
  justify-content:center;
  flex-wrap: wrap;
  gap: 30px;
}

footer .sponsor-title {
  flex: 0 0 100%;
  margin-bottom: 10px;
}

footer .sponsor-logo {
  margin: 5px 10px;
}

footer .sponsor-logo img {
  max-height: 50px;
  width: auto;
}

footer .privacy {
  text-align: right;
}

footer .row {
  margin-bottom: 20px;
}

footer .sponsor-container .sponsor-title {
    margin-top: -48px;
    flex-basis: 100%;
	border-top:1px solid #909090;
}

footer .sponsor-container .sponsor-title p {
    padding-right: 2rem;
    background-color: #5f5f5f;
    display: inline-block;
    font-size: 1.3rem;
	margin-top: -12px;
}

footer .row:last-of-type { border-top:1px solid #909090; padding:20px 0;}

footer .row:last-of-type  .col-lg-5, footer .row:last-of-type  .col-lg-4 { padding:0;}






@media only screen and (max-width: 1240px) {
/*footer .row:last-of-type .col-lg-5, footer .row:last-of-type .col-lg-4  { float:none; text-align:center; width:100%;}*/
.colwrap { margin: 40px 5%;}


.home-content {  background-size: auto auto;}



}

@media only screen and (max-width: 1040px) {
	
.sitewrap { margin: auto; max-width: 100%; padding: 20px 0;}
#logo { max-width: 360px; margin-right: 80px; margin-left:20px;}

}



@media only screen and (max-width: 940px) {
	
#siteheader { display: block;}
#logo { margin-right:20px; margin-left:20px; }
#navwrap {padding:10px 0 0 70px;}
.content2 { padding:60px; }
.colwrap { margin: 40px 0;}
}


@media only screen and (max-width: 700px) {
	
#search #searchform { margin:0 5%;}
#search-checkgroup { flex-wrap:wrap; }

.colwrap { margin: 40px 5%; flex-wrap: wrap;}

.companydetails { position:relative;}
.company-logo { position:relative; top:0; margin:0 0 10px 10%; max-width:240px;}

div.bigtextlink { position:relative; top:0; margin:0 0 10px 10%;}


.companydetails { padding-left:10%; padding-right:10%;}

#home-search-results .company-logo { position:relative; margin-top:0; }
#home-search-results .companywrap { padding-top:30px; }



}


@media only screen and (max-width: 600px) {


#logo {margin:auto; max-width:90%;    }


#navwrap { padding:10px 0 0 0;}	

.nav ul { display:flex; flex-wrap:nowrap; justify-content:space-between; margin:auto; padding-left:5%; padding-right:5%;}
.nav ul li { float:none; margin:0;	}
.nav ul li a:link, .nav ul li a:visited { padding:6px 0;}

h1 { font-size:30px; line-height:34px; margin-bottom:10px;}

.company-logo, div.bigtextlink { margin-left:0;}



.companydetails { padding-left:0; padding-right:0;}
#listingindex-list ul { max-width:400px;}
#listingindex-list ul li { width:95%;}

.home-inner { padding:40px 10% 20px 10%;}
.home-inner h3 {font-size:16px; margin-bottom:10px;}
}


@media only screen and (max-width: 500px) {
.nav ul {  padding-left:0; padding-right:0;}
.content2 { padding:20px; }

#search-region-service { flex-wrap:wrap;}
#search-region-service select { width:100%;}

footer { padding:20px 20px 0 20px;}

.tooltip .tooltiptext { bottom:-36px; width:200px;}


}


@media only screen and (max-width: 400px) {
	#siteheader { padding:0 4%;}
	
	.nav ul li a:link, .nav ul li a:visited { font-size:15px; }
}