/* Element structure */

div.input, .filters {
    margin: 15px 0px;
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="color"],
textarea {
    border: solid 1px;
    font-family: inherit;
    max-width: 95%;
    line-height: 1.75em;
}

button,
select {
    font-family: inherit;
}

select[multiple] {
    min-height:150px;
}
input[type=checkbox],
input[type=radio] {
    margin-right: 0.5em;
}

textarea {
    overflow: auto;
}
textarea {
    max-width: 100%;
}

label {
    display: block;
    margin-bottom: 3px;
    line-height: 1.75;
}

.required label:first-child:after {
    content: ' *';
}

img.pre-label-icon {
    float: left;
    margin-right: 5px;
    position: relative;
    top: 1px;
}

button,
.button {
    cursor: pointer;
    position: relative;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    line-height: 1.75;
    border: none 0px;
}

.date select,
.time select,
.datetime select {
    display: inline;
    width: auto;
    margin-right: 10px;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input[type="search"] {
  -webkit-appearance: none;
}

/* Element styling */

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="color"],
textarea,
select {
    padding: 5px 7px;
    background: #e2eef2;
    color: #1a223b;
    font-size: 0.95em;
    border-radius: 4px;
    border: none 0px;
}
select {
    padding: 7px 7px 6px;
}
@media screen and (min-width: 800px) {
    select {
        padding: 8px 7px 7px;
    }
}

input::placeholder {
    color: #104f6e;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
    box-shadow: inset #fbba38 0px 0px 0px 1px;
    background: #d9f4fc;
    outline: none;
}

input[type="text"]:hover,
input[type="password"]:hover,
input[type="date"]:hover,
input[type="datetime"]:hover,
input[type="datetime-local"]:hover,
input[type="month"]:hover,
input[type="week"]:hover,
input[type="email"]:hover,
input[type="number"]:hover,
input[type="search"]:hover,
input[type="tel"]:hover,
input[type="time"]:hover,
input[type="url"]:hover,
input[type="color"]:hover,
textarea:hover,
select:hover {
    background: #e5f7fc;
}

input[type="text"]:-moz-ui-invalid,
input[type="password"]:-moz-ui-invalid,
input[type="date"]:-moz-ui-invalid,
input[type="datetime"]:-moz-ui-invalid,
input[type="datetime-local"]:-moz-ui-invalid,
input[type="month"]:-moz-ui-invalid,
input[type="week"]:-moz-ui-invalid,
input[type="email"]:-moz-ui-invalid,
input[type="number"]:-moz-ui-invalid,
input[type="search"]:-moz-ui-invalid,
input[type="tel"]:-moz-ui-invalid,
input[type="time"]:-moz-ui-invalid,
input[type="url"]:-moz-ui-invalid,
input[type="color"]:-moz-ui-invalid,
textarea:-moz-ui-invalid,
select:-moz-ui-invalid {
    box-shadow: inset #d61509 0px 0px 0px 1px;
}

input[type="text"]:focus:invalid,
input[type="password"]:focus:invalid,
input[type="date"]:focus:invalid,
input[type="datetime"]:focus:invalid,
input[type="datetime-local"]:focus:invalid,
input[type="month"]:focus:invalid,
input[type="week"]:focus:invalid,
input[type="email"]:focus:invalid,
input[type="number"]:focus:invalid,
input[type="search"]:focus:invalid,
input[type="tel"]:focus:invalid,
input[type="time"]:focus:invalid,
input[type="url"]:focus:invalid,
input[type="color"]:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
    box-shadow: inset #d61509 0px 0px 0px 1px;
}

input[type="text"]:disabled,
input[type="password"]:disabled,
input[type="date"]:disabled,
input[type="datetime"]:disabled,
input[type="datetime-local"]:disabled,
input[type="month"]:disabled,
input[type="week"]:disabled,
input[type="email"]:disabled,
input[type="number"]:disabled,
input[type="search"]:disabled,
input[type="tel"]:disabled,
input[type="time"]:disabled,
input[type="url"]:disabled,
input[type="color"]:disabled,
textarea:disabled,
select:disabled {
    color: #8c909d;
    background: #d1d3d8;
    cursor: not-allowed;
}

button,
.button {
    padding: 5px 14px;
    background: #ed1556;
    color: #FFFFFF;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.95em;
    border-radius: 4px;
    margin-bottom: 3px;
}

button + button, .button + .button, button + .button, .button + button {
    margin-left: 4px;
}

button.secondary,
.button.secondary {
    color: #fff;
    background: #067da1;
}

button.light,
.button.light {
    color: #067da1;
    background: #e4edf3;
}

button.white,
.button.white {
    color: #067da1;
    background: #fff;
}

button.accept,
.button.accept {
    color: #FFF;
    background: #1fa177;
}

button.alert,
.button.alert {
    color: #FFF;
    background: #d61509;
}

button.tiny,
.button.tiny {
    padding: 4px 8px 3px 8px;
    font-size: 0.8em;
}

button:focus,
.button:focus {
    box-shadow: inset rgba(26, 34, 59, 0.3) 0px 0px 0px 1px;
    outline: none 0px;
    background-image: linear-gradient(to bottom, rgba(228,237,243, 0.1) 0, rgba(228,237,243, 0.1) 100%);
}

button:hover,
.button:hover {
    background: #1fa177;
    color: #fff;
}

button.white:hover,
.button.white:hover {
    background: #f7fafb;
    color: #1fa177;
}

button.accept:hover,
.button.accept:hover {
    background: #1e9471;
}

button[disabled] {
    color: #99a7b0;
    background: #c5d5df;
    cursor: not-allowed;
}

fieldset {
    border: solid 1px #fcc337;
    margin: 12px 0px;
}

.required label:after {
    color: #ed1556;
    font-weight: 700;
}

.error,
.error label,
.error label.error,
.error a {
    color: #ed4b21;
}

/* Special buttons */
a.button.with-icon, button.with-icon {
    padding-left: 30px;
}
a.button.with-icon:before, button.with-icon:before {
    position: absolute;
    margin-top: 2px;
    left: 8px;
    height: 16px;
    width: 16px;
    background-size: contain;
    background-repeat: no-repeat;
}


button.only-icon, .button.only-icon {
    background: none;
    box-shadow: none;
    padding-left: 0px;
}
button.only-icon:before, .button.only-icon:before {
    left: 0px;
    width: 100%;
    color: #ed1556;
}
a.button.with-icon.only-icon:hover:before, button.with-icon.only-icon:hover:before {
    color: #1fa177;
}

button.more {
    margin-left: 10px;
}

/* Inline options */
.select.inline-options > div {
    display: inline-block;
    margin-right: 5px;
}
.radio.inline-options label[for] {
    display: inline-block;
    margin-right: 5px;
}

/* Hidden labels */
form.hidden-labels .text > label,
form.hidden-labels .select > label{
    display: none;
}


/* Togglebutton checkboxes */
.togglebuttons {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}
.togglebuttons.select .checkbox {
    margin-right: 0px;
}
.togglebuttons .checkbox label {
    padding: 2px 6px 2px;
    font-size: 0.8em;
    position: relative;
    overflow: hidden;
    text-align: center;
    width: auto;
    white-space: nowrap;
    border-radius: 4px;
}
.togglebuttons .checkbox label:before {
    content: '\25CF';
    color: #FFF;
    font-size: 22px;
    display: inline-block;
    background: rgba(150, 155, 168, 0.6);
    text-align: left;
    border-radius: 8px;
    height: 16px;
    padding: 0px 10px 0px 1px;
    width: 24px;
    line-height: 12px;
    overflow: hidden;
    margin-right: 8px;
    box-sizing: border-box;
    position: relative;
    top: 3px;
    transition: padding 0.2s;
}
.togglebuttons .checkbox label.focus {
    box-shadow: inset #fbba38 0px 0px 0px 1px;
}
.togglebuttons input {
    position: absolute;
    left: -30px;
}
.togglebuttons label:not(.selected) {
    color: #a1c2d6;
}
.togglebuttons label.selected:before {
    background: #1fa177;
    padding: 0px 1px 0px 10px;
    text-align: right;
}
.togglebuttons label.selected:hover:before {
    background: #1e886b;
}