@font-face {
	font-family: 'nlicons';
	src:url('../fonts/nlicons/nlicons.eot');
	src:url('../fonts/nlicons/nlicons.eot?#iefix') format('embedded-opentype'),
		url('../fonts/nlicons/nlicons.woff') format('woff'),
		url('../fonts/nlicons/nlicons.ttf') format('truetype'),
		url('../fonts/nlicons/nlicons.svg#nlicons') format('svg');
	font-weight: normal;
	font-style: normal;
}

/* general style for the form */
.nl-form {
}

.nl-form ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* normalize the input elements, make them look like everything else */
.nl-form input,
.nl-form select,
.nl-form input.nl-selector,
.nl-form select.nl-selector {
	border: none;
	background: transparent;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	font-weight: inherit;
	line-height: inherit;
	display: inline-block;
	padding: 0;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.nl-form input.nl-selector:focus {
	outline: none;
}

/* custom field (drop-down, text element) styling  */
.nl-field {
	display: inline-block;
	position: relative;
}

.nl-field.nl-field-open {
	z-index: 10000;
}

/* the toggle is the visible part in the form */
.nl-field-toggle,
.nl-form input,
.nl-form select  {
	line-height: inherit;
	display: inline-block;
	color: #90BBE3;
	cursor: pointer;
	border-bottom: 1px dashed #90BBE3;
    font-family: PSanBold;  
}

.nl-field-toggle span.arrow {
    position: relative;
    top: -7px;
}

.nl-field-toggle:hover {
	color: #3C557D;
}
/* Use this code pen to change the colour: https://codepen.io/sosuke/pen/Pjoqqp; */
.nl-field-toggle:hover span.arrow img {
	filter: brightness(0) saturate(100%) invert(30%) sepia(9%) saturate(2834%) hue-rotate(178deg) brightness(95%) contrast(85%);
}
.nl-field-toggle span.option_help {
	display: none;
}

/* drop-down list / text element */
.nl-field ul {
	position: absolute;
	visibility: hidden;
	background: #90BBE3;
	left: -0.5em;
	top: 50%;
	font-size: 80%;
	opacity: 0;
	-webkit-transform: translateY(-40%) scale(0.9);
	-moz-transform: translateY(-40%) scale(0.9);
	transform: translateY(-40%) scale(0.9);
	-webkit-transition: visibility 0s 0.3s, opacity 0.3s, -webkit-transform 0.3s;
	-moz-transition: visibility 0s 0.3s, opacity 0.3s, -moz-transform 0.3s;
	transition: visibility 0s 0.3s, opacity 0.3s, transform 0.3s;
}

.nl-field.nl-field-open ul {
	visibility: visible;
	opacity: 1;
	-webkit-transform: translateY(-50%) scale(1);
	-moz-transform: translateY(-50%) scale(1);
	transform: translateY(-50%) scale(1);
	-webkit-transition: visibility 0s 0s, opacity 0.3s, -webkit-transform 0.3s;
	-moz-transition: visibility 0s 0s, opacity 0.3s, -moz-transform 0.3s;
	transition: visibility 0s 0s, opacity 0.3s, transform 0.3s;
	-webkit-overflow-scrolling: touch;
	/*overflow: scroll;*/
	/*height: 123px;*/
}

.nl-field .ipad_arrow {
	display: none;
}
.touch .nl-field.nl-field-open.use_arrows .ipad_arrow,
.ipad .nl-field.nl-field-open.use_arrows .ipad_arrow {
	display: block;
  position: absolute;
  left: 7px;
}
.touch .nl-field.nl-field-open.use_arrows .ipad_arrow.up,
.ipad .nl-field.nl-field-open.use_arrows .ipad_arrow.up {
  top: -121px;
}	
.touch .nl-field.nl-field-open.use_arrows .ipad_arrow.up,
.ipad .nl-field.nl-field-open.use_arrows .ipad_arrow.down {
  top: 187px;
}			

.nl-field.nl-field-open ul[class^="s1-genders"],
.nl-field.nl-field-open ul[class^="s1-marital_statuses"],
.nl-field.nl-field-open ul[class^="s2-retirement_statuses"],
.nl-field.nl-field-open ul[class^="s6-exercise_frequencies"],
.nl-field.nl-field-open ul[class^="s8-veg_frequencies"],
.nl-field.nl-field-open ul[class^="s11-alcohol_frequencies"]
{
	height: 175px;
	top: 127%;
	background: transparent;
	font-size: 120%;
}
/*.nl-field.nl-field-open ul[class^="s1-ages"],
.nl-field.nl-field-open ul[class^="s2-ages-above"] {
	overflow-y: scroll;
	height: 246px;
	top: 95%;
	background: transparent;
	font-size: 120%;
}*/
.nl-field.nl-ti-text.nl-field-open ul {
}
.nl-field.nl-field-open ul[class^="s1-ages"],
.nl-field.nl-field-open ul[class^="s2-ages-above"],
.nl-field.nl-ti-text.nl-field-open ul[class^="s5-cm"] {
	top: 92%;
}
.nl-field.nl-field-open ul[class^="s12-household_super"]
{
	height: 175px;
	top: -90%;
	background: transparent;
	font-size: 190%;
}


.nl-field.nl-field-open .nl-field-toggle {
	opacity: 0.1;
}

/* The emerging W3C standard
   that is currently Firefox-only */
.nl-field.nl-field-open ul {
  scrollbar-width: thin;
  scrollbar-color: #3C557D #90BBE3;
}

/* Works on Chrome/Edge/Safari */
.nl-field.nl-field-open ul::-webkit-scrollbar {
  width: 12px;
}
.nl-field.nl-field-open ul::-webkit-scrollbar-track {
  background: #90BBE3;
}
.nl-field.nl-field-open ul::-webkit-scrollbar-thumb {
  background-color: #3C557D;
  border-radius: 20px;
  border: 3px solid #90BBE3;
}


.nl-field ul li {
	color: #3C557D;
	position: relative;
}
.nl-field ul li:hover {
	color: #90BBE3;
}

.nl-dd ul li {
	padding: 0 1.5em 0 0.5em;
	cursor: pointer;
	white-space: nowrap;
	line-height: 1.1;
}

.nl-dd ul li.nl-dd-checked {
	color: #90BBE3;
}

.no-touch .nl-dd ul li:hover {
	background: rgba(0,0,0,0.05);
}

.no-touch .nl-dd ul li:hover:active {
	color: #90BBE3;
}

/* icons for some elements */
.nl-dd ul li.nl-dd-checked:before,
.nl-submit:before,
.nl-field-go:before {
	font-family: 'nlicons';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
}

.nl-dd ul li.nl-dd-checked:before {
	content: "\e000";
	position: absolute;
	right: 1em;
	font-size: 50%;
	line-height: 2.5;
}

.nl-ti-text ul {
	min-width: 8em;
} 

.nl-ti-text ul li.nl-ti-input input {
	width: 68%;
	padding: 0.2em 2em 0.2em 0.5em;
	border-bottom: none;
	color: #fff;
}
.nl-ti-text ul li.nl-ti-input input:focus {
	outline: none;
}

.nl-form .nl-field-go {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	cursor: pointer;
	background: rgba(0,0,0,0.1);
	width: 1.8em;
	text-align: center;
	color: transparent;
	border: none;
}

.nl-field-go:before {
	content: "\e001";
	font-size: 75%;
	color: #fff;
	width: 100%;
	line-height: 2.5;
	display: block;
}

/* custom placeholder color */
input::-webkit-input-placeholder {
	color: rgba(255,255,255,0.8);
}

input:active::-webkit-input-placeholder ,
input:focus::-webkit-input-placeholder {
	color: rgba(255,255,255,0.2);
}

input::-moz-placeholder {
	color: rgba(255,255,255,0.8);
}

input:active::-moz-placeholder,
input:focus::-moz-placeholder {
	color: rgba(255,255,255,0.2);
}

input:-ms-input-placeholder {  
	color: rgba(255,255,255,0.8);
}

input:active::-ms-input-placeholder ,
input:focus::-ms-input-placeholder {
	color: rgba(255,255,255,0.2);
}

/* example field below text input */
.nl-ti-text ul li.nl-ti-example {
	font-size: 40%;
	font-style: italic;
	font-weight: 400;
	padding: 0.4em 1em;
	color: rgba(0,0,0,0.2);
	border-top: 1px dashed rgba(255,255,255,0.7);
}

.nl-ti-text ul li.nl-ti-example em {
	color: #fff
}

/* submit button */
.nl-submit-wrap {
	margin-top: 0.4em;
}

.nl-form .nl-submit {
	line-height: 3;
	text-transform: uppercase;
	cursor: pointer;
	position: relative;
	background: #76C3BD;
	color: #fff;
	padding: 0 1em 0 0;
	font-size: 40%;
	font-weight: bold;
	letter-spacing: 3px;
}

.nl-submit:before {
	content: "\e001";
	color: #fff;
	float: left;
	padding: 0 0.7em;
	margin: 0 0.8em 0 0;
	background: #69B1A9;
}

.no-touch .nl-form .nl-submit:hover,
.no-touch .nl-form .nl-submit:active {
	background: #69B1A9;
}

.no-touch .nl-form .nl-submit:hover:before {
	background: #58a199;
}

/* overlay becomes visible when a field is opened */
.nl-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.95);
	opacity: 0;
	z-index: 9999;
	visibility: hidden;
	-webkit-transition: visibility 0s 0.3s, opacity 0.3s;
	-moz-transition: visibility 0s 0.3s, opacity 0.3s;
	transition: visibility 0s 0.3s, opacity 0.3s;
}

.nl-field.nl-field-open ~ .nl-overlay {
	opacity: 1;
	visibility: visible;
	-webkit-transition-delay: 0s;
	-moz-transition-delay: 0s;
	transition-delay: 0s;
}

@media screen and (max-width: 45em) {
	.nl-form {
		font-size: 3em;
	}
}

@media screen and (max-width: 25em) {
	.nl-form {
		font-size: 2em;
	}
}
