input,
.StripeElement {
  background-color: white;
  border: 1px solid #444;
  border-radius: 4px;
  box-shadow: 0 1px 3px 0 #e6ebf1;
  color: #000;
  height: 40px;
  margin: 15px 0;
  padding: 10px 12px;

  -webkit-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}

input:focus,
.StripeElement--focus {
  box-shadow: 0 1px 3px 0 #000;
}

.StripeElement--invalid {
  border-color: #fa755a;
}

.StripeElement--webkit-autofill {
  background-color: #fefde5 !important;
}

.CardBrandIcon-inner svg {
	background: greenyellow;

	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

.nl_ajax_loader {
	background: rgba(0, 0, 0, 0.5) url('../images/ajax-loading-big.gif') no-repeat 50%;
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;
}

.nl-free-access {
	border: 1px solid #777;
	color: navy;
	font-style: italic;
	font-weight: bold;
	margin: 10px 0;
	padding: 10px;

	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
}

.nl-form a {
	color: #444;
}

.nl_errors {
	color: #FF0000;
	font-weight: bold;
}

.nl-overlay {
	background: rgba(0, 0, 0, 0.7);
	bottom: 0;
	display: none;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 999;
}

.nl-search-message-daily-price a {
	color: #000;
	font-weight: bold;
}

.nl-payment-button,
.nl-stripe-button {
	background: #2a83ed;
	border: 1px solid #FFF;
	color: #FFF;
	cursor: pointer;
	display: block;
	/*float: right;*/
	margin: 5px 0;
	min-width: 100px;
	padding: 10px 15px;
	text-align: center;

	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
}

.nl-payment-container {
	background: #2a83ed;
	border: 1px solid #CCC;
	clear: both;
	display: none;
	padding: 10px;
  margin: 15px 0;
  overflow: auto;
  position: relative;

	border-radius: 20px;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
}

.nl-payment-container label {
	color: #FFF;
}

.nl-payment-container h5 {
	color: #FFF;
}

.nl-paypal-button {
	float: right;
}

.nl-stripe-button {
	border-radius: 20px;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
}

.nl-stripe-button.disabled,
#nl-payment-search-button.disabled {
	cursor: not-allowed;
	opacity: 0.5;
}

.nl-payment-custom.nl-payment-container {
	display: block;
}

.nl-payment-custom .nl-stripe-custom-pay {
	float: left;
} 

.nl-stripe-result span {
	display: none;
	font-weight: bold;
}

.nl-stripe-result .error {
	color: red;
}

.nl-stripe-result .success {
	color: green;
}

.nl-stripe-errors {
	color: red;
}

.nl-timezone-info {
	display: block;
	font-style: italic;
}

.nl-user-form-container {
	background: #FFF;
	/*height: 85%;*/
	left: 50%;
	padding: 20px;
	position: absolute;
	top: 50%;
	width: 70%;

	transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

.nl-user-input {
	width: 100%;
}

.nl-user-form-confirmation {
	display: none;
}

.nl-user-form-container fieldset {
	padding: 20px;
}

.nl-user-form-container label {
	display: block;
	float: left;
	margin-right: 10px;
}

.nl-user-form-container input {
	width: 65%;
}

.nl-user-form-container input:required {
	border: 1px solid #444;
}

#nl-new-login,
#nl-new-password {
	color: #00F;
}

#nl-pay-access-overlay .nl_ajax_loader {
	background: url('../images/ajax-loading-big.gif');
	background-size: cover;
	height: 300px;
	left: 50%;
	position: absolute;
	top: 50%;
	width: 300px;

	transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

#nl-register-form-container h3 {
	padding-bottom: 0;
}

#nl-register-form label {
	padding: 3px;
}

#nl-register-form input {
	line-height: 1;
	margin: 0 auto;
}

#nl-register-form p {
	margin-bottom: 5px;
}

#nl-register-form select {
  background: #FFF;
	float: left;
	line-height: 1;
  margin-bottom: 5px;
  padding: 6px;

	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

#nl-register-form .nl-warning {
	color: #444;
	font-style: italic;
}

#nl-register-form .nl-warning span {
	color: #00F;
	font-weight: bold;
}

#nl-user-password-container {
	position: relative;
}

#nl-show-password {
	background: url('../images/eye.png') no-repeat;
	background-size: cover;
	cursor: pointer;
	display: block;
	height: 20px;
	position: absolute;
	right: 7px;
	top: 10px;
	width: 32px;
}

#nl-show-password.closed {
	background-position: left;
}

#nl-show-password.open {
	background-position: right;
}

/* search styles */
.nl-display-none,
td.nl-display-none,
th.nl-display-none,
tr.nl-display-none {
	display: none;
}

td.nl-doctype {
	text-transform: capitalize;
}

td.nl-doctype strong {
	text-transform: none;
}

.nl-access-discount {
	color: #000;
	font-weight: bold;
}

.nl-access-price {
	color: #F00;
	font-weight: bold;
}

.nl-fieldset {
	border: 1px solid #DDD;
	padding: 5px 10px; 

	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

.nl-fieldset legend {
	background: rgb(255, 255, 255, 0.5);
	color: #000;
	padding: 0 7px;

	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

.nl-form-close {
	background: url('../images/close.png') no-repeat 50%;
	background-size: cover;
	cursor: pointer;
	height: 15px;
	position: absolute;
	left: 10px;
	top: 20px;
	width: 15px;
}

.nl-hidden {
	display: none;
}

.nl-hide-form {
	background: rgb(255, 255, 255, 0.5);
	bottom: 0;
	left: 0;
	right: 0;
	position: absolute;
	top: 0;
	z-index: 99;
}

.nl-login-form-href {
	background: rgb(255, 255, 255, 0.7);
	border: 1px solid #777;
	box-shadow: none !important;
}

.nl-login-form-href:hover {
	background: #CCC;
}

.nl-login-form-href,
#nl-login-form #nl-login-submit {
	width: auto !important;
}

.nl-noscroll {
	overflow: hidden;
}

.nl-show-more {
	cursor: pointer;
	display: none;
	float: right;	
}

.nl-search-message {
	/*float: left;*/
	font-style: italic;
	line-height: 1;
	margin: -13px 0 15px 0;
}

.nl-search-message p {
	margin: 10px 0;
}

.nl-search-message-daily-price {
	font-weight: bold;
}

.nl-search-select {
	margin: 0 10px;
  transform: scale(1.5);
	-ms-transform: scale(1.5); /* IE */
  -moz-transform: scale(1.5); /* FF */
  -webkit-transform: scale(1.5); /* Safari and Chrome */
  -o-transform: scale(1.5);
}

#nl_ask_question input,
#nl_ask_question textarea {
	display: block;
  width: 95%;
}

#nl-foundpeople-confirmation-container {
	border: 1px solid #777;

	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

#nl-genealogy-search {
	position: relative;
}

#nl-genealogy-search input {
	margin: 5px 0;
}

#nl-login-form input,
a.nl-login-form-href {
	display: inline-block;
	line-height: 1.5;
	margin: 3px;
  padding: 0 10px;
  width: 200px;

	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

#nl-genealogy-search select option,
#nl-genealogy-search select.selected,
#nl_search_family_name {
	color: #000;
}

#nl-genealogy-search select {
    color: #999;
    text-transform: capitalize;
}

#nl_people_collapse_results {
	cursor: pointer;
}

#nl-persons-found,
#nl-search-request-container {
	color: #444;
}

#nl_search_family_name {
	width: 45%;
}

#nl_search_family_name::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #999;
    opacity: 1; /* Firefox */
}

#nl_search_family_name:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #999;
}

#nl_search_family_name::-ms-input-placeholder { /* Microsoft Edge */
    color: #999;
}

#nl_search_results {
	min-height: 250px;
	overflow-y: auto;
}

#nl-search-request-wrapper {
	width: 100%;
}

#nl-stripe-search-container {
	float: left;
	width: 100%;
}

#nl_search_results table {
	color: #000;
	text-align: left;
	width: 100%;
}

#nl_search_results_overlay {
	background: rgba(0, 0, 0, 0.7);
	bottom: 0;
	display: none;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 999;
}

/*#nl_search_results_pay {
	background: url('../images/pay-icon.png') no-repeat 50%;
	background-size: cover;
	bottom: 30px;
	cursor: pointer;
	height: 30px;
	position: absolute;
	right: 25px;
	width: 30px;
}*/

#nl_search_results_container {
	background: #FFF;
	left: 50%;
	height: 85%;
	/*overflow: auto;*/
	padding: 30px 20px;
	position: absolute;
	top: 50%;
	min-width: 85%;
	max-width: 100%;

	transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

#nl_search_results_container input,
#nl_search_results_container textarea {
	height: auto;
	margin: 3px auto;
	padding: 3px 10px;
}

#nl_search_results_container input[type=number] {
	max-width: 100px;
}

#nl_search_results_container .paypal-option-wrapper input[type=checkbox] {
	height: 20px;
	width: 20px;
}

#nl-total-entries {
	font-weight: bold;
}

/*.paypal-donation-form {
	color: #000;
	margin: 0 auto;
	text-align: center;
}*/

/*.paypal-donation-form h2 {
	color: #000;
  font-size: 16px;
	margin: 0;
}*/

.paypal-donation-price {
  height: 25px;
  font-size: 12px;
	width: 70px;
	display: inline-block; 
}

.paypal-option-wrapper {
	margin: 3px 10px;
  display: block;
  float: left;
  /*height: 29px;*/
}

.paypal-donation-image {
	display: block;
  margin: 5px auto;
  max-height: 50px;
}

input[type="email"].paypal-donation-email {
	max-width: 100%;
    width: 300px;
    margin: 5px auto;
    height: 30px;
}

.nl-warning {
	color: red;
	font-weight: bold;
	text-align: center;
}

#nl-genealogy-search-container {
	padding: 10px 20px 50px;
}

#nl-selected-search-results table .nl-search-.select {
	display: block;
	margin: 0 auto;
}

#nl-selected-search-results table strong {
	display: none;
}

/*#nl-selected-search-results table th,
#nl-selected-search-results table td {
	padding: 0 3px;
}*/

#nl-selected-search-results table tr:nth-child(2n) {
	background-color: #CCC;
}

#paypal-donation-email {
	max-width: 100%;
	width: 300px;
}

/*#table-wrapper {
  position:relative;
}

#table-scroll {
  height:150px;
  overflow:auto;  
  margin-top:20px;
}

#table-wrapper table {
  width:100%;

}

#table-wrapper table thead th .text {
  position:absolute;   
  top:-20px;
  z-index:2;
  height:20px;
  width:35%;
  border:1px solid red;
}
*/

/*#table-scroll thead,
#table-scroll tbody {
	display: block;
}

#table-scroll tbody {
	overflow-y: auto;
}
*/
@media (max-width: 768px) {	
	.nl-show-more {
		display: inline-block;
	}

	#nl_persons_found span,
	#nl_persons_found select {
		display: block;
		width: 100%;
	}

	#nl_search_family_name {
	    width: 60%;
	}

	#nl_search_results_container {
    left: 0;
		top: 0;
    transform: none;
	}

	#nl_search_results_overlay {
		top: 50px;
	}

	#nl-selected-search-results table tr,
	#nl-selected-search-results table th,
	#nl-selected-search-results table td,
	#nl-selected-search-results table td.nl-optional.nl-show-optional {
		display: block;
	}

	#nl-selected-search-results table td.nl-optional,
	#nl-selected-search-results table td.nl-display-none,
	#nl-selected-search-results table tr.nl-display-none,
	#nl-selected-search-results table thead tr {
		display: none;
	}

	#nl-selected-search-results table strong {
		display: inline-block;
		/*width: 130px;*/
		margin-right: 5px;
	}

	#nl_search_results {
    font-size: 12px;
	}

}

@media (max-width: 414px) {	

	#nl-genealogy-search-container {
		padding-left: 0; 
		padding-right: 0; 
	}
	
	#nl-login-form input {
		width: 100% !important;
	}

	#nl_search_results_container {
		height: 100%;
		overflow: auto;
		width: 100%;
	}

	#nl_search_results_overlay {
		overflow: auto;
	}

	#nl_search_results_pay {
		position: fixed;
	}

	#nl_search_family_name,
	#nl_search_uezd,
	#nl_search_year,
	#nl_search_submit {
		width: 100%;
	}
}