/* Custom project css */

.tabset {
    color: var(--black-white);
    font-family: TT Fors;
}

.tabset > input[type="radio"] {
    position: absolute;
    left: -200vw;
}

.tabset .tab-panel {
    display: none;
}

.tabset > input:first-child:checked ~ .tab-panels > .tab-panel:first-child,
.tabset > input:nth-child(3):checked ~ .tab-panels > .tab-panel:nth-child(2),
.tabset > input:nth-child(5):checked ~ .tab-panels > .tab-panel:nth-child(3),
.tabset > input:nth-child(7):checked ~ .tab-panels > .tab-panel:nth-child(4),
.tabset > input:nth-child(9):checked ~ .tab-panels > .tab-panel:nth-child(5),
.tabset > input:nth-child(11):checked ~ .tab-panels > .tab-panel:nth-child(6),
.tabset > input:nth-child(13):checked ~ .tab-panels > .tab-panel:nth-child(7),
.tabset > input:nth-child(15):checked ~ .tab-panels > .tab-panel:nth-child(8) {
    display: block;
}

.vf-card__form {
    font: 16px/1.5em "Overpass", "Open Sans", Helvetica, sans-serif;
    color: var(--black-white);
    font-weight: 300;
}

.tabset > label {
    position: relative;
    display: inline-block;
    padding: 15px 15px 25px;
    border: 1px solid transparent;
    border-bottom: 0;
    cursor: pointer;
    font-weight: 600;
}

.tabset > label::after {
    content: "";
    position: absolute;
    left: 15px;
    bottom: 10px;
    width: 22px;
    height: 4px;
    background: #8d8d8d;
}

input:focus-visible + label {
    outline: 2px solid rgba(0, 102, 204, 1);
    border-radius: 3px;
}

.tabset > label:hover,
.tabset > input:focus + label,
.tabset > input:checked + label {
    color: var(--cta);
    background: rgba(255, 0, 255, 0.20);
}

.tabset > label:hover::after,
.tabset > input:focus + label::after,
.tabset > input:checked + label::after {
    background: var(--black-white, #FFF);
}

.tabset > input:checked + label {
    margin-bottom: -1px;
}

.tab-panel {
    padding: 30px 0;
    border-top: 1px solid #ccc;
}

vf-field-input .vf-field__row,
vf-field-select .vf-field__row,
vf-field-select-multiple .vf-field__row,
vf-field-date .vf-field__row {
    height: auto;
    min-height: 76px;
}

.mdc-text-field-helper-line {
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: 16px;
}

.mdc-select-helper-text {
    margin-bottom: 16px;
    font-size: 10px;
}

.customErrorClass {
    padding-left: 16px;
    padding-right: 16px;
    font-size: smaller;
    color: #FF0000;
    display: block !important;
}

.file .customErrorClass {
    margin-left: 7em;
}

.attachment-formset {
    margin-bottom: 1em;
}


.file-custom, .photo-custom {
    position: absolute;
    text-align: left;
    top: 0;
    right: 0;
    left: 0;
    z-index: 5;
    padding: .5rem 1rem;
    line-height: 1.5;
    color: #555;
    font-family: TT Fors;
    border: .075rem solid #ddd;
    border-radius: .25rem;
    box-shadow: inset 0 .2rem .4rem rgba(0, 0, 0, .05);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin-bottom: 40px;
    width: auto;
    min-width: 200px
}

.file-custom:before, .photo-custom:before {
    position: absolute;
    top: -.075rem;
    right: -2rem;
    bottom: -.075rem;
    z-index: 6;
    display: block;
    content: attr(data-before-content);
    padding: .65rem 1rem;
    border-radius: 4px;
    background: var(--cta) !important;
    color: #FFF !important;
    text-align: center;
    font-family: TT Fors;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 1.25px;
    text-transform: uppercase;
}

.file-custom:after, .photo-custom:after {
    content: attr(data-content);
    color: var(--black-white);
}

.file {
    position: relative;
    display: inline-block;
    cursor: pointer;
    height: 2.5rem;
    margin-bottom: 20px;
}

.vf-list__table-cell-numeric, .vf-list__table-header-numeric {
    text-align: left;
}

#quotas-table th {
    text-align: left;
}

.modal-open {
    overflow: hidden
}

.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    display: none;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    outline: 0
}

.modal.fade .modal-dialog {
    -webkit-transition: -webkit-transform .3s ease-out;
    -o-transition: -o-transform .3s ease-out;
    transition: transform .3s ease-out;
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    -o-transform: translate(0, -25%);
    transform: translate(0, -25%)
}

.modal.in .modal-dialog {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0)
}

.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: 10px
}

.modal-content {
    position: relative;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid #999;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 6px;
    outline: 0;
    -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
    box-shadow: 0 3px 9px rgba(0, 0, 0, .5)
}

.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    background-color: #000
}

.modal-backdrop.fade {
    filter: alpha(opacity=0);
    opacity: 0
}

.modal-backdrop.in {
    filter: alpha(opacity=50);
    opacity: .5
}

.modal-header {
    padding: 15px;
    border-bottom: 1px solid #e5e5e5
}

.modal-header .close {
    margin-top: -2px
}

.modal-title {
    margin: 0;
    line-height: 1.42857143
}

.modal-body {
    position: relative;
    padding: 15px
}

.modal-footer {
    padding: 12px;
    text-align: right;
    border-top: 1px solid #e5e5e5
}

.modal-footer .btn + .btn {
    margin-bottom: 0;
    margin-left: 5px
}

.modal-footer .btn-group .btn + .btn {
    margin-left: -1px
}

.modal-footer .btn-block + .btn-block {
    margin-left: 0
}

.modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll
}

@media (min-width: 768px) {
    .modal-dialog {
        width: 600px;
        margin: 30px auto
    }

    .modal-content {
        -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
        box-shadow: 0 5px 15px rgba(0, 0, 0, .5)
    }

    .modal-sm {
        width: 300px
    }
}

@media (min-width: 992px) {
    .modal-lg {
        width: 900px
    }
}

@media (min-width: 768px) {
    .modal-dialog {
        width: 600px;
        margin: 30px auto
    }

    .modal-content {
        -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
        box-shadow: 0 5px 15px rgba(0, 0, 0, .5)
    }

    .modal-sm {
        width: 300px
    }
}

@media (min-width: 992px) {
    .modal-lg {
        width: 900px
    }
}

.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    word-wrap: normal;
    white-space: normal;
    filter: alpha(opacity=0);
    opacity: 0;
    line-break: auto
}

input[data-file]::after {
    content: attr(data-file);
    margin-left: 0.375em;
}

.hidden-block {
    display: none;
}

#id_first_name_control, #id_last_name_control, #id_middle_name_control,
#id_pref_first_name_control, #id_pref_last_name_control, #id_pref_first_name_en_control,
#id_pref_last_name_en_control {
    text-transform: capitalize;
}

#id_filter_drawer {
    z-index: 4;
}

@media print {
    .no-print-id-card-holder {
        display: none !important;
        visibility: hidden !important;
    }

    #no-print-id-card-holder, #no-print-mass-card-holder {
        display: none !important;
        visibility: hidden !important;
    }

    #next-page {
        page-break-after: always;
    }

    .id-card-holder-hidden {
        width: 340px;
        margin: 0 auto;
        background-color: #ffffff;
        border-radius: 5px;
        position: relative;
        display: block !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}

.vf-card__header {
    color: var(--black-white);
}

.no-print-id-card-holder {
    padding: 4px;
    margin: 0 auto;
    background-color: #ffffff !important;
    border-radius: 5px;
    position: relative;
}


.id-card {
    background-color: #fff;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 0 1.5px 0px #b9b9b9;
}

.id-card img {
    margin: 0 auto;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

.header img {
    width: 100px;
    margin-top: 15px;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

.photo img {
    width: 150px;
    margin-top: 10px;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

.privilege {
    width: 50px;
    margin-top: 20px;
}

.h2 {
    font-size: 15px;
    margin: 5px 0;
}

.h3 {
    font-size: 12px;
    margin: 2.5px 0;
    font-weight: 300;
}

.qr-code img {
    width: 50px;
}

.p {
    font-size: 5px;
    margin: 2px;
}

#no-print-id-card-holder {
    display: flex;
}

.id-card-holder-hidden {
    display: none;
}

#transit_info_block, #arrival_info_block, #visa_support_info_block {
    padding-left: 1rem;
    padding-right: 1rem;
}

#displayed_image, #displayed_scan {
    overflow: hidden;
    display: block;
}

.image-prev, .scan-prev {
    object-fit: cover;
    max-width: 425px;
    margin-bottom: 1em;
    overflow: hidden;
}

.responsive {
    width: 100%;
    height: auto;
}

.image-prev[src], .scan-prev[src] {
    border: solid 1px #CCC;
}

#id_photo-error, #id_scan-error, #id_emblem-error, #id_representative_consent_scan-error {
    left: 1em;
    margin-left: 0;
}

.genderErrorClass {
    color: red;
    margin: 1em;
    font-size: smaller;
}

.ui-datepicker-month {
    margin-right: 10px;
}

.ui-datepicker-calendar {
    text-align: center;
}

#agreement_section {
    margin: 1rem;
}

.vf-list__table thead th {
    white-space: initial;
}

.mass-printing > * {
    margin: 1em;
    width: 384px;
    display: inline-block;
}

.vf-list__action-selected {
    color: var(--black-white);
}

div.acr-footer, div.acr-footer {
    display: none;
}


.resizing-table > thead > tr > th {
    position: relative;
}

.resizer {
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    cursor: col-resize;
    user-select: none;
    border-right: 1px solid var(--cta, #F0F);
}

.resizer:hover,
.resizing {
    border-right: 2px solid blue;
}

.resizable {
    border: 1px solid gray;
    height: 100px;
    width: 100px;
    position: relative;
}

.uid-column {
    width: 100px;
}

.id-column {
    width: 50px;
}

.ui-datepicker {
    z-index: 1000 !important;
}

.confirmation-text {
    text-align: center;
}

@media (min-width: 992px) {
    .modal-lg {
        max-width: 800px
    }
}

.modal-content {
    background: var(--public-form);
}

table.display {
    margin: 0 auto;
    width: 100%;
    clear: both;
    table-layout: fixed !important;
    display: table-header-group;
}


.vf-list__filter-form .mdc-notched-outline--notched + .mdc-select__selected-text-container > .mdc-select__selected-text {
    color: var(--black-white) !important;
}


.sidebar-gradient {
    background-image: url("../img/back_vector.af90eb7a6e0e.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% top;
}

#id_apply_before[error] .mdc-text-field-helper-text {
    color: red;
}

#massImportResultModal .modal-body {
    max-height: calc(100vh - 210px);
    overflow-y: auto;
}


.extended-filter-apply {
    float: right;
}


.extended-filter-back, .extended-filter-reset {
    float: left;
}

.change-extended-filter {
    text-align: left !important;
}

.v_list__filter-actions {
    display: block !important;
}

.main-badge {
    width: 90mm;
    height: 135mm;
    position: relative;
}

.image-box {
    width: 35mm;
    height: 42mm;
    position: absolute;
    top: 17.87mm;
    left: 7.51mm;

    background-size: cover;
}

.category-box {
    width: 75.675mm;
    height: 8.08mm;
    position: absolute;
    top: 80.261mm;
    left: 7.51mm;
    font-family: TT Autonomous-ExtraBold, 'TT Autonomous ExtraBold';
    color: #ffffff;
    text-align: center;
    font-size: 22.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.address-title-box {
    height: 3.45mm;
    position: absolute;
    top: 60.821mm;
    left: 7.51mm;
    font-size: 9.82pt;
    font-family: TT Fors-Bold, 'TT Fors';
    font-weight: bold;

}


.first-name-ru-box {
    height: 3.45mm;
    position: absolute;
    top: 65.821mm;
    left: 7.51mm;
    font-size: 9.82pt;
    font-family: TT Fors-Bold, 'TT Fors';
    font-weight: bold;

}

.last-name-ru-box {
    height: 2.76mm;
    position: absolute;
    top: 69.222mm;
    left: 7.51mm;
    font-size: 7.85pt;
    font-family: TT Fors-Bold, 'TT Fors';
    font-weight: bold;
}

.first-name-en-box {
    height: 3.45mm;
    position: absolute;
    top: 67.269mm;
    left: 7.51mm;
    font-size: 9.82pt;
    font-family: TT Fors-Bold, 'TT Fors';
    font-weight: bold;

}

.last-name-en-box {
    height: 2.76mm;
    position: absolute;
    top: 70.67mm;
    left: 7.51mm;
    font-size: 7.85pt;
    font-family: TT Fors-Bold, 'TT Fors';
    font-weight: bold;

}

.functional-role-box {
    top: 74.67mm;
    left: 7.51mm;
    position: absolute;
    font-size: 6pt;
    font-family: TT Fors-Bold, 'TT Fors';
}

.organization-box {
    position: absolute;
    top: 76.67mm;
    left: 7.51mm;
    font-size: 6pt;
    font-family: TT Fors-Bold, 'TT Fors';
}

.acr-zones-box {
    width: 53.881mm;
    height: 22.665mm;
    position: absolute;
    top: 90.582mm;
    left: 7.51mm;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

}

.acr-zone-box {
    border: 1px solid black;
    text-align: center;
    line-height: 12.057mm;
    width: 12.057mm;
    height: 11.057mm;
    margin-right: 0.551mm;
    margin-left: 0;
    font-family: 'PHGTL';
    font-size: 31pt;
    margin-bottom: 0.551mm;
}

.qr-box {
    width: 17.492mm;
    height: 18.406mm;
    position: absolute;
    top: 92.679mm;
    left: 64.421mm;

}

.card-number-box {
    position: absolute;
    top: 110.079mm;
    left: 64.421mm;
    font-size: 8.36pt;
    font-family: TT Fors-Bold, 'TT Fors';
    font-weight: bold;
}

.phygital-id-box {
    position: absolute;
    top: 90.215mm;
    left: 64.421mm;
    font-size: 5.53pt;
    font-family: TT Fors-Bold, 'TT Fors';

}

.event-objects-box {
    position: absolute;
    top: 25.316mm;
    right: 7mm;
}


.event-object-box {
    text-align: center;
    border: 1px solid black;
    width: 11.057mm;
    height: 5.933mm;
    margin-bottom: 1.28mm;
    font-family: TT Autonomous-Bold, 'TT Autonomous Bold';
    font-size: 9pt;
    line-height: 5.933mm;
}

.privileges-box {
    position: absolute;
    display: flex;
    justify-content: flex-end;
    top: 19.099mm;
    right: 7mm;
    width: 23.597mm;
    height: 4.937mm;
}

.privilege-box {
    display: inline-block;
    height: 4.937mm;
    margin-left: 0.7mm;
}

.privilege-image {
    height: 4.937mm;
}

.tribunes-box {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    top: 62.74mm;
    right: 7mm;
    width: 40.597mm;
    height: 10.351mm;
}

.tribune-box-inside {
    display: inline-block;
    border: 1px solid black;
    height: 10.351mm;
    width: 10.351mm;
    margin-left: 0.7mm;
    font-family: TT Autonomous-Bold, 'TT Autonomous Bold';
    line-height: 10.351mm;
    text-align: center;
    font-size: 25pt;
}

.card-period-box {
    position: absolute;
    top: 16.87mm;
    left: 43.646mm;
    font-size: 7.82pt;
    font-family: TT Fors-Bold, 'TT Fors';
    font-weight: bold;
}

.modal-custom-style {
    overflow-x:hidden;
}

#id_filter_drawer, .mdc-drawer__content {overflow: unset;}
#id_filter_drawer .mdc-menu-surface--fullwidth {
    width: max-content;
    min-width: 220px;
    max-width: 600px;
    right: 0;
    left: auto !important;
}

#tab0:checked ~ .tab-panels #general_info_tab,
#tab1:checked ~ .tab-panels #configuration_tab {
  display: block;
}
