/* container-xxl */

.container-xxl {
    width: 100%;
    padding-right: 12px;
    padding-left: 12px;
    margin-right: auto;
    margin-left: auto;
}

.navbar .container-xxl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

@media (min-width: 1400px) {
    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1320px;
    }
}

/* margin & padding */

.m1 {
    margin: 1rem !important;
}

.mb1 {
    margin-bottom: 1rem !important;
}

.p1 {
    padding: 1rem !important;
}

.pb1 {
    padding-bottom: 1rem !important;
}

.modal-footer {
    padding: .5rem 1.25rem !important;
}


/* table */

.table-compact th {
    padding: 0.8rem 1rem;
}

.table-compact td {
    padding: 0.8rem 1rem;
}

/* gallery & carousel */

.gallery {
    position: relative;
}

.gallery a {
    display: block;
    position: relative;
    margin: 0 1rem 1rem 0;
    float: left;
}

.gallery a img {
    max-width: 100%;
    max-height: 300px;
    border: 1px solid #E3EBF6;
    border-radius: 0.375rem;
    padding: 0.25rem;
}

.f-carousel .f-carousel__slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

.f-carousel .f-carousel__slide img {
    max-width: 100%;
    max-height: 100%;
}

/* twitter-typeahead */

span.twitter-typeahead {
    display: inline !important;
}

span.twitter-typeahead .tt-input {
    border-style: dotted;
    border-width: 1px;
    border-color: #D2DDEC;
}

span.twitter-typeahead .tt-input:focus {
    color: #12263F;
    background-color: #FFFFFF;
    border-color: #2C7BE5;
    outline: 0;
    box-shadow: transparent;
}

span.twitter-typeahead .tt-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: 0.5rem 0;
    margin: 0 0 0;
    font-size: .9375rem;
    color: #12263f;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(18, 38, 63, .1);
    border-radius: 0.375rem;
    -webkit-animation: dropdownMenu .15s;
    animation: dropdownMenu .15s;
}

span.twitter-typeahead .tt-suggestion,
span.twitter-typeahead .tt-suggestion.tt-cursor {
    display: block;
    width: 100%;
    padding: 0.375rem 1.5rem;
    clear: both;
    font-weight: 400;
    color: #6e84a3;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}

span.twitter-typeahead .tt-suggestion.tt-cursor {
    color: #12263f;
    text-decoration: none;
    background-color: transparent;
}

/* field-group */

.field-group {
    margin-bottom: 1rem;
}

.field-group label:after {
    content: ":";
    position: relative;
    top: -1px;
    margin-left: 0.25rem;
}

.field-group.row label {
    padding-right: 0;
}

.field-group.row label.col-field-label {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    line-height: 1.5;
    margin-bottom: 0;
}

.field-group.row .field-control {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    line-height: 1.5;
}

.field-group.row .field-control .badge {
    margin-top: -0.25rem;
}

/* editorjs */

.rte-display-group .ce-header,
.rte-input-group .ce-header {
    padding: 0.5em 0 0.5rem;
}

.rte-display-group .cdx-block,
.rte-input-group .cdx-block {
    padding: 0.5em 0;
}

.rte-display-group .codex-editor__redactor {
    padding-bottom: 0 !important;
}

.rte-display-group .image-tool__caption {
    border: 0;
    box-shadow: none;
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    color: #95aac9;
}

.rte-display-group .tc-wrap--readonly {
    margin-top: 0;
}

.rte-display-group .cdx-nested-list__item:not(:last-child),
.rte-input-group .cdx-nested-list__item:not(:last-child),
.rte-display-group .cdx-nested-list__item-content:has(~.cdx-nested-list__item-children),
.rte-input-group .cdx-nested-list__item-content:has(~.cdx-nested-list__item-children) {
    padding-bottom: 0.5rem;
}

.rte-display-group .cdx-quote {
    border-left: 5px solid #2c7be5;
    margin: 0.5rem 0;
    padding: 0 0.5rem;
}

.rte-display-group .cdx-quote__text {
    border: 0;
    box-shadow: none;
    min-height: auto;
    padding-top: 0;
    padding-bottom: 0;
}

.rte-display-group .cdx-quote__caption {
    border: 0;
    box-shadow: none;
    padding-top: 0;
    padding-bottom: 0;
    text-align: right;
    color: #95aac9;
}

/* select */

.custom-select option[value=""] {
    color: #B1C2D9;
}

/* last row's margin with in a card or modal */
.card > .card-body > .row:last-child > .col > .form-group,
.card > .card-body > .row:last-child > [class*=col-] > .form-group,
.card > .card-body > .row:last-child > .col > .object > .form-group,
.card > .card-body > .row:last-child > [class*=col-] > .object > .form-group,
.card > .card-body > .row:last-child > .col > .array > .form-group,
.card > .card-body > .row:last-child > [class*=col-] > .array > .form-group,
.modal-content > .modal-body > .row:last-child > .col > .form-group,
.modal-content > .modal-body > .row:last-child > [class*=col-] > .form-group {
    margin-bottom: 0;
}

.card > .card-body > .tab-content > .tab-pane > .row > .col > fieldset > .row:last-child > .col > .form-group,
.card > .card-body > .tab-content > .tab-pane > .row > .col > fieldset > .row:last-child > [class*=col-] > .form-group {
    margin-bottom: 0;
}

.card > .card-body > .row:last-child > .col > .field-group,
.card > .card-body > .row:last-child > [class*=col-] > .field-group,
.card > .card-body > .row:last-child > .col > .object > .field-group,
.card > .card-body > .row:last-child > [class*=col-] > .object > .field-group,
.card > .card-body > .row:last-child > .col > .array > .field-group,
.card > .card-body > .row:last-child > [class*=col-] > .array > .field-group,
.modal-content > .modal-body > .row:last-child > .col > .field-group,
.modal-content > .modal-body > .row:last-child > [class*=col-] > .field-group {
    margin-bottom: 0;
}

.card > .card-body > .row:last-child > .form-group,
.card > .card-body > .row:last-child > .object > .form-group,
.card > .card-body > .row:last-child > .array > .form-group,
.modal-content > .modal-body > .row:last-child > .form-group {
    margin-bottom: 0;
}

.card > .card-body > .row:last-child > .field-group,
.card > .card-body > .row:last-child > .object > .field-group,
.card > .card-body > .row:last-child > .array > .field-group,
.modal-content > .modal-body > .row:last-child > .field-group {
    margin-bottom: 0;
}

.card > .card-body > .row:last-child.form-group,
.modal-content > .modal-body > .row:last-child.form-group {
    margin-bottom: 0;
}

.card > .card-body > .row:last-child.field-group,
.modal-content > .modal-body > .row:last-child.field-group {
    margin-bottom: 0;
}

.card > .card-body > .form-group:last-child,
.modal-content > .modal-body > .form-group:last-child {
    margin-bottom: 0;
}

.card > .card-body > .field-group:last-child,
.modal-content > .modal-body > .field-group:last-child {
    margin-bottom: 0;
}

.card > .card-body > .list-group:first-child,
.modal-content > .modal-body > .list-group:first-child {
    margin-top: -0.75rem;
}

.card > .card-body > .list-group:last-child,
.modal-content > .modal-body > .list-group:last-child {
    margin-bottom: -0.75rem;
}

.card > .card-body > div > .list-group:first-child,
.modal-content > .modal-body > div > .list-group:first-child {
    margin-top: -0.75rem;
}

.card > .card-body > div > .list-group:last-child,
.modal-content > .modal-body > div > .list-group:last-child {
    margin-bottom: -0.75rem;
}

.card > .card-body > .array-actions:last-child,
.modal-content > .modal-body > .array-actions:last-child {
    margin-bottom: 0;
}

.card > .table-responsive:last-child table {
    margin-bottom: 0;
}

/* form */

.card-wrapper.template, .array-item.template, .list-group-item.template, tr.template {
    display: none;
}

.form-editor {
    font-size: 1rem;
}

.form-editor select.is-invalid ~ .select2-container .custom-select {
    border: 1px solid #E63757;
}

.form-editor select.is-valid ~ .select2-container .custom-select {
    border: 1px solid #00D97E;
}

.form-editor .radio-input-group.is-invalid .btn-group {
    border-radius: 0.375rem;
    border: 1px solid #E63757;
}

.form-editor .radio-input-group.is-invalid ~ .invalid-feedback {
    display: block;
}

.form-editor .cascader-input-group.is-invalid .form-control {
    border: 1px solid #E63757;
}

.form-editor .cascader-input-group.is-invalid ~ .invalid-feedback {
    display: block;
}

.form-editor .cascader-input-group.is-valid .form-control {
    border: 1px solid #00D97E;
}

.form-editor .image-input-group.is-invalid ~ .invalid-feedback {
    display: block;
}

.form-editor .rte-input-group.is-invalid ~ .invalid-feedback {
    display: block;
}

.form-editor .rte-input-group {
    border-top: 1px solid #d2ddec;
    border-bottom: 1px solid #d2ddec;
    padding: 0.5rem 0;
    width: 100%;
}

.form-editor .rte-input-group.is-invalid {
    border-top: 1px solid #E63757;
    border-bottom: 1px solid #E63757;
}

.form-editor .image-input-group .image-input-result .image {
    position: relative;
    width: 150px;
    height: 150px;
    border: 1px solid #E3EBF6;
    border-radius: 0.25rem;
    padding: 0.25rem;
    float: left;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

.form-editor .image-input-group .image-input-result .image .btns {
    position: absolute;
    top: 50%;
    height: 20px;
    margin-top: -10px;
    width: 100%;
    text-align: center;
    display: none;
}

.form-editor .image-input-group .image-input-result .image .btns a {
    background-color: #EDF2F9;
    border-radius: 20px;
    line-height: 20px;
    width: 20px;
    height: 20px;
    padding: 0 5px;
    color: #12263F;
    margin-right: 0.25rem;
}

.form-editor .image-input-group .image-input-result .image:hover .btns {
    display: block;
    opacity: 0.8;
}

.form-editor .image-input-group .image-input-result .image.uploaded img {
    height: 100%;
    width: auto;
}

.form-editor .image-input-group .image-input-result .image.error {
    text-align: center;
    display: table;
}

.form-editor .image-input-group .image-input-result .image.error small {
    display: table-cell;
    vertical-align: middle;
    color: #E63757;
}

.form-editor .image-input-group .image-input-result .image.uploading .progress {
    position: absolute;
    top: 50%;
    width: 140px;
    left: 50%;
    margin-left: -70px;
}