
@media only screen and (max-width: 1800px), screen and (max-device-width: 1800px) {

}
@media only screen and (max-width: 1300px), screen and (max-device-width: 1300px) {

}
@media only screen and (max-width: 1220px) {

	header nav .mainmenu {
		/* display: block */;
		position: relative;
		justify-content: flex-end;
		margin-top: 80px;
	} 

	header nav .mainmenu .wp-block-button {
		position: absolute;
		top: -70px;
		right: 0px;
	}

	.is-scrolled header nav .mainmenu {
		margin-top: 0px;
	} 
	.is-scrolled header nav .mainmenu .wp-block-button {
		display: none;
	}









}
@media only screen and (max-width: 1085px){




}
@media only screen and (max-width: 1000px), screen and (max-device-width: 1000px) {
	
	header #logo {
    	max-width: min(220px, 100%);
	}
	header.is-active #logo {
		background: var(--clr-white);
		padding-block: 15px;
	}
	body.is-scrolled header #logo {
/* 		width: 160px; */
		/* height: 46px; */
	}

	header {
		padding-bottom: 20px;
	}
	body.is-scrolled header {
	  height: 70px;
	  padding-bottom: 0px;
	}


/* 	.trigger-container {
		margin: 15px 0px 0 0;
	}
	body.is-scrolled .trigger-container {
		margin: 0 0px 0 0;
	} */
	body.is-scrolled header #logo {
		margin-top: 0px
	}


/* 	body.is-scrolled header.is-active .inner-header {
 		height: 100px; 
	}
 */


	header nav {
		flex: 0 1 20%;
		flex-direction: column;
		z-index: 2;
	}

 	header.is-active nav {
		width: 100vw;
		position:absolute;
		top: 0px;
		right: 0px;
		
	} 

	nav {
	  order: 1;
	  display: flex;
	  flex-direction: column;
	  z-index: 1;
	}
	header .container {
	  order: 2;
	}

	.trigger-container {
		display: block;
		position: absolute;
		top: 5px;
		right: 30px;
	}
	body.is-scrolled .trigger-container {

	}


	a.nav-trigger {
		color: var(--clr-blue);
		text-indent: -9999px;
	}


	header:not(.is-active) .mainmenu  {
		display: none;
	}


	header.is-active .mainmenu {
	  display: block !important;
	  margin-top: 0px;
	}


	.mainmenu {
	  position: absolute !important;
	  top: 100px;
	  left: 0;
	  width: 100%;
 	  height: calc(100vh); 
	  background: var(--clr-white);
	  flex-direction: column;
	  justify-content: flex-start;
	  align-items: top;
	  overflow-y: scroll;
 	  padding-block: 20px 30px;
	 /*  transition: var(--std-trans); */
	 
	}
	
	body.is-scrolled .mainmenu {
	  top: 70px;
	}
	.mainmenu ul {
	  width: 100%;
	  max-width: 1180px;
	  margin-left: auto;
	  margin-right: auto;
	  margin-bottom: 0px;
	  padding-inline: var(--gutter);
	  padding-top: 0px;
	  display: block;
	  float: none;

	}
	.mainmenu>ul>li  {
	  height: auto;
	  width: 100%;
	  z-index:100;
	  display:block;
	  padding: 0 0 20px;
	  opacity: 1;
	  margin-left: 0;

	}
	.mainmenu>ul>li>a,
	.mainmenu>ul>li.contact>a {
		font-size: 1.5em;
		font-weight: var(--font-bold);
		line-height: 40px;
		margin: 0;
		padding: 0;
		color: var(--clr-red) !important;
		background: none;
		display: block;
	}



	.home .page-banner .wp-block-column:last-child h2 {
		margin-bottom: 30px;

	}
	.home .page-banner .wp-block-column:last-child figure.wp-block-image  {
		margin-block: 0px 100px;
	}


    header .inner-header {
        height: 100px;
    }

	header nav.main-menu {
		  display: block;
	}


	.footmenu {
		display: none
	}
	.regionmenu-nz {
		column-count: 1;
		column-gap: 0;
	}
	footer .copyright {
		margin-top: 50px;
	}


	.people {
		grid-template-columns: var(--grid-2);
	}
	.insights {
    	grid-template-columns: var(--grid-3);
	}

	.wp-block-columns + .wp-block-columns {
		margin-top: 30px;
	}



	.service h3,
	.insight h3 {
		padding-left: 0px;
	}



	.home .page-banner .wp-block-columns {
		flex-direction: column;
	}
	.home .page-banner .flexslider {
		margin-bottom: 30px;
	}




	.has-text-align-right {
		text-align: left;
	}

	.is-content-justification-right {
	    justify-content: flex-start !important;
	}

	.wp-block-column:not(:first-child) {
	    margin-left: 0px;
	}
	.wp-block-column:first-child {
		margin-bottom: 20px;
	}
	.page-banner .wp-block-column:first-child {
		margin-bottom: 0px;
	}



	
	nav .footersubmenu.nav ul li a, 
	nav .footersubmenu.nav ul li a:visited {
		font-size: 0.75em;
	}

	footer .copyright p {
		margin-bottom: 0px;
	}




}
@media only screen and (max-width: 781px), screen and (max-device-width: 781px) {


	body {
		font-size: 15px !important;
	}
    header #logo {
        max-width: min(180px, 100%);
    }

	.home .page-banner .carousel p {
  		bottom: 15px;
		left:15px;
		right:15px;
		font-size: 0.9em
	}
	.home .page-banner .carousel .wp-block-button {
		right: auto;
		left: 50%;
    	bottom: -65px;
		width: 225px;
		margin-left: -112px
	}
	footer .soshylmenu ul {
		margin-block: 20px 0px;
	}
	.insights {
    	grid-template-columns: var(--grid-2);
	}

	.single-insight .main-content .wp-block-column:first-child {
		order: 2;
	}	
	.single-insight .main-content .wp-block-column:last-child {
		order: 1;
	}	


	footer .logo-row .wp-block-columns {
		position: relative;
		flex-direction: row;
	}
	footer .logo-row .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column,
	footer .logo-row .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1;
		margin-bottom: 0px;
	}
	footer .wp-block-column.byline {
		display: none
	}





}
@media only screen and (max-width: 767px), screen and (max-device-width: 767px) {
	.wp-block-buttons {
		flex-direction: column;
		row-gap: 25px;
	}
}

@media only screen and (max-width: 640px), screen and (max-device-width: 640px) {

	:root {
	  --gutter: 20px;
	  --dbl-gutter: 40px;
	}



	p, li, td {
		font-size: 1em;
	}


 	h1 {
/*     font-size: 2.5em; */
    margin-bottom: 15px;
	}
	h2 {
/*     font-size: 2em; */
	margin-bottom: 15px;
	} 
	.home h2 {
    	font-size: 2.5em;
	}
	h3 {
    font-size: 1.5em;
	} 
	h4 {
    font-size: 1.25em;
	} 

	.home h3 {
    	margin-bottom: 15px;
	}



	.home .page-banner h1 {
  		font-size:  calc(0.1em + 10vw); 
	}
	.home .page-banner h2 {
  		font-size:  calc(0.1em + 5vw); 
	}

	.alignright {
		float: left;
	}
	a.btn, a.wp-block-button__link, 
	a.wp-block-button__link:focus, 
	a.wp-block-button__link:visited, 
	input[type=submit], 
	.gform_wrapper .gform_footer input[type=submit], 
	input[type=submit].button-primary, 
	.wp-block-group.main-content .services-buttons ul li a, 
	.wp-block-group.main-content .services-buttons ul li a:visited {
		font-size: 0.9em;
		padding: 9px 18px;


	}
	.trigger-container {
		right: 20px;
	}





	
}


@media only screen and (max-width: 570px), screen and (max-device-width: 570px) {


	.flexslider {
		position: relative;
		width: 100%;
		max-width: 100%;/*  min(calc(92.4vw - var(--dbl-gutter)), calc(var(--width-wider) * 0.924)); */
	}
	.home .carousel figure {
		border-radius: 10px;
	}

	footer > .wp-block-group > .wp-block-group.footer-body {

		padding: 30px !important;
		margin-block: 0 30px;
	}

	
	.people {
		grid-template-columns: var(--grid-1);
		margin-top: 0px;
		padding-top: 0;
	}
	.people .person {
		padding-bottom: 30px;
	}
	.insights {
    	grid-template-columns: var(--grid-1);
	}


}
@media only screen and (max-width: 425px), screen and (max-device-width: 425px) {





}




@media only screen and (max-width: 424px), screen and (max-device-width: 424px) {










}

@media only screen and (max-width: 375px), screen and (max-device-width: 375px) {



}
@media only screen and (max-width: 320px), screen and (max-device-width: 320px) {



	.soshylmenu li a {
		width: 60px;
		height: 40px;
		background-size: auto 30px;

	}




}


