@font-face {
    font-family: "M_ExtraLight";
    src: url("fonts/Manrope-ExtraLight.ttf") format("truetype");
}


@font-face {
    font-family: "M_Regular";
    src: url("fonts/Manrope-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "M_ExtraBold";
    src: url("fonts/Manrope-ExtraBold.ttf") format("truetype");
}

@font-face {
    font-family: "SemiBold";
    src: url("fonts/Manrope-SemiBold.ttf") format("truetype");
}



* {
    box-sizing: border-box;
    font-family: "M_Regular";
}


input:focus,
select:focus,
textarea:focus,
button:focus,
.texteditor:focus{
    outline: none !important;
}

b {
    font-family: "SemiBold";
}

body {
    padding: 0px;
    margin: 0px;
    display: flex;
    justify-content: center;
    align-items: top;
    height: auto;
    font-size: 16px;
    font-family: "M_Regular";
    background: #fafcff;
    overflow: hidden;
}

h1, h2, h3, h4, h5, .menuHeader {
    margin: 0px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 24px;
    font-family: 'SemiBold';
    color: #474d5b;
    padding: 0px 10px 16px 10px;
    border-bottom: 1px solid #edf2fe;
    text-align: left;
    width: 100%;
}

.errBlock {
    display: none;
}

.user {
    position: fixed;
    left: 0;
    top: 0;
    background: #fff;

    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.user_form {
    height: 50%;
    width: 50%;
}

.user_content {

}

.errBlock.active {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100%;
    background: #0000006b;
    left: 0px;
    top: 0px;
}

.errorblock {
    padding: 0px;
    background: #fff;
    width: 500px;
    box-shadow: 10px 10px 10px #0000003b;
}

.errorblock header.header {
    padding: 5px;
    border-bottom: 1px solid #eee;
    text-transform: uppercase;
    justify-content: space-between;
    font-family: "SemiBold";
    color: #e96363;
}

.hTitle.message {
    color: #12a500;
}

.hTitle.message:before {
    background: #12a500;
}

.closeErrMessage {
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
}

.closeErrMessage:before,
.closeErrMessage:after {
    content: "";
    display: block;
    height: 2px;
    width: 30px;
    background: #000;
    position: absolute;
    transition: 0.3s;
}

.closeErrMessage:before {
    transform: rotate(-45deg);
}

.closeErrMessage:after {
    transform: rotate(45deg);
}


.closeErrMessage:hover:before {
    transform: rotate(45deg);
}

.closeErrMessage:hover:after {
    transform: rotate(-45deg);
}

.hTitle:before {
    content: "!";
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e96363;
    color: #fff;
    margin-right: 10px;
    font-size: 25px;
}

.errContent {
    padding: 10px 20px;
}

p.titleError {
    font-family: "SemiBold";
    font-size: 20px;
    margin: 0px;
}


.flexBlock {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}


.form {
    width: 30%;
    padding: 20px;
    background: #fff;
    height: 98vh;
    overflow: auto;
    box-shadow: 0 1px 4px #e3ebfc, 0 24px 48px rgba(230, 235, 245, .4);
    margin: 1vh 0px;
    border-radius: 10px;
}

.form::-webkit-scrollbar {
    width: 24px; /* ширина scrollbar */
    border-radius:10px 10px 10px 10px;
}

.form::-webkit-scrollbar-track {
    background: #ffffff00; /* цвет дорожки */
}

.form::-webkit-scrollbar-thumb {
    background-color: #0095ff; /* цвет плашки */
    border-radius: 30px; /* закругления плашки */
    border: 10px solid #ffffff; /* padding вокруг плашки */
}

.form input {
    width: 100%;
    padding: 15px 10px;
    border-radius: 10px;
    margin: 4px 0px;
    border: 2px solid #dfe4ef;
    transition:0.3s;
}
.form input:focus {
    border: 2px solid #c4cddf;
}


.title {
    font-size: 16px;
    font-family: "SemiBold";
}

.menu {
    width: 15%;
    display: flex;
    padding: 30px 10px;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 10px;
}

.menu a {
    display: block;
    width: 100%;
    padding: 20px;
    text-align: center;
    background: #fff;
    text-decoration: none;
    color: #474d5b;
    border-radius: 10px;
    font-family: 'M_Regular';
    transition: 0.3s;
    box-shadow: 0 1px 4px #e3ebfc, 0 24px 48px rgba(230, 235, 245, .4);
}

.menu a:hover, .menu a.active {
    background: #eff5f9;
    color: #2196f3;
}

.content {
    width: 60%;
    padding: 30px 20px 20px 20px;
    height: 100vh;
    overflow: auto;
}

.addPunkt {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #52af55;
    color: #fff;
    font-family: "SemiBold";
    cursor: pointer;
    border-radius: 10px;
    transition: 0.3s;
}

.addPunkt:hover {
    background: #357537;
}

input, textarea {
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    border: 2px solid #dfe4ef;
    transition: 0.3s;
}
input:focus, textarea:focus {
    border: 2px solid #c4cddf;
}

textarea {
    height: 100px;
}

button {
    padding: 20px 20px;
    background: #fff;
    cursor: pointer;
    width: 100%;
    text-transform: uppercase;
    border: 0px;
    background: #2196F3;
    color: #fff;
    font-family: "SemiBold";
    border-radius: 10px;
    font-size: 16px;
    letter-spacing: 1px;
}

button:hover {
    background: #0660a7;
}

.listElements {
    padding: 10px 0px;
}

.infoList {
    background: #edf2fe;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 10px;
}

.headList {
    border-radius: 10px;
}

.headList div {
    padding: 10px;
}

.blockTitle {
    gap: 20px;
}

.blockTitle img {
    width: 50px;
}

.blockId {
    width: 50px;
    text-align: center;
}

.headList .blockOpen {
    height: 50px;
    width: 50px;
    background: #2196f3;
    color: #fff;
    font-size: 20px;
    font-family: "SemiBold";
    position: relative;
    padding: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 10px;
}

.openBlock .title {
    font-size: 20px;
    font-family: "SemiBold";
    margin: 10px 0px 4px 0px;
}

.textBlock p {
    margin: 4px;
}

.parentsList {
    background: #fff;
    border-radius: 10px;
    padding: 10px;
    margin-top: 10px;
}

.headList .blockOpen:hover {
    background: #aaa;
}

.blockOpen::before, .blockOpen::after {
    content: "";
    width: 15px;
    height: 2px;
    background: #fff;
    display: block;
    position: absolute;
    transition: 0.3s;
}

.blockOpen::before {
    transform: rotate(45deg);
    left: 13px;
}

.blockOpen::after {
    transform: rotate(-45deg);
    right: 13px;
}

.blockOpen.active::before {
    transform: rotate(-45deg);
}

.blockOpen.active::after {
    transform: rotate(45deg);
}

.openBlock {
    max-height: 0vh;
    overflow: hidden;
    transition: 0.1s;
}

.openBlock.active {
    max-height: max-content;
}

.blockTitle {
    width: 100%;
    font-family: "SemiBold";
}

input.check {
    width: 30px;
    margin: 0px;
}

.categoryList {
    flex-wrap: wrap;
    gap: 1%;
    align-items: stretch;
    margin-bottom: 20px;
}

label.checkList {
    width: 100%;
    padding: 5px;
    margin-bottom: 1%;
    border-radius: 10px;
    background: #edf2fe;
    transition: 0.3s;
}

img.parentImg {
    width: 40px;
    margin-right: 10px;
}

p.parentTitle {
    color: #555;
}

.parentBlock.flexBlock {
    padding: 4px 20px;
}

label.checkList:has(input:checked) {
    background: #52af55;
    color: #fff;
}

.categoryList.bigList label.checkList {
    width: 100%;
    border: 0px;
}

.treeList {
    margin-bottom: 5px;
    width: 100%;
}

select {
    padding: 5px;
    width: 100%;
}

.checkList p {
    margin: 3px 0px 3px 10px;
    padding: 5px 0px;
    font-weight: 400;
    font-size: 16px;
}

.checkList:hover {
    background: #90c392;
    color: #fff;
    cursor: pointer;
}

label {
    font-family: "SemiBold";
    font-size: 20px;
    margin-bottom: 7px;
    display: block;
}

label.title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    /* text-transform: uppercase; */
    color: #0b1f33;
}

label.title:before {
    content: "";
    width: 20px;
    height: 20px;
    margin-left: 10px;
    display: block;
    background: url(images/icons/inputs.svg);
    background-size: cover;
    background-position: center center;
}

label.title.links:before {
    background: url(images/icons/inputs_link.svg);
    background-size: cover;
    background-position: center center;
}

label.title.files:before {
    background: url(images/icons/inputs_files.svg);
    background-size: cover;
    background-position: center center;
}

label.title.checkeds:before {
    background: url(images/icons/inputs_check.svg);
    background-size: cover;
    background-position: center center;
}

label.title.textarea:before {
    background: url(images/icons/inputs_textarea.svg);
    background-size: cover;
    background-position: center center;
}

p.label {
    margin: 5px 0px 0px 0px;
}

.snipBlock {
    padding: 10px;
    /* border: 1px solid #aaa; */
    margin: 5px 0px;
    background: #edf2fe;
    border-radius: 10px;
}

.params {
    margin-bottom: 20px;
    border-bottom: 1px solid #edf2fe;
    padding-bottom: 20px;
}

.checkList input{
    width: 0px;
}

.addButton {
    width: 100%;
    padding: 10px 20px;
    text-align: center;
    background-color: #edf2fe;
    color: #0b1f33;
    cursor: pointer;
    border-radius: 10px;
    transition: 0.3s;
    display: flex;
    width: fit-content;
    position: relative;
    gap: 8px;
    align-items: center;
    justify-content: center;
}

.addButton:before {
    content: '';
    display: block;
    height: 20px;
    width: 20px;
    background: url("images/icons/plus.svg");
    background-size: cover;
    filter: invert(0);
}

.addButton:hover {
    background-color: #6692b5;
    color: #fff;
}

.addButton:hover:before {
    transform: matrix(360deg);
    filter: invert(1);
}

.fileBlock {
    margin-bottom: 10px;
    cursor: pointer;
}


p.infoLabel {
    font-size: 14px;
    margin-top: 0px;
    line-height: 132%;
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: #ffefef;
    border-radius: 10px;
}

p.infoLabel:before {
    content: '';
    display: block;
    width: 42px;
    height: 40px;
    background: url(images/icons/info.svg);
    background-size: cover;
}

a.linkTitle {
    text-decoration: none;
    background: #ffffff;
    padding: 4px 12px;
    color: #788195;
    display: flex;
    border-radius: 8px;
    width: auto;
    height: 40px;
    padding: 10px 20px;
    align-items: center;
    transition: 0.3s;
}

a.linkTitle:hover {
    background: #ffe3e3;
}

.punctTitles {
    font-family: "SemiBold";
    margin-bottom: 5px;
}

.punctText {
    margin-top: 5px;
}

.checkList .ppText {
    font-size: 12px;
}

.blockList {
    width: 100%;
    /* padding: 10px; */
    /* margin-bottom: 10px; */
}

.blockList img {
    width: 50px;
}

.checkListBlock {
    padding: 4px 0px;
    flex-wrap: wrap;
}

.docInfo,
.zakonInfo,
.stepInfo {
    padding: 10px;
    margin-bottom: 8px;
    background: #fff;
    border-radius: 10px;
}

p.titleList {
    font-family: "SemiBold";
    font-size: 16px;
}

.headerList.flexBlock {
    padding: 10px;
    gap: 10px;
}


.infoBlockNoInfo.flexBlock {
    width: 100%;
    justify-content: center;
}

.infoContainer {
    padding: 20px;
    background: #f7f7f7;
    border-radius: 10px;
    font-size: 20px;
}

.infoContainer h3 {
    background: #fff;
    color: #507e9f;
    height: 60px;
    padding: 0px 20px;
    border-radius: 10px;
}

.infoContainer ul {
    width: 600px;
    margin: 0px;
    padding: 10px;
    background: #fff;
    border-radius: 10px;
}

.infoContainer ul li {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 4px 0px;
}

.infoContainer p {
    font-size: 20px;
    font-family: "SemiBold";
    width: 100%;
    padding-right: 20px;
}

ul.humanInfo {
    width: 100%;
    padding: 20px;
    margin: 0px;
    background: #fff;
    border-radius: 10px;
}

ul.humanInfo img {
    width: 25px;
    margin-left: 50px;
}

.HumaTypeLists.flexBlock {
    flex-wrap: wrap;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

li.headerLi.flexBlock img {
    width: 40px;
    margin-left: 0px;
}


ul.humanInfo p {
    margin: 4px 10px;
}

li.flexBlock.humInfo {
    margin: 4px;
}

.headerLi p {
    font-size: 20px;
    font-family: "SemiBold";
}

.imgEdet {
    width: 100px;
    width: 100px;
}

.imgEditInput {
    margin-left: 10px;
    width: 100%;
}

.imgEditInput p {
    font-size: 12px;
    margin: 0px;
}


.findBlock {
    margin-bottom: 30px;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    background-color: #f5f7fa;
    border: #f5f7fa;
    border-radius: 10px;
    box-shadow: none;
    padding: 10px 20px 10px 10px;
}

.findBlock:after {
    content: "";
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url("images/icons/search.svg");
    background-size: cover;
}

input#searchInput {
    border: 2px solid #edf2fe;
    font-size: 16px;
}

.blockLink a {
    display: flex;
    gap: 4px;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    border-radius: 10px;
    background: #dfe4ef;
    color: #474d5b;
    padding: 10px;
    text-decoration: none;
    opacity: 0.5;
    transition: 0.3s;
}

.blockLink a:before{
    content: "";
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url("images/icons/edit.svg");
    background-size: cover;
}


.blockLink a:hover {
    opacity: 1;
}
