/* King Loose & Co. Stylesheet. Designed By Taupo Ltd. Mobile first. */

 
/*RESET*/
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,dialog,div,dl,dt,em,embed,fieldset,figcaption,figure,font,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,html,i,iframe,img,ins,kbd,label,legend,li,main,mark,menu,meter,nav,object,ol,output,p,pre,progress,q,rp,rt,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video,xmp{border:0;margin:0;padding:0;font-size:100%;}html,body{height:100%;}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block;}b,strong{font-weight:bold;}img{color:transparent;font-size:0;vertical-align:middle;-ms-interpolation-mode:bicubic;}ul,ol{list-style:none;}li{display:list-item;}table{border-collapse:collapse;border-spacing:0;}th,td,caption{font-weight:normal;vertical-align:top;text-align:left;}q{quotes:none;}q:before,q:after{content:"";content:none;}sub,sup,small{font-size:75%;}sub,sup{line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}svg{overflow:hidden;}


/* ------------------------------------------------------------*/
/* ---------------- G L O B A L   D E F A U L T S -------------*/
/* ------------------------------------------------------------*/


:root {
  --nav-bg-color: #29405A;
  --nav-txt-color: white;
  --footer-bg-color: #29405A;
  --footer-txt-color: white;
  --body-main-color: #1B263B;
}




html { font-family:sans-serif;-ms-text-size-adjust:100%; box-sizing: border-box; -webkit-text-size-adjust: 100%;}

/* forces box-sizing to be inherited by descendents of html -- ie everything. Can be overidden for specific elements. */
*, *:before, *:after {
  box-sizing: inherit;
  outline: none;
} 

:focus {outline:none;}
::-moz-focus-inner {border:0;}

* {
  margin: 0; ;
}



body, br, li, dt, dd, th, td, option {
  margin-top: 0;
}

textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
	-webkit-appearance: none;
	border-radius: 0;
}

img {flex-shrink: 0;} /*ie11 fix for image distortion in flex containers*/


input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not[type="file"] {
	border: 1px solid #838383; -webkit-appearance: none;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not[type="file"]:hover {
	border: 1px solid #000;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not[type="file"]:focus {
	border: 1px solid #0078D7;
}


input.input-text-readonly { 
  background: #efefef;
 cursor: not-allowed;

}

input:read-only::-webkit-outer-spin-button,
input:read-only::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}


/* ------------------------------------------------------------*/
/* --------------------- S I T E   S E T U P ------------------*/
/* ------------------------------------------------------------*/

html { font-size: 60%; } 


body {
    font: 1.6rem/1.6 Inter, "Helvetica Neue", Helvetica, Arial, sans-serif; 
    color: var(--body-main-color);
    letter-spacing: 0.06em;
}


h1 {
  font-size: 2.6rem;
	margin: 0 0 2.6rem 0;
	font-weight: 200;
	letter-spacing: 0.05em;
}


h2 {
  font-size: 2.4rem;
  font-weight: 200;
  letter-spacing: 0.05em;

  
}

h3 {
  font-size: 2rem;
  font-weight: 200;
  letter-spacing: 0.05em;
 
}

h4 {
	font-size: 1.65rem;
	font-weight: bold;
}

p + p {margin-top: 1em}

a, a:link, a:visited {color: inherit; text-decoration: none}
a:hover {text-decoration: underline}


/* ------------------------------------------------------------*/
/* ---------- S E T U P   F O R M   E L E M E N T S -----------*/
/* ------------------------------------------------------------*/

input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]) {
	border: 1px solid #DBDBDB;
	font-family: inherit;
	color: inherit;
	padding: 5px 7px;
	border-radius: 3px;
	letter-spacing: 0.05em
}

input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):hover {
	border: 1px solid #bbb; 
}

input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):focus {
	border: 1px solid #111; 
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
  padding: 5px;
  margin: 0;
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  cursor: inherit;
  line-height: inherit;
  z-index: 1;
  outline: none;
}
select::-ms-expand {
  display: none;
}

.select {
  display: grid;
  grid-template-areas: "select";
  -webkit-box-align: center;
          align-items: center;
  position: relative;
  min-width: 15ch;
  max-width: 30ch;
  border: 1px solid #DBDBDB;
  border-radius: 3px;
  padding: 5px 7px;
  font-size: 1.25rem;
  cursor: pointer;
  line-height: 1.1;
  background-color: #fff;
  
}
.select select, .select::after {
  grid-area: select;
}

.select:hover {border-color: #bbb}

.select:not(.select--multiple)::after {
  content: "";
  justify-self: end;
  width: 0.8em;
  height: 0.5em;
  background-color: #bbb;
  -webkit-clip-path: polygon(100% 0%, 0 0%, 50% 100%);
          clip-path: polygon(100% 0%, 0 0%, 50% 100%);
}

select:focus + .focus {
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  border: 1px solid #bbb;
  border-radius: inherit;
}

select[multiple] {
  padding-right: 0;
  height: 6rem;
}
select[multiple] option {
  white-space: normal;
  outline-color: var(--select-focus);
}

.select--disabled {
  cursor: not-allowed;
  background-color: #eee;
}



#callback p {margin:  1em 0; font-size: 85%;}


.row {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px,1fr));
	grid-column-gap: 2em;
	grid-row-gap: 1em;
	margin: 0 0 1em 0;
}

.row .block {
	display: flex;
	flex-direction: column;
	font-family: inherit;
	margin-right: 0;
	flex-basis: 320px;
}

.col13 {
	grid-column: 1/3;
}



/* ------------------------------------------------------------*/
/* ---------------- C O R E   S T R U C T U R E ---------------*/
/* ------------------------------------------------------------*/

.wrapper {
	overflow: hidden;
	width: 100%;
	left: 0;
	top: 0;
	position: absolute;
	padding: 0;
}

.container {margin: 0; max-width: 1400px; margin-left: auto; margin-right: auto;}


/*!! FIX FOR MOBILE (and iPad portrait?) !! */
.content-grid {
	display: grid;
	
}

.base-content {
	padding:  0 10px;
	margin-top:  2em;
}


.page-content {
	margin-top: 40px;
	grid-column: content;
	padding: 0 10px;
}

.page-content a {text-decoration: underline; text-decoration-style: dashed;}
.page-content.home a {text-decoration:  none}
.page-content a:hover {text-decoration: underline; text-decoration-style: solid;}

.page-content .hp-services a {text-decoration:  none}
.page-content .hp-services a:hover {text-decoration: underline; text-decoration-style: solid;}

.page-sidebar {
	grid-column: sidebar;
	padding: 0 10px;
}

.side-affiliations {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2em;
	justify-content: center;
	margin: 4em 0;
	padding: 0 2em;
}

.side-affiliations img {
	max-height: 100px;
	object-fit: contain;
	width: 100%;
	height: auto;
}

.page-content h2 {margin: 1.5em 0}
.page-sidebar h2 {margin: 0 0 2.6rem 0; line-height:  1.4}

.page-content ul {
	margin: 1em 0;
}

.page-content li {
	margin-left: 3em;
	margin-bottom: 0.5em;
	list-style-type: disc;
}

.page-content ol li {
	list-style-type: number;
}
/* ------------------------------------------------------------*/
/* ----------------------- H E A D E R ------------------------*/
/* ------------------------------------------------------------*/

.top-bar {
	display: flex;
	justify-content: space-between;
	height: 120px;
	margin-top: 5px;
}

.branding, .branding a {
	display: flex;
}

.branding img {padding: 10px 10px 15px 10px; max-height: 100%; width: auto; max-width: 280px; object-fit: contain;}

/* ---- TOP NAV ---- */



/* ==============
    MOBILE 1ST: Main
   ============== */

.grid-container {padding: 0;}

.wrapper {overflow: hidden; width: 100%; left: 0; top: 0; position: absolute;}

.topMenuWrapper {text-align: center;}



/* ==============
    menu launch and display -- many of these require overiding in the 'non-mobile' section
   ============== */
.mainMenuWrapper { background-color: var(--nav-bg-color); height: 36px; position: relative;}

.menuTrigger {display: block; float: left; color: white; height: 27px; line-height: 27px;  margin-left: 5px;
	padding: 0px 29px 0 0px; margin-top: 4px; background: #0B1620; border-radius: 4px; cursor: pointer; position: relative;}

.menuTrigger span::before {content: "";
    position: absolute;
    left: 8px;
    display: block;
    width: 14px;
    top: -2px;
    height: 0;
    box-shadow: 0 10px 0 1px #fff,0 16px 0 1px #fff,0 22px 0 1px #fff;}

.mainMenuWrapper nav {width: 280px; height: 100%; position: fixed; left: -280px; top: 0; background: #545454;  box-sizing: border-box;
}

.containment {-webkit-transition: -webkit-transform 500ms ease; transition: transform 500ms ease; }

.containment::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
	content: '';
	opacity: 0;
	-webkit-transform: translate3d(100%,0,0);
	transform: translate3d(100%,0,0);
	-webkit-transition: opacity 0.4s, -webkit-transform 0s 0.4s;
	transition: opacity 0.4s, transform 0s 0.4s;
	-webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
	transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}

.menuOpen .containment {
 transform: translate3d(280px, 0, 0);
 -webkit-transform: translate3d(280px, 0, 0);
}

/* only show shadow for **open** menu... */
.menuOpen .mainMenuWrapper nav {box-shadow: 5px 0 8px rgba(0,0,0,0.5); padding: 10px; finoverflow: hidden;}

.menuOpen .mainMenuWrapper li {padding: 5px 10px; font-size: 1.2em; overflow: hidden; position: relative;}
.menuOpen .mainMenuWrapper li:hover {overflow: visible;}

.menuOpen li div {
	max-height: 0;
	transition: max-height 0.5s ease; 
	-webkit-transition: max-height 0.5s ease;
	position: relative;
	overflow: hidden;

}
.menuOpen li:hover div { top: 0; max-height: 500px;}


.menuOpen .mainMenuWrapper li li {font-size: 0.8em;}
.menuOpen .mainMenuWrapper span {color: white; cursor: pointer;}
.menuOpen .mainMenuWrapper a {color: white; padding-left: 0; padding-right: 0;}

.mainMenuWrapper li span {padding-right: 1.5em;}

.mainMenuWrapper li span::after {
				width: 0;
				height: 0;
				border: 0.313em solid transparent; /* 5 */
				border-right: none;
				border-left-color: #fff;
				content: '';
				vertical-align: middle;
				display: inline-block;
				position: relative;
				right: -0.313em; /* 5 */
			}

.mainMenuWrapper li:hover span::after {border: 0.313em solid transparent; border-bottom: none;
				border-top-color: #fff;}

				
.menuOpen .containment::before {
	opacity: 1;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
	-webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
	transition-timing-function: cubic-bezier(0.7,0,0.3,1);
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}




/* ------------------------------------------------------------*/
/* ------------------- H O M E P A G E ------------------------*/
/* ------------------------------------------------------------*/


/* ---- BANNER ---- */
.hp-banner-holder {
 
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative; /*anchors the slider arrows*/
  max-height: 530px; /*needed for the overflow, below, to work*/
  overflow: hidden; /*improve loading visualisation b4 js kicks in*/

}


.hp-banner-holder-inner {width: 100%; margin: 0 auto; }
.hp-banner-graphic {background-position: center center; height: 100%; background-color: rgba(0,0,0,0.2); background-blend-mode: multiply}
.hp-banner-slider {height: 500px}
.hp-banner-slider li {height: 100%}

.hp-banner-graphic picture {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hp-banner-graphic img {object-fit: cover; width: 100%; height: 100%}


.hp-banner-text {
	margin: 0 auto;
	height: 100%;
	max-width: 1400px;
	width: 100%;
	display: flex;
	flex-direction: column;
	color: white;
	justify-content: flex-end;
	align-items: flex-start;
	padding: 0 20px 0 20px;
	position: relative;
}

.hp-banner-text  > h2 {
	font-size: clamp(2em,calc(2em + 3.5vw),4em);
	line-height: 1.2;
	text-align: left;
	text-shadow: 1px 2px 3px rgba(0,0,0,0.5);
}

.hp-banner-text > h3 {
	font-size: clamp(1.4em,calc(3.5vw),2em);
	line-height: 1.2;
	margin: 0;
	font-style: italic;
	text-align: left;
	margin-bottom: 2em;
	text-shadow: 1px 2px 3px rgba(0,0,0,0.5);
}





.hp-banner-button-rail {max-width: 900px; display: flex; flex-wrap: wrap; justify-content: space-around; margin: -60px auto 60px auto; padding: 0 10px; position: relative; z-index: 100}
.hp-banner-button-rail a, a.simple-button, .simple-button {border: none; display: inline-flex; padding: 10px 20px; background: #727171; color: white; letter-spacing: 0.05em; text-align: center; border-radius: 5px}
.hp-banner-button-rail a:hover, a.simple-button:hover, .simple-button:hover {
	background-color: #505050;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}


ul.hp-services {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(320px,1fr));
	grid-gap: 2em;
	margin: 3em 0;
}

.hp-services li {
	padding-bottom: 2em;
	border-bottom: 1px solid #eee;
	display: flex;
	flex-direction: column;
	margin: 0;
}

.hp-services h3 {
	font-size: 1.6rem;
	line-height:  1.2;
	text-transform: uppercase;
}

.hp-services h3 a {font:  inherit; color:  inherit;}
.hp-services h3 a:hover {background:  none; color:  #000}

.hp-services p {font-size:  0.8em; margin:  1em 0; line-height:  1.2}
.hp-services div {margin-top:  auto; display:  flex; flex-direction:  column}
.hp-services span {margin-top:  20px;}
.hp-services span a {
	background: #eee;
	padding: 7px 15px;
	border-radius: 4px;
	font-size: 0.8em;
}
.hp-services span a:hover {background:  #ccc; color:  #000}



/* ------------------------------------------------------------*/
/* ------  FREE CONSULT -----*/
/* ------------------------------------------------------------*/


	.free-consult {
		margin:  40px 0 1em 0;
		padding: 1em;
		background-color: var(--nav-bg-color);
		color:  white;
		border-radius: 5px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.free-consult > * {
		text-align:  center;
	}

	button {
		display: flex;
		justify-content:  center;
		align-items: center;
		color: white;
		text-align: center;
		margin: 2em 0 1em;
		background-color: #778DA9;
		border: none;
		padding: 1em;
		border-radius: 3px;
		text-transform: uppercase;
		letter-spacing: 0.18em;
		transition: background-color 0.14s ease-in-out;
	}

	button:hover {
		cursor:  pointer;
		background-color:  #1B263B;
		flex-grow:  0;
	}

	button img {
		object-fit: contain;
		margin-right: auto;
		width: 20px;
		height: auto;
		flex-grow: 1;
		display: flex;
		margin-right: 10px;
	}





.fb-modal__rounded {
	border-radius: 16px;
	max-width: 600px !important;
	min-height: 320px;
	min-width: 300px;
	width: 85%;
}



/* ------------------------------------------------------------*/
/* ------  BUDGET -----*/
/* ------------------------------------------------------------*/


.kl-budget-holder {margin:  4em 0;}
.budget-row { 
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: stretch;
	gap: 30px;
}

.budget-description h3 {
	
	margin-bottom: 1em;

	line-height: 1;
}

.budget-description p {	
	font-weight: 200;
  font-size: 0.9em;
  line-height:  1.2;
}

.kl-budget-holder img  {
	max-height: 120px;
	width: auto;
	object-fit: contain;
	border: 5px solid white;
	box-shadow: 2px 3px 7px rgba(0,0,0,0.4);
}

.budget-row a {position: absolute; top:  0; left: 0; width: 100%; height:  100%; cursor:  pointer;}
.budget-row a:hover + img {box-shadow: 2px 3px 7px rgba(0,0,0,0.8);  }


/* ------------------------------------------------------------*/
/* ----------------------- F O O T E R ------------------------*/
/* ------------------------------------------------------------*/
footer {margin: 2em 0 0 0;  padding-top: 2em; background-color: var(--footer-bg-color); color: var(--footer-txt-color)}

footer .container {padding-bottom: 2em; }

.footer-blocks {display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-gap: 5vw}

.footer-blocks > div {display:  flex; flex-direction:  column}

.footer-blocks h2 {
	padding-bottom: 0.5em;
	margin-bottom: 1em;
	border-bottom: 1px solid #fff;
	line-height: 1.2;
}
.footer-blocks p {font-size: 0.8em;}

.footer-blocks div > ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 1em -1em;
}
.footer-blocks div > ul li {
	flex-basis: calc(50% - 2em);
	min-width: 190px;
	margin: 0.25em 1em;
}

.footer-strap {margin-top: 1em; padding-top: 1.5em; border-top: 1px solid #fff; font-size: 1.1em}


.footer-blocks div.social {margin-top:  1em}
.footer-blocks div.social ul {
	flex-direction: row;
	justify-content: flex-start;
	margin: 0;
	gap: 1em;
}
.footer-blocks div.social > ul li {
	flex-basis: unset;
	min-width: 0;
	margin: 0.25em 0;
}

.footer-blocks div.social img {
	width:  36px;
	opacity:  0.75;
	height:  auto;
	object-fit: contain;
	transition: opacity 0.2s ease-in-out;

}

.footer-blocks div.social img:hover {opacity:  1;  }

/* ------------------------------------------------------------*/
/* ------------------------------------------------------------*/
/* ------------------------------------------------------------*/
/* ------------------------------------------------------------*/
/* ------------------------------------------------------------*/
/* ------- D E V I C E   S P E C I F I C   @ M E D I A --------*/
/* ------------------------------------------------------------*/
/* ------------------------------------------------------------*/
/* ------------------------------------------------------------*/
/* ------------------------------------------------------------*/
/* ------------------------------------------------------------*/


/* !!!!!!! may need max widths added to some of these !!!!!!1  */


/* ------------------------------------------------------------*/
/* ------------ >= 420px wide -- landscape mobiles -------------*/
/* ------------------------------------------------------------*/


@media (min-width: 420px) {
	
	
}

@media (min-width: 600px) {
	
	
}
.container {padding-left: 10px; padding-right: 10px;}
@media (min-width: 700px) {
	.container {padding-left: 10px; padding-right: 10px;}

	.content-grid {
		display: grid;
		grid-template-columns: [content] 2.5fr [sidebar] minmax(240px,1fr);
		grid-gap: 60px;
	}
	
	/* ---- MAIN MENU ---- */


	.main-nav > ul > li {
		margin: 0 10px;
		height: 100%;
		display: flex;
		align-items: center;
		position: relative;
	}
	.main-nav > ul > li:first-child {margin-left: 0}
	.main-nav > ul > li:last-child {margin-right: 0}

	.main-nav ul li > a {letter-spacing: 0.05em; font-size: 16px; font-size: clamp(11px, 1.2vw, 17px); color: #fff; color: var(--nav-txt-color)}


	.mainMenuWrapper {height: 46px; position: relative;}

	.mainMenuWrapper nav {width: auto; height: 46px; position: static; left: 0; top: 0; background: none;}

	.mainMenuWrapper ul{
			
			display: flex;
			justify-content: space-between;
			align-items: center;
			min-height: 46px;
	    	height: 100%;
			flex-flow: row nowrap;
	}


	.mainMenuWrapper li a {
		text-decoration: none;
		display: block;
		padding: 0.4em 1em;
		line-height: 1;
		text-align: center;
		transition: background-color 0.2s ease 0s;
		border-radius: 16px;
		text-transform: uppercase;
	}


	.mainMenuWrapper li span {padding-right: 1.5em;}

	/* 1 line below overides the menu style's right pointing arrow so both normal and hover state use downpoiting arrow */
	.mainMenuWrapper li span::after {border: 0.313em solid transparent; border-bottom: none;border-top-color: #fff;}

	.mainMenuWrapper li a:hover, .mainMenuWrapper li span:hover{background-color: rgba(0,0,0,0.35); color: white; cursor: pointer; }


	.mainMenuWrapper li {position: relative; z-index: 1000; }
	
	.mainMenuWrapper li div {
		box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.3);
		border-radius: 0 0 7px 7px;
		position: absolute; 
		left: -10px; 
		top: 46px; 
		opacity: 0; 
		visibility: hidden; 
    	width: 250px;
    	padding: 10px 0; 
    	 background-color: var(--nav-bg-color);
    	transition: all 0.4s ease; transition-delay: 0.12s;
    }
    
    
    .mainMenuWrapper li:hover div::after {
		content: '';
		width: 110%;
		height: 110%;
		top: 0;
		left: -5%;
		position: absolute;
		z-index: -1;
	}

	/* hover styles... */
	
	.XXXmainMenuWrapper li:hover {overflow: visible; background-color: #383838; }
	.mainMenuWrapper li:hover span {color: #4F8E4F;}/* top-level font color on hover over submenu... */

	.mainMenuWrapper li:hover div {opacity: 1; visibility: visible;}

	/* li > li a needs different styling from parent... */
	.mainMenuWrapper ul ul {display: block; text-align: left; padding: 0 5px;}
	.mainMenuWrapper li li {padding-bottom: 0.5em; margin: 0}
	.mainMenuWrapper li li a {font-size: clamp(12px, 1.4vw, 16px); padding: 0.5em 0.5em 0.5em 1.2em; line-height: 1.2em;  text-align: left; text-transform: none}
	.mainMenuWrapper li li a:hover {}

	li.menuItem li {
	  padding: 0.2em 0;
	  display: block;
	}

	.menuTrigger {display: none;}



	.topMenuWrapper ul {
		margin-top: 40px;
		float: right;
	
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-flow: row nowrap;
		flex-flow: row nowrap;
		align-items: center;

	}

	.topMenuWrapper li {border-right: 2px solid #ccc; min-width: 70px; }
	.topMenuWrapper li:last-child {border: none;}

	.topMenuWrapper a {
		text-decoration: none;
		display: block;
		padding: 0 0.5em;
		
		line-height: 1.2em;
		color: #505050;
		font-size: 1em;
	}	

	.topMenuWrapper a:hover {color: #4F8E4F;}
	
}



@media (min-width: 768px) {
/* portrait tablets and above...*/

}

@media (min-width: 920px) {
	
	
}

@media (min-width: 1025px) {
	
	
}

@media (min-width: 1200px) {
	
	
}



  
  
/* ------------------------------------------------------------*/
/* ------------------- F A N C Y   B O X ----------------------*/
/* ------------------------------------------------------------*/
  
  
  body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}}

.fancybox-content {padding: clamp(5px,calc(3px + 4vw),44px);}