* { box-sizing: border-box; margin: 0; padding: 0; transition: 0.5s 0.1s; }
html { font-size: 20px; height: 100%; position: relative; transition: none; width: 100%; }
body { color: #2f3338; font-family: 'Montserrat', Arial, sans-serif; font-size: 0.7rem; font-weight: 400; height: 100%; line-height: 1.5; min-width: 360px; position: relative; transition: none; }
body._enter { background: #2d346f; color: #fff; }

._col10 { width: 10%; }
._col16 { width: 16.66%; }
._col20 { width: 20%; }
._col25 { width: 25%; }
._col30 { width: 30%; }
._col33 { width: 33.333%; }
._col40 { width: 40%; }
._col45 { width: 45%; }
._col50 { width: 50%; }
._col60 { width: 60%; }
._col66 { width: 66.666%; }
._col75 { width: 75%; }
._col80 { width: 80%; }
._col100 { width: 100%; }

._container { margin: 0 auto; max-width: 2000px; min-height: 100%; min-width: 360px; padding: 0 1rem; }
._flex { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 -0.5rem; }
._flex > [class*='_col'] { padding: 0 0.5rem; }
._noGutters { margin: 0; }
._noGutters > [class*='_col'] { padding: 0; }

a { color: #2f3338; text-decoration: none; }
a:hover { color: #1466ec; }
h1 { font-size: 1.5rem; margin-bottom: 2rem; }
h2 { font-size: 1.5rem; margin-bottom: 1rem; }
h3 { font-size: 1.1rem; margin-bottom: 1rem; }
h4 { font-size: 1.1rem; margin-bottom: 1rem; }
hr { background: #e6e6e6; border: 0; height: 1px; margin-bottom: 1rem; }
p { line-height: 2; margin-bottom: 1rem; }
img { max-width: 100%; }
nav ul { margin: 0; }
nav ul > li { list-style-type: none; }
label { display: block; margin-bottom: 0.25rem; }
input { background: #fff; border: none; border-radius: 0.25rem; display: block; font-family: 'Montserrat', Arial, sans-serif; font-size: 0.75rem; font-weight: 600; line-height: 2.5rem; margin: 0 0 1.5rem; outline: none; padding: 0 1rem; -webkit-appearance: none; width: 100%; }
textarea { background: #fff; border: none; border-radius: 0.25rem; display: block; font-family: 'Montserrat', Arial, sans-serif; font-size: 0.75rem; font-weight: 600; margin: 0 0 1.5rem; min-height: 2.5rem; outline: none; padding: 0.75rem 1rem 0; transition: none; -webkit-appearance: none; width: 100%; }
input[type=button], input[type=submit] { background: #1466ec; border-radius: 0.25rem; color: #fff; cursor: pointer; font-size: 0.9rem; font-weight: 400; padding: 0 1.5rem; width: auto; }
input[type=button]:hover, input[type=submit]:hover { background: #2d346f; }
input[type=button]:disabled, input[type=submit]:disabled { cursor: default; opacity: 0.5; }
input[type=button]:disabled:hover, input[type=submit]:disabled:hover { background: #1466ec; }
input[type=button]._bordered, input[type=submit]._bordered { background: none; border: 1px solid #2d346f; color: #2d346f!important; line-height: calc(2.5rem - 2px); }
input[type=button]._bordered:hover, input[type=submit]._bordered:hover { background: #2d346f; color: #fff!important; }
input[type=button]._small, input[type=submit]._small { font-size: 0.75rem; line-height: 2rem; }
select { background: #fff; border: none; border-radius: 0.25rem; display: block; font-family: 'Montserrat', Arial, sans-serif; font-size: 0.75rem; font-weight: 600; line-height: 2.5rem; margin: 0 0 1.5rem; outline: none; padding: 0 1rem; -webkit-appearance: none; width: 100%; }

._relative { position: relative; }
._absolute { position: absolute; }
._hidden { display: none!important; }
._uppercase { letter-spacing: 1px; text-transform: uppercase; }
._wide { width: 100%!important; }
._inline { display: inline-block; }
._center { text-align: center; }
._right { text-align: right; }
._addButton { background: #1466ec; border-radius: 0.25rem; cursor: pointer; height: 1.5rem; padding: 0.75rem 0 0 0.75rem; width: 1.5rem; }
._addButton:before { background: #fff; border-radius: 2px; content: ''; display: block; height: 2px; margin: -1px 0 0 -0.4rem; width: 0.8rem; }
._addButton:after { background: #fff; border-radius: 2px; content: ''; display: block; height: 0.8rem; margin: -0.45rem 0 0 -1px; width: 2px; }
._addButton:hover { background: #2d346f; }
._plusButton { cursor: pointer; height: 1rem; opacity: 0.25; padding: 0.5rem 0 0 0.5rem; width: 1rem; }
._plusButton:before { background: #2f3338; border-radius: 2px; content: ''; display: block; height: 2px; margin: -1px 0 0 -0.5rem; transition: 0.5s 0.1s; width: 1rem; }
._plusButton:after { background: #2f3338; border-radius: 2px; content: ''; display: block; height: 1rem; margin: -0.55rem 0 0 -1px; transition: 0.5s 0.1s; width: 2px; }
._plusButton:hover { opacity: 1; }
._plusButton._success { cursor: default; opacity: 1; padding: 0.65rem 0 0 0.65rem; transform: rotate(45deg); }
._plusButton._success:before { background: #1466ec; width: 0.5rem; }
._plusButton._success:after { background: #1466ec; height: 0.75rem; margin: -0.75rem 0 0 -1px; }
._searchButton { background: #1466ec; border-radius: 0.25rem; cursor: pointer; height: 2.5rem; margin-left: 1rem; padding: 0.75rem 0.75rem 0; width: 2.5rem; }
._searchButton_icon { fill: #fff; height: 1rem; width: 1rem; }
._searchButton:hover { background: #2d346f; }
._resetButton { background: #1466ec; border-radius: 0.25rem; cursor: pointer; display: block; height: 2.5rem; margin-left: 0.5rem; padding: 1.25rem 0 0 1.25rem; width: 2.5rem; }
._resetButton:before { background: #fff; border-radius: 2px; content: ''; display: block; height: 2px; margin: -1px 0 0 -0.5rem; transform: rotate(45deg); width: 1rem; }
._resetButton:after { background: #fff; border-radius: 2px; content: ''; display: block; height: 1rem; margin: -0.55rem 0 0 -1px; transform: rotate(45deg); width: 2px; }
._resetButton:hover { background: #2d346f; }
._closeButton { cursor: pointer; height: 0.75rem; padding: 0.375rem 0 0 0.375rem; position: absolute; right: 1.5rem; top: 1.5rem; width: 0.75rem; }
._closeButton:before { background: #2f3338; border-radius: 2px; content: ''; display: block; height: 2px; margin: -1px 0 0 -0.5rem; transform: rotate(45deg); width: 1rem; }
._closeButton:after { background: #2f3338; border-radius: 2px; content: ''; display: block; height: 1rem; margin: -0.55rem 0 0 -1px; transform: rotate(45deg); width: 2px; }
._closeButton:hover { transform: rotate(90deg); }
._moreButton { background: #1466ec; border-radius: 0.25rem; cursor: pointer; height: 1.5rem; padding: 0.75rem 0 0 0.75rem; position: relative; width: 1.5rem; }
._moreButton svg { fill: #fff; height: 0.5rem; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%) rotate(90deg); width: 0.8rem; }
._moreButton:hover { background: #2d346f; }
._moreButton._opened svg { transform: translate(-50%, -50%) rotate(-90deg); }
._removeButton { cursor: pointer; fill: #2f3338; opacity: 0.25; width: 1rem; }
._removeButton:hover { opacity: 1; }
._removeButton:hover * { fill: #1466ec; }
._removeButton._active { border: none; opacity: 1; }
._removeButton._active * { fill: #1466ec; }
._removeConfirmation { background: #eceff9; border: 1px solid #fff; border-radius: 1rem; display: none; padding: 1.5rem 1.5rem 0; position: absolute; right: calc(100% + 1rem); top: -2rem; transition: none; width: 20rem; z-index: 5; }
._removeConfirmation_name { font-size: 0.9rem; font-weight: bold; margin-bottom: 1rem; }
._removeConfirmation:after { background: #eceff9; border-top: 1px solid #fff; border-right: 1px solid #fff; content: ''; height: 1rem; position: absolute; right: -0.5rem; top: 2.75rem; transform: rotate(45deg); width: 1rem; }
._editButton { cursor: pointer; fill: #2f3338; opacity: 0.25; width: 1rem; }
._editButton:hover { opacity: 1; }
._editButton:hover * { fill: #1466ec; }
._copyButton { background: #1466ec; border-radius: 0.25rem; cursor: pointer; height: 1.5rem; line-height: 1.5rem; text-align: center; width: 1.5rem; }
._copyButton_icon { cursor: pointer; fill: #fff; vertical-align: middle; width: 0.8rem; }
._copyButton:hover { background: #2d346f; }
._pasteButton { background: #1466ec; border-radius: 0.25rem; cursor: pointer; height: 1.5rem; line-height: 1.5rem; text-align: center; width: 1.5rem; }
._pasteButton_icon { cursor: pointer; fill: #fff; vertical-align: middle; width: 0.8rem; }
._pasteButton:hover { background: #2d346f; }
._fileButton { cursor: pointer; fill: #2f3338; opacity: 0.25; width: 1rem; }
._fileButton:hover { opacity: 1; }
._fileButton:hover * { fill: #1466ec; }._back { color: #2d346f; display: block; font-size: 0.55rem; margin-bottom: 1rem; }
._calendarButton { cursor: pointer; fill: #1466ec; width: 1rem; }
._calendarButton:hover { fill: #2d346f; }
._back { color: #2d346f; display: block; font-size: 0.55rem; margin-bottom: 1rem; }
._back_icon { fill: #2d346f; margin-right: 0.25rem; width: 1.5rem; }
._back:hover ._back_icon * { fill: #1466ec; }
._alert { background: #ff6262; border-radius: 0.25rem; color: #fff; padding: 0.65rem 1.5rem; }
._alert a { color: #fff; text-decoration: underline; }

.header { background: #2d346f; color: #fff; display: flex; font-size: 0.8rem; line-height: 3rem; margin: 0 -1rem 1rem; padding: 0.25rem 0 0; }
.header_logo { padding: 0 1.5rem; }
.header_logo svg { fill: #fff; margin: 0.4rem 0 -0.4rem; width: 3rem; }
.header_leftMenu { flex-grow: 1; }
.header_leftMenu > ul { display: flex; }
.header_leftMenu > ul > li { border-radius: 0.5rem 0.5rem 0 0; padding: 0 1.5rem; position: relative; }
.header_leftMenu > ul > li > a { color: #fff; }
.header_leftMenu > ul > ._active { background: #fff; }
.header_leftMenu > ul > ._active > a { color: #2d346f; }
.header_leftMenu > ul > ._active:before { border-radius: 0 0 0.5rem 0; bottom: 0; box-shadow: 0.5rem 0.5rem 0 0 #fff; content: ''; height: 1rem; left: -1rem; position: absolute; width: 1rem; }
.header_leftMenu > ul > ._active:after { border-radius: 0 0 0 0.5rem; bottom: 0; box-shadow: -0.5rem 0.5rem 0 0 #fff; content: ''; height: 1rem; position: absolute; right: -1rem; width: 1rem; }
.header_mainMenu {  }
.header_mainMenu > ul { display: flex; }
.header_mainMenu > ul > li { margin-right: 1rem; }
.header_mainMenu > ul > li > a { display: block; }
.header_mainMenu > ul > li > a > svg { fill: #fff; }
.header_mainMenu > ul > ._configurator > a { height: 1.75rem; margin-top: 0.75rem; }
.header_mainMenu > ul > ._configurator > a > svg { height: 1.75rem; }
.header_mainMenu > ul > ._erp > a { height: 1.5rem; margin-top: 0.5rem; }
.header_mainMenu > ul > ._erp > a > svg { height: 1.5rem; }
.header_logout { color: #fff; font-weight: 500; margin: 0 1rem; }
.header_logoutIcon { background: #1466ec; border-radius: 0.25rem; display: inline-block; height: 1.5rem; margin-left: 1rem; position: relative; vertical-align: middle; width: 1.5rem; }
.header_logoutIcon svg { fill: #fff; height: 0.5rem; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 0.8rem; }

.selectItems { background: #2d346f; border-radius: 0 1rem 1rem 0; color: #fff; margin-left: -1rem; padding: 1.5rem 2.2rem 0.25rem 1rem; }
.selectArrow { border: 1px solid #2f3338; border-left: 0; border-top: 0; height: 0.25rem; position: absolute; right: 1.5rem; top: 1rem; transform: rotate(45deg); width: 0.25rem; }
.select { border: 1px solid #6c729a; border-radius: 0.25rem; font-size: 0.75rem; font-weight: 600; margin-bottom: 1.5rem; padding: 0 1rem; position: relative; }
.select:after { border: 1px solid #fff; border-left: 0; border-top: 0; content: ''; display: block; height: 0.25rem; position: absolute; right: 1rem; top: 1rem; transform: rotate(45deg); width: 0.25rem; }
.select_name { background: #2d346f; color: #fff; left: 0.75rem; padding: 0 0.25rem; position: absolute; top: 0.65rem; }
.select_value { cursor: pointer; height: calc(2.5rem - 2px); line-height: calc(2.5rem - 2px); overflow: hidden; position: relative; z-index: 2; white-space: nowrap; }
.select_optionItems { display: none; margin-right: -1rem; max-height: 15rem; overflow-y: auto; padding: 0 1rem 0.5rem 0; transition: none; }
.select_option { cursor: pointer; margin-bottom: 0.25rem; }
.select_option:hover { color: ##eceff9; }
.select_option._active { color: #1466ec; }
.select_option._reset { color: #adb0c7; display: block!important; font-weight: 400; }
.select_optionColor { border: 1px solid #6c729a; border-radius: 0.25rem; float: right; height: 1rem; }
.select_more { display: block; height: 2.5rem; padding: 1.15rem 1rem 0; position: absolute; left: 100%; top: 0; width: 2.2rem; }
.select_moreIcon { background: #fff; border-radius: 50%; height: 0.2rem; width: 0.2rem; }
.select_moreIcon:before { background: #fff; border-radius: 50%; bottom: 1.6rem; content: ''; height: 0.2rem; position: absolute; width: 0.2rem; }
.select_moreIcon:after { background: #fff; border-radius: 50%; content: ''; height: 0.2rem; position: absolute; top: 1.6rem; width: 0.2rem; }
.select._active .select_name { color: #adb0c7; font-size: 0.6rem; font-weight: 400; top: -0.5rem; }
.select._disabled { opacity: 0.5; }

.checkbox input { display: none; }
.checkbox label { cursor: pointer; display: block; margin-bottom: 0.5rem; padding-left: 1.5rem; position: relative; text-transform: none; }
.checkbox label svg  { fill: #fff; left: calc(0.25rem - 1px); opacity: 0; position: absolute; top: calc(0.35rem - 1px); width: 0.5rem; }
.checkbox label:before { border: 1px solid #2d356f; border-radius: 0.25rem; content: ''; height: calc(1rem - 2px); left: 0; position: absolute; transition: 0.5s 0.1s; width: calc(1rem - 2px); }
.checkbox input:checked ~ label svg { opacity: 1; }
.checkbox input:checked ~ label:before { background: #2d356f; }
.checkbox._marked label:before { border: 0.4rem solid #2d356f; height: 0.2rem; width: 0.2rem; }

.checkboxItemsWrapper { border: 1px solid #acafc9; border-radius: 0.25rem; color: #4f4f4f; font-weight: 600; margin-bottom: 1rem; padding: 0.5rem 0.5rem 0; position: relative; }
.checkboxItemsWrapper_all {  }
.checkboxItemsWrapper_more { cursor: pointer; height: 2rem; position: absolute; right: 0; top: 0; width: 2rem; }
.checkboxItemsWrapper_more:before { border: 1px solid #4f4f4f; border-left: 0; border-top: 0; content: ''; display: block; height: 0.25rem; position: absolute; right: 1rem; top: 0.75rem; transform: rotate(45deg); width: 0.25rem; }
.checkboxItems { border-top: 1px solid #acafc9; display: none; padding-top: 0.5rem; transition: none; }

.articleItems { background: #eceff9; border-radius: 1rem; margin-bottom: 1rem; padding: 1rem 1.5rem 1.5rem; }
.article {  }
.article_name { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.article_nameId { color: #4f4f4f; font-size: 0.55rem; font-weight: normal; letter-spacing: 0; margin-left: 1rem; text-transform: none; }
.article_inputItems { display: flex; }
.article_input { margin-right: 0.75rem; }
.article_input input { border-radius: 0.5rem; margin-bottom: 0.5rem; padding: 0 0.5rem; }
.article_input._wide { flex-grow: 2; }
.article_input._active input { background: #2d346f; color: #fff; }
.article_input._modification { width: 15rem; }
.article_input:last-of-type { margin-right: 0; }
.article_inputName { color: #4f4f4f; font-size: 0.55rem; }

.galleryWrapper { background: #f4f4f4; border-radius: 1rem; height: calc(100% - 1rem); margin-bottom: 1rem; padding: 1rem 1.5rem 1px; position: relative; }
.galleryWrapper_name { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.galleryWrapper_fileName { float: right; font-size: 0.55rem; margin: 1.5rem 0 0.75rem; }
.gallery { clear: both; margin-bottom: 1rem; overflow: hidden; position: relative; }
.gallery_itemItems { display: flex; margin-bottom: 0.75rem; }
.gallery_item { position: relative; }
.gallery_item img { display: block; }
.gallery_item ._removeButton { bottom: 1rem; position: absolute; right: 1rem; }
.gallery_arrow { cursor:pointer; height: 50%; position: absolute; top: 25%; width: 2.5rem; }
.gallery_arrowIcon { fill: #2d346f; height: 0.625rem; position: absolute; top: calc(50% - 0.3125rem); }
.gallery_arrow:hover .gallery_arrowIcon { fill: #1466ec; }
.gallery_arrow._previous { left: 0; transform: rotate(180deg); }
.gallery_arrow._next { right: 0; }
.gallery_pageItems {  }
.gallery_page { background-position: 50% 50%; background-size: cover; cursor:pointer; display: inline-block; height: 3.6rem; margin: 0 0.5rem 0.25rem 0; width: 3.6rem; }
.gallery_page._active { border: 2px solid #1466ec; }

.configurationWrapper { height: calc(100% - 1rem); }
.configuration { background: #f4f4f4; border-radius: 1rem; margin-bottom: 1rem; padding: 1.5rem 1.5rem 1px; }
.configuration ._copyButton { background: none; fill: #2f3338; opacity: 0.25; width: 1rem; }
.configuration ._copyButton:hover { opacity: 1; }
.configuration ._copyButton:hover * { fill: #1466ec; }
.configuration ._green { color: #0b8043; }

.configurationItems { margin-bottom: 1rem; }
.configurationItems .configuration { background: none; }

.searchConfiguration { background: #2d346f; border-radius: 0 1rem 1rem 0; color: #fff; margin-left: -1rem; padding: 1.5rem 1rem 3rem; position: relative; }
.searchConfiguration_name { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.searchConfiguration ._searchButton { bottom: 1rem; position: absolute; right: 4rem; }
.searchConfiguration ._resetButton { bottom: 1rem; position: absolute; right: 1rem; }

.specification { background: #f4f4f4; border-radius: 1rem; margin-bottom: 1rem; padding: 1.5rem; position: relative; }
.specification_add { position: absolute; right: 1.5rem; top: 1rem; z-index: 5; }
.specification_addPart td { padding: 0; }
.specification_addPart td:before { background: #fff; content: ''; height: 100%; left: 0; position: absolute; top: 0; transition: 0.5s 0.1s; width: 100%; }
.specification_addPart td:nth-child(1):before { border-radius: 0.25rem 0 0 0.25rem; }
.specification_addPart td:nth-child(6):before { border-radius: 0 0.25rem 0.25rem 0; }
.specification_addPart._error td input { background: #ff6262; color: #fff; }
.specification_addPart._error td:before { background: #ff6262; }
.specification_addPartButton { background: #1466ec; border-radius: 0.25rem; cursor: pointer; height: 2.5rem; padding: 1.25rem 0 0 1.25rem; position: relative; width: 2.5rem; }
.specification_addPartButton:before { background: #fff; border-radius: 2px; content: ''; display: block; height: 2px; margin: -1px 0 0 -0.625rem; position: absolute; width: 1.25rem; }
.specification_addPartButton:after { background: #fff; border-radius: 2px; content: ''; display: block; height: 1.25rem; margin: -0.625rem 0 0 -1px; position: absolute; width: 2px; }
.specification_addPartButton:hover { background: #2d346f; }
.specification_copy { position: absolute; right: 3.5rem; top: 1rem; z-index: 5; }
.specification_paste { position: absolute; right: 3.5rem; top: 1rem; z-index: 5; }
.specification_total td { padding-bottom: 1.5rem; padding-top: 1.5rem; }
.specification_total td:before { background: #eceff9; content: ''; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
.specification_total td:nth-child(1):before { border-radius: 1rem 0 0 1rem; }
.specification_total td:nth-child(2):before { border-radius: 0 1rem 1rem 0; }
.specification_totalName { font-size: 0.75rem; font-weight: 600; position: relative; }
.specification_totalPrice { font-size: 0.75rem; font-weight: 600; position: relative; }
.specification_partItems {  }
.specification_part {  }
.specification_partInput { margin-right: 0; }
.specification_partInput._unit { font-weight: 400; font-size: 0.7rem; }
.specification_partInput._price { font-weight: 400; font-size: 0.7rem; }

.searchReference { background: #eceff9; border-radius: 1rem; margin-bottom: 1rem; padding: 1.5rem 2rem 1px; }
.searchReference_name { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.searchReference_inputItems { flex-grow: 1; }

.addReference { background: #eceff9; border-radius: 1rem; margin-bottom: 1rem; padding: 1.5rem 1.5rem 4rem; position: relative; }
.addReference input[type=submit] { bottom: 0; position: absolute; width: calc(100% - 3rem)!important; }
.addReference table { font-size: 0.55rem; margin-bottom: 1.5rem; }
.addReference table td:first-of-type { padding-left: 0; }
.addReference table td:last-of-type { padding-right: 0; }
.addReference_name { border-bottom: 1px solid #cccdce; font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; padding-bottom: 1rem; }
.addReference_file { background-position: 50% 50%; background-size: cover; display: inline-block; height: 3.6rem; margin: 0.25rem 0.5rem 0 0; width: 3.6rem; }

.referenceItems { margin-bottom: 1.5rem; }
.reference {  }
.reference_color { border: 1px solid #eceff9; border-radius: 0.25rem; display: inline-block; height: 1.5rem; margin: -0.5rem 0; max-width: none; }

.searchContractor { background: #eceff9; border-radius: 1rem; margin-bottom: 1rem; padding: 1.5rem 2rem 1px; }
.searchContractor_name { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.searchContractor_inputItems { flex-grow: 1; }

.addContractor { background: #eceff9; border-radius: 1rem; margin-bottom: 1rem; padding: 1.5rem 1.5rem 4rem; position: relative; }
.addContractor input[type=submit] { bottom: 0; position: absolute; width: calc(100% - 3rem)!important; }
.addContractor table { font-size: 0.55rem; margin-bottom: 1.5rem; }
.addContractor table td:first-of-type { padding-left: 0; }
.addContractor table td:last-of-type { padding-right: 0; }
.addContractor_name { border-bottom: 1px solid #cccdce; font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; padding-bottom: 1rem; }

.contractorItems { margin-bottom: 1.5rem; }
.contractorItems_sortIcon { margin: 0 0 -0.25rem 0.25rem; stroke: #2f3338; width: 0.8rem; }
.contractorItems_sortIcon._asc { transform: scale(1, -1); }
.contractor {  }

.addConfiguration input[type=submit], .addConfiguration input[type=button] { display: inline-block; margin-right: 0.5rem; }

.charItems { margin-bottom: 1.5rem; position: relative; }
.charItems hr { background: #cccdce; border: none; height: 1px; margin: 0; }
.charItems_name { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.char { border-bottom: 1px solid #cccdce; display: flex; justify-content: space-between; padding: 0.75rem 0; }
.char_name {  }
.char_value { text-align: right; }

.partsMenu { background: #2d346f; border-radius: 0 1rem 1rem 0; color: #fff; font-size: 0.75rem; margin-left: -1rem; padding: 1.5rem 1rem 1rem; }
.partsMenu > ul > li { margin-bottom: 1rem; }
.partsMenu > ul > li > a { color: #fff; font-weight: 600; }
.partsMenu > ul > li > ul { margin-top: 0.25rem; padding-left: 1.5rem; }
.partsMenu > ul > li > ul > li { margin-bottom: 0.25rem; }
.partsMenu > ul > li > ul > li:before { content: '—'; float: left; margin-left: -1.5rem; }
.partsMenu > ul > li > ul > li > a { color: #fff; }
.partsMenu > ul > li > ul > ._active > a { color: #1466ec; }
.partsMenu > ul > ._active > a { color: #1466ec; }

.searchPart { background: #eceff9; border-radius: 1rem; margin-bottom: 1rem; padding: 1.5rem 2rem 1px; }
.searchPart_name { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.searchPart_inputItems { flex-grow: 1; }

.statItems { margin-bottom: 1rem; }
.stat { background: #eceff9; border-radius: 0.5rem; color: #2d346f; flex-grow: 1; font-weight: bold; margin: 0 0.5rem; padding: 1rem 1.5rem 1.25rem; }
.stat_name {  }
.stat_value { font-size: 1.2rem; }
.stat._attention { background: #ff6262; color: #fff; }
.stat._gap { background: transparent; }

.searchOrder { background: #2d346f; border-radius: 0 1rem 1rem 0; color: #fff; margin: 0 0 1rem -1rem; padding: 1.5rem 1rem 3rem; position: relative; }
.searchOrder_name { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.searchOrder_label { background: #2d346f; color: #adb0c7; display: inline-block; font-size: 0.6rem; margin-left: 0.75rem; padding: 0 0.25rem; position: relative; z-index: 2; }
.searchOrder_label._active { top: 0.65rem; }
.searchOrder_input { background: transparent; border: 1px solid #6c729a; color: #fff; position: relative; }
.searchOrder ._col10 { padding-top: 0.75rem; }
.searchOrder ._searchButton { bottom: 1rem; position: absolute; right: 4rem; }
.searchOrder ._resetButton { bottom: 1rem; position: absolute; right: 1rem; }
.searchOrder ._calendarButton { position: absolute; right: 1rem; top: 0.75rem; }
.searchOrder .checkbox label:before { border: 1px solid #6c729a; }
.searchOrder .checkbox input:checked ~ label:before { background: #1466ec; border: 1px solid #1466ec; }

.orderItemsWrapper {  }
.orderItemsWrapper._bordered { border: 1px solid #cccdce; border-radius: 1rem; margin: 0 0 1rem; padding: 1rem 1.5rem 0; }
.orderItemsWrapper._bordered .orderItems { margin: 0; }
.orderItemsWrapper._bordered .order._brief:hover { border: none; border-left: 2px solid transparent; }
.orderItems { margin-bottom: 2rem; }
.orderItems th { white-space: nowrap; }
.orderItems th a { text-decoration: underline; }
.orderItems th:nth-child(1) { padding-left: 0.25rem; padding-right: 0.5rem; }
.orderItems th:nth-child(2) { padding-left: 0; }
.orderItems th:nth-child(5) { width: 2.5rem; }
.orderItems th:nth-child(6) { padding-left: 1rem; width: 8rem; }
.orderItems th:nth-child(7) { padding-right: 3rem; }
.orderItems th:nth-child(8) { padding-right: 1.5rem; width: 8rem; }
.orderItems_sortIcon { margin: 0 0 -0.25rem 0.25rem; stroke: #2f3338; width: 0.8rem; }
.orderItems_sortIcon._asc { transform: scale(1, -1); }
.order {  }
.order td { padding: 1rem 1rem 0.5rem 0; vertical-align: top; }
.order ._moreButton { margin-bottom: -0.5rem; }
.order._brief { background: #fff; border: none; border-top: 1px solid #cccdce; border-left: 2px solid transparent; transition: none; }
.order._brief:hover { border: 1px solid #1466ec; border-left: 2px solid #1466ec; }
.order._highlight { border: 1px solid #0b8043; border-left: 2px solid #0b8043; }
.order._sortable { border: 1px solid #1466ec; border-left: 2px solid #1466ec; display: table-row; }
.order._brief td { line-height: 1.5rem; }
.order._brief td:nth-child(1) { padding-left: 0.5rem; padding-right: 0.5rem; }
.order._brief td:nth-child(2) { padding-left: 0; }
.order._brief td:nth-child(3) { padding-right: 4rem; }
.order._brief td:nth-child(8) { padding-right: 0.5rem; width: 1.5rem; }
.order._full { border: none; }
.order._full td:nth-child(1) { padding-left: 0; }
.order._full td:nth-child(3) { padding-right: 0; }
.order_number { font-weight: 600; }
.order_statusWrapper { background: #f5f8fd; border-radius: 0.5rem; display: flex; justify-content: space-between; height: 2rem; line-height: 2rem; margin: -0.25rem 0 0.25rem; min-width: 25rem; position: relative; }
.order_statusWrapper._expired { background: #ff6262; color: #fff; }
.order_statusWrapper._expired .order_date { color: #fff; font-weight: 600; }
.order_statusWrapper._expired .order_deadline { color: #fff; font-weight: 600; }
.order_statusWrapper._expired .order_statusProgressBar { width: 0; }
.order_statusWrapper._expired ._calendarButton { fill: #fff; }
.order_statusWrapper._expiring .order_deadline { color: #ff6262; font-weight: 600; }
.order_statusWrapper._expiring ._calendarButton { fill: #ff6262; }
.order_statusWrapper._finished ._calendarButton { fill: #2f3338; }
.order_statusWrapper ._calendarButton { position: absolute; right: 0.5rem; top: 0.45rem; }
.order_status { font-weight: 600; padding: 0 1rem; position: relative; white-space: nowrap; }
.order_statusProgressBar { background: #6f97ff; border-radius: 0.5rem 0 0 0.5rem; height: 100%; position: absolute; }
.order_statusProgressBar._new { opacity: 0.1; width: 20%; }
.order_statusProgressBar._accepted { opacity: 0.3; width: 40%; }
.order_statusProgressBar._readyToProduction { opacity: 0.5; width: 60%; }
.order_statusProgressBar._inProduction { opacity: 0.7; width: 80%; }
.order_statusProgressBar._done { background: #0b8043; border-radius: 0.5rem; opacity: 0.5; width: 100%; }
.order_paymentStatus { white-space: nowrap; }
.order_updateStatusItems { background: #eceff9; border-radius: 1rem; font-weight: 600; left: 50%; padding: 0.5rem 1rem; position: absolute; top: 2.5rem; transform: translateX(-50%); z-index: 5; }
.order_updateStatusItems:before { border-bottom: 0.5rem solid #eceff9; border-left: 0.5rem solid transparent; border-right: 0.5rem solid transparent; content: ''; display: block; left: calc(50% - 0.5rem); position: absolute; top: -0.5rem; }
.order_updateStatus { color: #2f3338; cursor: pointer; white-space: nowrap; }
.order_updateStatus:hover { color: #1466ec; }
.order_updateStatus._active { border: none; color: #1466ec; }
.order_updateStatus._disabled { color: #1466ec; opacity: 0.3; }
.order_updatePaymentStatusItems { background: #eceff9; border-radius: 1rem; font-weight: 600; left: 50%; padding: 0.5rem 1rem; position: absolute; top: 3.25rem; transform: translateX(-50%); z-index: 5; }
.order_updatePaymentStatusItems:before { border-bottom: 0.5rem solid #eceff9; border-left: 0.5rem solid transparent; border-right: 0.5rem solid transparent; content: ''; display: block; left: calc(50% - 0.5rem); position: absolute; top: -0.5rem; }
.order_updatePaymentStatus { color: #2f3338; cursor: pointer; white-space: nowrap; }
.order_updatePaymentStatus:hover { color: #1466ec; }
.order_updatePaymentStatus._active { border: none; color: #1466ec; }
.order_updateCanceledStatus { display: inline-block; }
.order_updateArchivedStatus { display: inline-block; }
.order_showContractor { display: inline-block; }
.order_selectConfiguration { color: #fff!important; display: inline-block; }
.order_date { background: transparent; border-radius: 0.5rem; font-size: 0.7rem; font-weight: 400; margin: 0!important; padding: 0 0 0 1rem!important; text-align: left!important; width: 6rem!important; }
.order_deadline { background: transparent; border-radius: 0.5rem; font-size: 0.7rem; font-weight: 400; margin: 0!important; padding: 0 2rem 0 0!important; text-align: right!important; width: 6rem!important; }
.order_content { background: #f4f4f4; border-radius: 1rem; height: 15rem; padding: 1.5rem 1.5rem 1px; overflow: auto; position: relative; }
.order_content a { color: #1466ec; }
.order_contentName { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.order_quantity { width: 6rem; }
.order_quantityInput { background: #f4f4f4; margin: 0 0 0.5rem!important; }
.order_quantityInput._wip { color: #888; }
.order_configuration { line-height: 1.5; margin: 0.25rem 0 0.95rem; position: relative; width: 13rem; }
.order_configuration:before { background: linear-gradient(90deg, transparent, #fff); content: ''; height: 100%; position: absolute; right: 0; top: 0; width: 2rem; }
.order_configurationArticle { display: block; overflow: hidden; white-space: nowrap; width: 100%; }
.order_configurationArticle._highlight { color: #ff6262; }
.order_configurationText { position: absolute; right: -0.5rem; top: -0.1rem; }
.order_configurationTextIcon { height: 1.2rem; }
.order_configurationStatusWrapper { display: flex; float: left; margin-left: -3.5rem; position: relative; width: 3rem; }
.order_configurationStatus { background: #eceff9; border-left: 1px solid #fff; height: 1rem; width: 0.75rem; }
.order_configurationStatus:nth-child(1) { border-left: none; border-radius: 0.25rem 0 0 0.25rem; }
.order_configurationStatus:nth-child(4) { border-radius: 0 0.25rem 0.25rem 0; }
.order_configurationStatus._red { background: #ff6262; }
.order_configurationStatus._yellow{ background: #f6bf26; }
.order_configurationStatus._green { background: #0b8043; }
.order_updateConfigurationStatusItems { background: #eceff9; border-radius: 1rem; font-size: 0.55rem; left: calc(50% - 3.5rem); padding: 0.5rem 0 0.75rem 0.75rem; position: absolute; top: calc(100% + 0.75rem); width: 7rem; z-index: 5; }
.order_updateConfigurationStatusItems:before { border-bottom: 0.5rem solid #eceff9; border-left: 0.5rem solid transparent; border-right: 0.5rem solid transparent; content: ''; display: block; left: calc(50% - 0.5rem); position: absolute; top: -0.5rem; }
.order_updateConfigurationStatusName { margin-bottom: 0.25rem; }
.order_updateConfigurationStatus { background: #fff; border-radius: 50%; cursor: pointer; float: left; height: 1rem; margin-right: 0.5rem; width: 1rem; }
.order_updateConfigurationStatus._red { background: #ff6262; }
.order_updateConfigurationStatus._yellow{ background: #f6bf26; }
.order_updateConfigurationStatus._green { background: #0b8043; }
.order_addConfiguration { background: transparent!important; color: #1466ec!important; font-size: 0.7rem!important; height: 1.5rem!important; line-height: 1.5rem!important; margin: -0.25rem 0 0; padding: 0!important; }
.order_sortIcon { cursor: grab; fill: #1466ec; opacity: 0.25; margin-top: 0.5rem; width: 1rem; }
.order_sortIcon:active { cursor: grabbing; }

.searchComplaint { background: #2d346f; border-radius: 0 1rem 1rem 0; color: #fff; margin: 0 0 1rem -1rem; padding: 1.5rem 1rem 3rem; position: relative; }
.searchComplaint_name { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.searchComplaint_label { background: #2d346f; color: #adb0c7; display: inline-block; font-size: 0.6rem; margin-left: 0.75rem; padding: 0 0.25rem; position: relative; z-index: 2; }
.searchComplaint_label._active { top: 0.65rem; }
.searchComplaint_input { background: transparent; border: 1px solid #6c729a; color: #fff; position: relative; }
.searchComplaint ._col10 { padding-top: 0.75rem; }
.searchComplaint ._searchButton { bottom: 1rem; position: absolute; right: 4rem; }
.searchComplaint ._resetButton { bottom: 1rem; position: absolute; right: 1rem; }
.searchComplaint ._calendarButton { position: absolute; right: 1rem; top: 0.75rem; }
.searchComplaint .checkbox label:before { border: 1px solid #6c729a; }
.searchComplaint .checkbox input:checked ~ label:before { background: #1466ec; border: 1px solid #1466ec; }

.complaintItemsWrapper {  }
.complaintItemsWrapper._bordered { border: 1px solid #cccdce; border-radius: 1rem; margin: 0 0 1rem; padding: 1rem 1.5rem 0; }
.complaintItemsWrapper._bordered .complaintItems { margin: 0; }
.complaintItemsWrapper._bordered .complaint._brief:hover { border: none; border-left: 2px solid transparent; }
.complaintItems { margin-bottom: 2rem; }
.complaintItems th { white-space: nowrap; }
.complaintItems th a { text-decoration: underline; }
.complaintItems th:nth-child(1) { padding-left: 0.25rem; padding-right: 0.5rem; }
.complaintItems th:nth-child(2) { padding-left: 0; }
.complaintItems th:nth-child(5) { width: 2.5rem; }
.complaintItems th:nth-child(6) { padding-left: 1rem; width: 8rem; }
.complaintItems th:nth-child(7) { padding-right: 3rem; }
.complaintItems th:nth-child(8) { padding-right: 1.5rem; width: 8rem; }
.complaintItems_sortIcon { margin: 0 0 -0.25rem 0.25rem; stroke: #2f3338; width: 0.8rem; }
.complaintItems_sortIcon._asc { transform: scale(1, -1); }
.complaint {  }
.complaint td { padding: 1rem 1rem 0.5rem 0; vertical-align: top; }
.complaint ._moreButton { margin-bottom: -0.5rem; }
.complaint._brief { background: #fff; border: none; border-top: 1px solid #cccdce; border-left: 2px solid transparent; transition: none; }
.complaint._brief:hover { border: 1px solid #1466ec; border-left: 2px solid #1466ec; }
.complaint._highlight { border: 1px solid #0b8043; border-left: 2px solid #0b8043; }
.complaint._sortable { border: 1px solid #1466ec; border-left: 2px solid #1466ec; display: table-row; }
.complaint._brief td { line-height: 1.5rem; }
.complaint._brief td:nth-child(1) { padding-left: 0.5rem; padding-right: 0.5rem; }
.complaint._brief td:nth-child(2) { padding-left: 0; }
.complaint._brief td:nth-child(3) { padding-right: 4rem; }
.complaint._brief td:nth-child(8) { padding-right: 0.5rem; width: 1.5rem; }
.complaint._full { border: none; }
.complaint._full td:nth-child(1) { padding-left: 0; }
.complaint._full td:nth-child(3) { padding-right: 0; }
.complaint_number { font-weight: 600; }
.complaint_statusWrapper { background: #f5f8fd; border-radius: 0.5rem; display: flex; justify-content: space-between; height: 2rem; line-height: 2rem; margin: -0.25rem 0 0.25rem; min-width: 25rem; position: relative; }
.complaint_statusWrapper._expired { background: #ff6262; color: #fff; }
.complaint_statusWrapper._expired .complaint_date { color: #fff; font-weight: 600; }
.complaint_statusWrapper._expired .complaint_deadline { color: #fff; font-weight: 600; }
.complaint_statusWrapper._expired .complaint_statusProgressBar { width: 0; }
.complaint_statusWrapper._expired ._calendarButton { fill: #fff; }
.complaint_statusWrapper._expiring .complaint_deadline { color: #ff6262; font-weight: 600; }
.complaint_statusWrapper._expiring ._calendarButton { fill: #ff6262; }
.complaint_statusWrapper._finished ._calendarButton { fill: #2f3338; }
.complaint_statusWrapper ._calendarButton { position: absolute; right: 0.5rem; top: 0.45rem; }
.complaint_status { font-weight: 600; padding: 0 1rem; position: relative; white-space: nowrap; }
.complaint_statusProgressBar { background: #6f97ff; border-radius: 0.5rem 0 0 0.5rem; height: 100%; position: absolute; }
.complaint_statusProgressBar._new { opacity: 0.3; width: 25%; }
.complaint_statusProgressBar._inConsent { opacity: 0.5; width: 50%; }
.complaint_statusProgressBar._inRepair { opacity: 0.7; width: 75%; }
.complaint_statusProgressBar._done { background: #0b8043; border-radius: 0.5rem; opacity: 0.5; width: 100%; }
.complaint_decision { white-space: nowrap; }
.complaint_updateStatusItems { background: #eceff9; border-radius: 1rem; font-weight: 600; left: 50%; padding: 0.5rem 1rem; position: absolute; top: 2.5rem; transform: translateX(-50%); z-index: 5; }
.complaint_updateStatusItems:before { border-bottom: 0.5rem solid #eceff9; border-left: 0.5rem solid transparent; border-right: 0.5rem solid transparent; content: ''; display: block; left: calc(50% - 0.5rem); position: absolute; top: -0.5rem; }
.complaint_updateStatus { color: #2f3338; cursor: pointer; white-space: nowrap; }
.complaint_updateStatus:hover { color: #1466ec; }
.complaint_updateStatus._active { border: none; color: #1466ec; }
.complaint_updateStatus._disabled { color: #1466ec; opacity: 0.3; }
.complaint_updateDecisionItems { background: #eceff9; border-radius: 1rem; font-weight: 600; left: 50%; padding: 0.5rem 1rem; position: absolute; top: 3.25rem; transform: translateX(-50%); z-index: 5; }
.complaint_updateDecisionItems:before { border-bottom: 0.5rem solid #eceff9; border-left: 0.5rem solid transparent; border-right: 0.5rem solid transparent; content: ''; display: block; left: calc(50% - 0.5rem); position: absolute; top: -0.5rem; }
.complaint_updateDecision { color: #2f3338; cursor: pointer; white-space: nowrap; }
.complaint_updateDecision:hover { color: #1466ec; }
.complaint_updateDecision._active { border: none; color: #1466ec; }
.complaint_updateCanceledStatus { display: inline-block; }
.complaint_updateArchivedStatus { display: inline-block; }
.complaint_showContractor { display: inline-block; }
.complaint_selectConfiguration { color: #fff!important; display: inline-block; }
.complaint_date { background: transparent; border-radius: 0.5rem; font-size: 0.7rem; font-weight: 400; margin: 0!important; padding: 0 0 0 1rem!important; text-align: left!important; width: 6rem!important; }
.complaint_deadline { background: transparent; border-radius: 0.5rem; font-size: 0.7rem; font-weight: 400; margin: 0!important; padding: 0 2rem 0 0!important; text-align: right!important; width: 6rem!important; }
.complaint_content { background: #f4f4f4; border-radius: 1rem; height: 15rem; padding: 1.5rem 1.5rem 1px; overflow: auto; position: relative; }
.complaint_content a { color: #1466ec; }
.complaint_contentName { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }
.complaint_quantity { width: 6rem; }
.complaint_quantityInput { background: #f4f4f4; margin: 0 0 0.5rem!important; }
.complaint_quantityInput._wip { color: #888; }
.complaint_configuration { line-height: 1.5; margin: 0.25rem 0 0.95rem; position: relative; width: 13rem; }
.complaint_configuration:before { background: linear-gradient(90deg, transparent, #fff); content: ''; height: 100%; position: absolute; right: 0; top: 0; width: 2rem; }
.complaint_configurationArticle { display: block; overflow: hidden; white-space: nowrap; width: 100%; }
.complaint_configurationArticle._highlight { color: #ff6262; }
.complaint_configurationText { position: absolute; right: -0.5rem; top: -0.1rem; }
.complaint_configurationTextIcon { height: 1.2rem; }
.complaint_configurationStatusWrapper { display: flex; float: left; margin-left: -3.5rem; position: relative; width: 3rem; }
.complaint_configurationStatus { background: #eceff9; border-left: 1px solid #fff; height: 1rem; width: 0.75rem; }
.complaint_configurationStatus:nth-child(1) { border-left: none; border-radius: 0.25rem 0 0 0.25rem; }
.complaint_configurationStatus:nth-child(4) { border-radius: 0 0.25rem 0.25rem 0; }
.complaint_configurationStatus._red { background: #ff6262; }
.complaint_configurationStatus._yellow{ background: #f6bf26; }
.complaint_configurationStatus._green { background: #0b8043; }
.complaint_updateConfigurationStatusItems { background: #eceff9; border-radius: 1rem; font-size: 0.55rem; left: calc(50% - 3.5rem); padding: 0.5rem 0 0.75rem 0.75rem; position: absolute; top: calc(100% + 0.75rem); width: 7rem; z-index: 5; }
.complaint_updateConfigurationStatusItems:before { border-bottom: 0.5rem solid #eceff9; border-left: 0.5rem solid transparent; border-right: 0.5rem solid transparent; content: ''; display: block; left: calc(50% - 0.5rem); position: absolute; top: -0.5rem; }
.complaint_updateConfigurationStatusName { margin-bottom: 0.25rem; }
.complaint_updateConfigurationStatus { background: #fff; border-radius: 50%; cursor: pointer; float: left; height: 1rem; margin-right: 0.5rem; width: 1rem; }
.complaint_updateConfigurationStatus._red { background: #ff6262; }
.complaint_updateConfigurationStatus._yellow{ background: #f6bf26; }
.complaint_updateConfigurationStatus._green { background: #0b8043; }
.complaint_addConfiguration { background: transparent!important; color: #1466ec!important; font-size: 0.7rem!important; height: 1.5rem!important; line-height: 1.5rem!important; margin: -0.25rem 0 0; padding: 0!important; }
.complaint_sortIcon { cursor: grab; fill: #1466ec; opacity: 0.25; margin-top: 0.5rem; width: 1rem; }
.complaint_sortIcon:active { cursor: grabbing; }

.loginForm { margin-top: 5rem; }

table { border-collapse: collapse; font-size: 0.7rem; width: 100%; }
table tr { border: 1px solid transparent; border-bottom: 1px solid #cccdce; }
table th { font-size: 0.55rem; font-weight: 400; padding: 0.5rem 1rem 0.5rem 0; text-align: left; }
table th:nth-child(1) { padding-left: 1rem; }
table td { padding: 0.5rem 1rem 0.5rem 0; position: relative; }
table td:nth-child(1) { padding-left: 1rem; }
table input[type=text] { display: inline-block; line-height: 1.5rem; margin: 0 0.25rem 0 0; padding: 0; position: relative; text-align: center; width: 2.5rem; }
table input[type=text]._wide { text-align: left; width: 100%; }
table ._small { color: #888; font-size: 0.55rem; margin-right: 0.5rem; white-space: nowrap; }
table ._small:nth-child(1) { margin-left: 1rem; }
table ._noborder { border-bottom: 1px solid transparent; }
table ._nopadding td { padding: 0; }
table ._active { border: 1px solid #1466ec; border-left: 2px solid #1466ec; position: relative; }
table ._active td:after { background: #1466ec; content: ''; height: 1px; left: 0; position: absolute; top: -1px; z-index: 5; width: 100%; }
table ._attention { border: 1px solid #1466ec; border-left: 2px solid #1466ec; position: relative; }
table ._attention td:after { background: #1466ec; content: ''; height: 1px; left: 0; position: absolute; top: -1px; z-index: 5; width: 100%; }
table ._attention td:nth-child(1):before { background: #1466ec; border-radius: 50%; color: #fff; content: '!'; display: inline-block; font-size: 0.8rem; font-weight: bold; height: 1.25rem; line-height: 1.25rem; margin-right: 0.5rem; text-align: center; width: 1.25rem; }

.tabItems { display: flex; font-size: 0.6rem; font-weight: bold; }
.tab { border-radius: 1rem 1rem 0 0; color: #2d346f; cursor: pointer; line-height: 3rem; padding: 0 1.5rem; position: relative; transition: none; }
.tab._active { background: #f4f4f4; }
.tab._active:before { border-radius: 0 0 0.5rem 0; bottom: 0; box-shadow: 0.5rem 0.5rem 0 0 #f4f4f4; content: ''; height: 1rem; left: -1rem; position: absolute; width: 1rem; }
.tab._active:after { border-radius: 0 0 0 0.5rem; bottom: 0; box-shadow: -0.5rem 0.5rem 0 0 #f4f4f4; content: ''; height: 1rem; position: absolute; right: -1rem; width: 1rem; }
.tab:first-of-type._active:before { background: #f4f4f4; border-radius: 0; bottom: -1rem; box-shadow: none; left: 0; }
.tabContent { display: none; }
.tabContent._active { display: block; }

.filesWrapper { background: #f4f4f4; border-radius: 1rem; margin-bottom: 1rem; padding: 1.5rem 1.5rem 1px; position: relative; }
.filesWrapper hr { background: #cccdce; border: none; height: 1px; margin: 0; }
.filesWrapper table td:first-of-type { padding-left: 0; }
.filesWrapper table td:last-of-type { padding-right: 0; }
.filesWrapper_fileName { font-size: 0.55rem; height: 1.5rem; line-height: 1.5rem; position: absolute; right: 4rem; top: 1rem; }
.filesWrapper_name { font-size: 0.6rem; font-weight: bold; margin-bottom: 1rem; }

.fileItems { margin-bottom: 1.5rem; }
.fileItems a { word-wrap: anywhere; }
.file { border: 2px dashed #cbdaf7; border-radius: 0.25rem; cursor: pointer; margin: 0 0 1.5rem; min-height: 8rem; padding: 2.5rem 1rem 0.5rem; text-align: center; }
.file._small { min-height: 4rem; margin: 0 0 1.5rem!important; padding: 0.5rem 1rem; }
.file_icon { fill: #1466ec; display: inline-block; height: 1.25rem; margin-bottom: 0.25rem; width: 1.25rem; }
.file_input { height: 0.1px; opacity: 0; overflow: hidden; position: absolute; width: 0.1px; z-index: -1; }
.file_name { color: #1466ec; display: block; }
.file:hover, .file._hover { border: 2px dashed #1466ec; }

.spoiler { cursor: pointer; }
.spoilerContent { display: none; transition: none; }

.pages { margin: 1rem 0; }
.pages > ul { display: flex; justify-content: end; }
.pages > ul > li { margin-left: 0.25rem; }
.pages > ul > li > a { background: #2d346f; border-radius: 0.25rem; color: #fff; display: block; height: 1.5rem; line-height: 1.5rem; text-align: center; width: 1.5rem; }
.pages > ul > ._active { font-weight: 600; }
.pages > ul > ._active > a { background: #1466ec; }

.push { bottom: -10rem; font-size: 0.8rem; left: 50%; padding: 1rem; position: fixed; z-index: 50; }
.push:before { border-radius: 0.5rem; content: ''; height: 100%; left: 0; opacity: 0.5; position: absolute; top: 0; width: 100%; }
.push._visible { bottom: 0.5rem; }
.push._success:before { background: #0b8043; color: #0b8043; }
.push_message { position: relative; }

.ui-widget { font-family: 'Montserrat', Arial, sans-serif; transition: none; z-index: 5!important; }
.ui-datepicker .ui-datepicker-title select { background: transparent; display: inline; font-family: 'Montserrat', Arial, sans-serif; line-height: normal; margin: 0; padding: 0; -webkit-appearance: auto; width: auto; }
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #2d346f; background: #eceff9; color: #2d346f }
.ui-datepicker table th:nth-child(1) { padding-left: 1px; }
.ui-datepicker table td:nth-child(1) { padding-left: 1px; }

@media (max-width: 1800px) {
}

@media (max-width: 1600px) {
	html { font-size: 18px; }

	._xxl_col20 { width: 20%; }
	._xxl_col25 { width: 25%; }
	._xxl_col30 { width: 30%; }
	._xxl_col33 { width: 33.333%; }
	._xxl_col50 { width: 50%; }
	._xxl_col66 { width: 66.666%; }
	._xxl_col75 { width: 75%; }
	._xxl_col80 { width: 80%; }
	._xxl_col100 { width: 100%; }

	._xxl_hidden { display: none; }
	._xxl_visible { display: block; }
	._xxl_ivisible { display: inline-block; }
}

@media (max-width: 1400px) {
	._xl_col20 { width: 20%; }
	._xl_col25 { width: 25%; }
	._xl_col30 { width: 30%; }
	._xl_col33 { width: 33.333%; }
	._xl_col50 { width: 50%; }
	._xl_col66 { width: 66.666%; }
	._xl_col75 { width: 75%; }
	._xl_col80 { width: 80%; }
	._xl_col100 { width: 100%; }

	._xl_hidden { display: none; }
	._xl_visible { display: block; }
	._xl_ivisible { display: inline-block; }
}

@media (max-width: 1200px) {
	html { font-size: 16px; }

	._lg_col20 { width: 20%; }
	._lg_col25 { width: 25%; }
	._lg_col30 { width: 30%; }
	._lg_col33 { width: 33.333%; }
	._lg_col50 { width: 50%; }
	._lg_col66 { width: 66.666%; }
	._lg_col75 { width: 75%; }
	._lg_col80 { width: 80%; }
	._lg_col100 { width: 100%; }

	._lg_hidden { display: none; }
	._lg_visible { display: block; }
	._lg_ivisible { display: inline-block; }
}

@media (max-width: 991px) {
	._md_col20 { width: 20%; }
	._md_col25 { width: 25%; }
	._md_col30 { width: 30%; }
	._md_col33 { width: 33.333%; }
	._md_col50 { width: 50%; }
	._md_col66 { width: 66.666%; }
	._md_col75 { width: 75%; }
	._md_col80 { width: 80%; }
	._md_col100 { width: 100%; }

	._md_hidden { display: none; }
	._md_visible { display: block; }
	._md_ivisible { display: inline-block; }
}

@media (max-width: 767px) {
	html { font-size: 14px; }

	._sm_col20 { width: 20%; }
	._sm_col25 { width: 25%; }
	._sm_col30 { width: 30%; }
	._sm_col33 { width: 33.333%; }
	._sm_col50 { width: 50%; }
	._sm_col66 { width: 66.666%; }
	._sm_col75 { width: 75%; }
	._sm_col80 { width: 80%; }
	._sm_col100 { width: 100%; }

	._sm_hidden { display: none; }
	._sm_visible { display: block; }
	._sm_ivisible { display: inline-block; }
}

@media (max-width: 575px) {
	._xs_col20 { width: 20%; }
	._xs_col25 { width: 25%; }
	._xs_col30 { width: 30%; }
	._xs_col33 { width: 33.333%; }
	._xs_col50 { width: 50%; }
	._xs_col66 { width: 66.666%; }
	._xs_col75 { width: 75%; }
	._xs_col80 { width: 80%; }
	._xs_col100 { width: 100%; }

	._xs_hidden { display: none; }
	._xs_visible { display: block; }
	._xs_ivisible { display: inline-block; }
}