
/* normalize the input elements, make them look like everything else */
.nl-form input,
.nl-form select {
    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: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: #ffffff;
    cursor: pointer;
}

/* drop-down list / text element */
.nl-field ul {
    position: absolute;
    visibility: hidden;
    background: #62A3D7;
    left: 7px;
    top: 50%;
    font-size: 80%;
    opacity: 0;
    min-width: 100%;
    -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;
    padding: 0;
    margin: 0;
}

.nl-field ul li {
    color: #fff;
    position: relative;
    list-style: none;
}

.nl-dd ul li {
    cursor: pointer;
    white-space: nowrap;
    list-style: none;
    padding: 10px 15px 12px;
    display: inline-block;
    width: 100%;
}
.nl-dd ul li.nl-dd-checked:hover,
.nl-dd ul li:hover {
    background: rgba(10, 30, 44, 0.7);
    color: #fff;
}

.nl-dd ul li.nl-dd-checked {
    color: #0A1E2C;
}

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

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

/* icons for some elements */
.nl-dd ul li.nl-dd-checked:before,
.nl-submit:before,
.nl-field-go:before {
    font-family: 'FontAwesome';
    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: "\f00c";
    position: absolute;
    right: 1em;
    font-size: 80%;
    line-height: 3;
    top: 1px;
}

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

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

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

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

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

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

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

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


/* submit button */
.nl-submit-wrap {
    margin-top: 17px;
    font-size: 14px;
    margin-left: 7px;
}


.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(0,0,0,0.5);
    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;
}

.nl-field-toggle {
    background: rgba(255,255,255, 0.3);
    padding: 10px 20px;
    border: 1px solid #fff;
    display: inline-block;
    margin-left: 7px;
    margin-right: 7px;
}
.nl-field-toggle a:hover {
    color: #fff;
}
.nl-field-toggle:after {
    content:'';
    background: url('../img/arrow-down.png') no-repeat;
    width: 20px;
    height: 10px;
    position: relative;
    margin-left: 15px;
    display: inline-block;
    top: -3px;

}

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

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