html { overflow-y: scroll; }

html, body { font-size: 1rem !important; }

.masthead__auth {
    color: #fff;
    display: inline-block;
    float: right;
    margin: 0;
    padding: 1.75rem 1rem;
}

.masthead__auth__action {
    background-color: #444;
    border-radius: 10px;
    color: #fff;
    display: inline-block;
    font-size: 0.9rem;
    margin: 0 0.5rem;
    padding: 0.25rem 0.5rem;
    text-decoration: none;
}

.container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

.container--title { float: left; }

.container--actions { float: right; }

.container--page {
    margin-left: auto !important;
    margin-right: auto !important;
}

.container--application {
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    width: 100% !important;
}

.container--float {
    max-width: 100% !important;
    width: 100% !important;
}

.container--application--primary { padding: 2rem 0; }

footer {
    color: #555;
    font-size: 0.9em;
    text-align: center;
}

h1, h2, h3, h4, h5 { margin-top: 0; }

.dropdown__link {
    color: #333;
    display: block;
    font-size: 0.9rem;
    margin: 0.1rem;
    padding: 0.25rem 1rem;
    text-decoration: none;
}

.dropdown__link:hover {
    background-color: #5a3859;
    color: #fff;
}

.dropdown__button {
    cursor: pointer;
    min-width: 160px;
    position: relative;
}

.dropdown__menu {
    -webkit-background-clip: padding-box;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
    background-clip: padding-box;
    background-color: #fff;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, .15);
    box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
    display: none;
    float: left;
    font-size: 14px;
    left: 0;
    list-style: none;
    margin: 2px 0 0;
    min-width: 160px;
    padding: 5px 0;
    position: absolute;
    text-align: left;
    top: 100%;
    z-index: 1000;
}

.nav li { display: list-item; }

.validation-summary-errors {
    background-color: #fcd5d0;
    margin-bottom: 1rem;
    padding: 1rem;
}

.validation-summary-errors ul {
    display: block;
    margin: 0;
    padding: 0;
}

.validation-summary-errors li {
    display: block;
    margin: 0;
    padding: 0;
}

.grid--gutters .grid__column { padding: 0 1rem; }

@media screen and (min-width: 1140px) {
    .grid--gutters .grid__column { padding: 0 1rem 0 0; }
}

@media screen and (min-width: 1140px) {
    .grid--gutters .grid__row .grid__column:first-of-type { padding-left: 0; }

    .grid--gutters .grid__row .grid__column:last-of-type { padding-right: 0; }
}

.panels {
    background-color: #fafafa;
    margin: 1rem -1rem;
    padding-top: 1rem;
}

.panel {
    background-color: #fff;
    border: 1px solid #ddd;
    margin-bottom: 1rem;
    padding: 1rem;
}

.panel__heading {
    background-color: #444;
    color: #fff;
    font-size: 1rem;
    margin: -1rem;
    margin-bottom: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
}

.panel fieldset {
    border: 0;
    margin: 0 0 1rem;
    padding: 1rem 0;
}

.form--inline-crm label {
    display: inline-block;
    padding: 0.25rem 1rem 0.25rem 0;
    text-align: left;
    vertical-align: top;
    width: 30%;
}

.form--inline-crm .data-field {
    display: inline-block;
    padding: 0.25rem 0;
    vertical-align: top;
}

.form--inline-crm { overflow-wrap: break-word; }

.data-field { display: inline-block; }

.current-step {
    color: purple;
    font-weight: bold;
}

.completed-step { color: #999; }

legend {
    border-bottom: 2px solid #eee;
    color: #5A3859;
    font-size: 1.75rem;
    padding-bottom: 0.75rem;
    width: 100%;
}

fieldset h1, fieldset h2, fieldset h3, fieldset h4 {
    border-bottom: 2px solid #eee;
    color: #5A3859;
    font-size: 1.75rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    width: 100%;
}

.message--flash { margin-top: 0; }

.button--forward {
    float: right;
    margin-left: 0.5rem;
}

.progress {
    font-size: 0.9rem;
    line-height: 1.5rem;
}

.progress ul { padding-left: 1.5rem; }

.form-control--fill { width: 100%; }

.form__field { margin-bottom: 1rem; }

.pagination {
    display: block;
    margin: 0.5rem;
    text-align: center;
    width: 100%;
}

.pagination__item {
    background-color: #dddddd;
    color: #000;
    display: inline-block;
    margin: 0.1rem;
    padding: 0.5rem;
    text-decoration: none;
}

.pagination__item--active {
    background-color: #5a3859;
    color: #fff;
}

.form__label--light { font-weight: normal; }

.field-validation-error {
    color: #CC0000 !important;
    display: inline-block;
    font-weight: bold;
    margin-bottom: 1rem;
}

.input-validation-error { border-color: #CC0000 !important; }

.bootstrap-datetimepicker-widget { display: none; }

.datepicker { background-color: #fff; }

.datepicker .table-condensed {
    background-color: #fff;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}

.table--application { font-size: 0.95rem; }

.filter__item {
    overflow-x: hidden !important;
    word-break: keep-all;
    word-wrap: normal;
}

.filter__item--limit { max-width: 6rem; }

.filter__item--fixed { max-width: 15rem; }

.dropdown__button > a {
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 5px;
    display: block;
    padding: 0.25rem 1rem;
}

.grid__row {
    clear: both;
    content: "";
    display: table;
    width: 100%;
}

.grid__column { float: left; }

.button--link { color: #777 !important; }

.start-hidden { display: none; }

.input-group-addon {
    background-color: #eee;
    border: 2px solid #ddd;
    display: inline-block;
    padding: 0.5rem;
}

.valid { border-color: #ddd !important; }

.message--info { background-color: #F8F8F8; }

@media screen and (max-width: 768px) {
    .form__element--inline { padding-right: 0; }

    .container--application { padding: 1rem 0; }

    .container--title {
        background-color: #5A3859;
        color: white;
        margin: -1rem;
        padding: 1rem 2rem;
        width: 100vw;
    }

    .input-group input { width: 70%; }

    .container--title h1 { font-size: 1.5rem; }

    .button--forward { margin-bottom: 0.5rem; }

    .checkbox__label--touch {
        display: block;
        width: 100%;
    }

    .form__element {
        display: block;
        width: 100%;
    }

    input, select, textarea { width: 100%; }

    .form__field--inline {
        display: inline-block;
        width: auto;
    }

    .button--default {
        display: inline-block;
        width: 100%;
    }

    .button--link {
        display: inline-block;
        width: 100%;
    }
}

.form__message--reason {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.fill { width: 100%; }

.text--lowercase { text-transform: lowercase; }

.optional::after {
    color: #888;
    content: "(optional)";
    display: inline-block;
    font-size: 0.9rem;
    font-weight: normal;
    margin: 0.25rem;
}

.progress__list {
    margin-bottom: 0;
    padding-left: 1.5rem;
}

.progress__list li { list-style-type: decimal; }

.form__element--date { min-width: 5.5rem; }

.form__element--year { min-width: 5.5rem; }

.message--field { margin: 0 -1rem; }

.file {
    background-color: #f6f6f6;
    border: 2px solid #ccc;
    margin-bottom: 0.5rem;
    padding: 1rem;
}

.file__type { margin-top: 1rem; }

.file__size {
    font-size: 0.9rem;
    margin: 0.25rem;
}

.file__name { font-weight: bold; }

.button--link { background: transparent; }

.form__subheading {
    border-bottom: 2px solid #eee;
    color: #5A3859;
    font-size: 1.3rem;
    margin: 2.5rem 0 1.5rem;
    padding-bottom: 0.5rem;
    width: 100%;
}

input, select {
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
}

.select {
    -moz-appearance: none;
    -ms-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    border: 0;
    margin-bottom: 0;
    padding-right: 3rem;
    position: relative;
    z-index: 10;
}

.select__wrapper {
    border: 2px solid #ddd;
    display: inline-block;
    margin-bottom: 1rem;
    position: relative;
    resize: none;
}

.select::-ms-expand { display: none; }

.select__wrapper:after {
    background: none repeat scroll 0 0 #eee;
    bottom: 0;
    color: #000;
    content: "\f078";
    font-family: 'FontAwesome';
    font-size: 1rem;
    padding: 0.75rem;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 5;
}

.form__field--day { max-width: 6rem; }

.form__field--year { max-width: 8rem; }

.button--edit {
    background-color: #eee;
    border: 1px solid #ddd;
    display: block;
    font-size: 0.9rem;
    margin: 0.25rem 0;
    padding: 0.5rem 1rem;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .button--edit {
        float: right;
        margin: 0;
        text-align: left;
    }
}

.checkbox__input--touch {
    display: inline-block !important;
    opacity: 0;
    height: 0;
    width: 0;
    min-height: 0;
    line-height: 0;
    margin: 0;
    padding: 0;
    border: 0 none;
    position: absolute;
}

.btn { transition: all 0.2s; }

.button { transition: all 0.2s; }

.button--link:focus {
    color: #fff !important;
    background-color: transparent;
    color: #5a3859 !important;
    text-decoration: none;
}

.button:hover { transition: all 0.2s; }

.button--link:hover {
    text-decoration: none;
    color: #5a3859 !important;
}

.btn:hover {
    background-color: #5a3859;
    border-color: rgba(0, 0, 0, 0);
    color: #fff;
    transition: all 0.2s;
}

.checkbox__input--touch:focus + .checkbox__label--touch { border-color: #333 !important; }

.file__header { font-size: 1.2rem; }

.button--context {
    margin: 1rem 0 0;
    padding: 0.5rem;
    font-size: 0.9rem;
}

.button--context-remove:hover {
    background-color: #a83c3c;
    color: #fff;
}

.checkbox__label--touch:hover { border-color: #333; }

.checkbox input[type="checkbox"] {
    opacity: 0;
    position: absolute;
}

.checkbox input[type="checkbox"] {
    display: inline-block;
    vertical-align: middle;
    margin: 5px;
    cursor: pointer;
}

.checkbox label { position: relative; }

.checkbox label:before {
    content: '';
    background: #fff;
    border: 2px solid #ddd;
    display: inline-block;
    vertical-align: middle;
    width: 2rem;
    height: 2rem;
    font-size: 1.5rem;
    margin-right: 10px;
    text-align: center;
    /* Firefox */
    -moz-transition: all 0.25s ease-in;
    /* WebKit */
    -webkit-transition: all 0.25s ease-in;
    /* Opera */
    -o-transition: all 0.25s ease-in;
    /* Standard */
    transition: all 0.25s ease-in;
}

.checkbox input[type="checkbox"]:checked ~ label:before {
    content: "\f00c";
    font-family: 'FontAwesome';
    background: #5a3859;
    border: 2px solid #ddd !important;
    color: #fff;
}

.checkbox input[type="checkbox"]:focus ~ label:before {
    border: 2px solid #5a3859 !important;
    color: #fff;
}

.checkbox input[type="checkbox"].input-validation-error ~ label:before { border-color: #cc0000; }

.checkbox label { cursor: pointer; }

.checkbox input[type="checkbox"]:checked ~ label {
    color: #5a3859;
    font-weight: bold;
}

.checkbox__input--touch:checked + .checkbox__label--touch { border-color: #5a3859 !important; }

.sub-form {
    background-color: #fafafa;
    border: 2px solid #ccc;
    padding: 1rem;
    margin-bottom: 1rem;
}

.sub-form__line-item {
    display: block;
    border: 1px solid #ccc;
    background-color: #fff;
    clear: both;
    margin: 0.5rem 0em;
    padding: 0.5rem;
    vertical-align: middle;
    font-size: 0.9rem;
}

.sub-form.unknown { background-color: #f54a4a; }

.button--item {
    margin: 0.5rem;
    padding: 1rem;
    background-color: #fafafa;
    border: #888 2px solid;
    color: #000;
}

.button--item:hover {
    background-color: #5a3859;
    color: #fff0f5;
}

@charset "UTF-8";


/**
 *
 * TYPEAHEAD
 *
 * To be determined.
 *
 */

.typeahead { }

.typeahead__input { margin: 0rem; }

.typeahead__container {
    position: relative;
    margin-bottom: 1rem;
    display: inline-block;
}

.typeahead__menu {
    background-color: #fafafa;
    border: 2px solid #ccc;
    border-top: 0;
    position: absolute;
    width: 100%;
    z-index: 20;
}

.typeahead__list {
    max-height: 12rem;
    overflow-y: auto;
    overflow-x: hidden;
}

.typeahead__input::-ms-clear { display: none; }

.typeahead__option { padding: 0.5rem; }

.typeahead__option:hover, .typeahead__focus:hover, .typeahead__option.selected {
    background-color: #5a3859;
    color: #ffffff;
}

.typeahead__disable { margin-top: 0.5rem; }

.typeahead__disable { cursor: pointer; }

.typeahead__option--readonly { padding: 0.5rem; }

.typeahead__reset {
    display: inline-block;
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    color: #999;
    font-weight: bold;
    cursor: pointer;
}

.form__element--inline {
    display: inline-block;
    vertical-align: top;
    padding-right: 1rem;
}

.img-container {
    width: 100%;
    background-color: #eee;
    height: 300px;
    max-height: 300px;
    max-width: 100%;
    display: none;
}

.img-cropped {
    width: 100%;
    max-width: 100%;
}

.photo-preview {
    margin: 0 auto;
    background-color: #eee;
    display: block;
    border: 2px solid #888;
    width: 105px;
    height: 135px;
}

.crop-preview {
    background-color: #eee;
    padding: 2rem;
    display: none;
}

.crop-preview--show { display: block; }

@media screen and (min-width: 768px) {
    .photo-preview {
        float: right;
        display: inline-block;
    }
}

#scale { display: none; }

#crop-reset {
    display: none;
    margin-bottom: 1rem;
}

#crop-reset.crop-reset--visible { display: block; }

.pingit__front {
    position: absolute;
    top: 10px;
    left: 10px;
}

.pingit__back {
    position: absolute;
    top: 0px;
    left: 0px;
}

.pingit__image {
    position: relative;
    width: 458px;
    height: 134px;
    display: block;
    margin: auto;
}

.pingit__container {
    padding: 2rem;
    border: 1px solid #eee;
}

.well p { margin: 0; }

.paymentlogos img { vertical-align: middle; }

@media screen and (max-width: 768px) {
    .button--default { margin-bottom: 1rem; }
}

.flex__container { }

.panel--basket {
    float: left;
    width: 40%;
}

.panel--details {
    float: left;
    width: 58%;
    margin-right: 1rem;
}

.panel--payment-info {
    float: left;
    width: 40%;
}

@media screen and (max-width: 1140px) {
    .panel { margin: 1rem; }

    .flex__container {
        display: flex;
        flex-wrap: wrap;
    }

    .panel--basket--empty { display: none; }

    .panel--basket {
        order: 1;
        width: 100%;
    }

    .panel--details {
        order: 2;
        width: 100%;
    }

    .panel--payment-info {
        order: 3;
        width: 100%;
    }
}


table {
    border: 1px solid #ccc !important;
    border-radius: 4px;
}


th, td {
    padding: 1.5rem;
    border-bottom: 0;
    font-size: 0.9rem;
}

tbody th {
    background-color: #fff;
    text-transform: uppercase;
    padding: 1rem 1.5rem;
    font-size: 0.9rem;
    color: #666;
}

td a {
    color: #5a3859;
    font-weight: bold;
    text-decoration: none;
}

.td--negative { color: #880000; }

.pagination li {
    display: inline-block;
    margin: 0.255rem;
}

.pagination li a {
    padding: 0.25rem 0.5rem;
    background-color: #ccc;
    color: #000;
    text-decoration: none;
}

.pagination li.active {
    padding: 0.25rem 0.5rem;
    background-color: #5a3859;
    color: #fff;
    text-decoration: none;
}

.modal-body .autocomplete__dropdown-arrow-down {
    z-index: 0;
}