@font-face {
    font-family: 'Inter V';
    src: url('/fonts/inter_v.eot'); /* IE 9 Compatibility Mode */
    src: url('/fonts/inter_v.eot?#iefix') format('embedded-opentype'), /* IE < 9 */
    url('/fonts/inter_v.woff2') format('woff2'), /* Super Modern Browsers */
    url('/fonts/inter_v.woff') format('woff'), /* Firefox >= 3.6, any other modern browser */
    url('/fonts/inter_v.ttf') format('truetype'), /* Safari, Android, iOS */
    url('/fonts/inter_v.svg#inter_v') format('svg'); /* Chrome < 4, Legacy iOS */
}

@font-face {
    font-family: 'Gloria script';
    src: url('/fonts/Gloriascript.woff2') format('woff2'),
    url('/fonts/Gloriascript.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

:root {
    --font-accent: "Oranienbaum", serif;
    --gap-16-32: clamp(16px, 9.4545px + 1.8182vw, 32px);
    --padding-15-30: clamp(15px, 8.8636px + 1.7045vw, 30px);
}

*, h1, h2, h3 {
    font-family: 'Inter V', sans-serif;
}

a {
    color: red;
}

a:hover, a:focus {
    color: #AD001D;
}

body {
    background: #FFFBF0;
}

.family-tree-table td {
    position: relative;
    border-color: #BB9461;
}

td.generation-cell {
    background: #BB9461;
    vertical-align: middle;
}

.generation-cell > span,
.generation-cell a.open-popup-link {
    color: #fff;
}

.generation-cell a.open-popup-link:hover {
    color: #fff;
    opacity: 0.7;
}

.family-tree-parent *,
td.generation-cell{
    font-family: var(--font-accent);
    font-weight: 400;
    font-style: normal;
}

.main_user_cell a {
    font-size: 20px;
}

.person_role_name {
    text-transform: lowercase;
    color: #999;
}

.family-tree-parent .calc-2-gen .person_cell a,
.family-tree-parent .calc-3-gen .person_cell a{
    font-size: 18px;
    line-height: 1.2;
}

.family-tree-parent .calc-4-gen .person_cell a{
    font-size: 16px;
    line-height: 1.2;
}

.person_cell.gender-M a, .person-link-full-name.gender_M a, .person-link-full-name.gender_M, .pt-full-name.gender_M, span.person_gender_M, .event_second_person_name.gender_M {
    color: #AD001D;
}

.person_cell.gender-W a, .person-link-full-name.gender_W a, .person-link-full-name.gender_W, .pt-full-name.gender_W, span.person_gender_W, .event_second_person_name.gender_W {
    color: #412DB1;
}

a.add_person_gender_M {
    border-color: #AD001D;
    color: #AD001D;
}

a.add_person_gender_M:hover {
    background: #AD001D;
    color: #fff;
}

a.add_person_gender_W {
    border-color: #412DB1;
    color: #412DB1;
}

a.add_person_gender_W:hover {
    background: #412DB1;
    color: #fff;
}

.person_cell a:hover {
    color: #000;
}

.calc-2-gen .person_number,
.calc-2-gen .add_person_link,
.calc-3-gen .person_number,
.calc-3-gen .add_person_link,
.calc-4-gen .person_number,
.calc-4-gen .add_person_link,
.calc-5-gen .person_number,
.calc-5-gen .add_person_link{
    width: 30px;
    height: 30px;
    font-size: 16px;
}

.person-number-cell {
    border: 1px solid #000;
    border-radius: 50%;
    padding: 2px;
    line-height: 1;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #000;
    text-decoration: none;
}

.calc-6-gen .person_number,
.calc-6-gen .add_person_link,
.calc-6-gen .person-number-cell{
    width: 24px;
    height: 24px;
    font-size: 12px;
}

.calc-7-gen .person-number-cell{
    width: 18px;
    height: 18px;
    font-size: 8px;
}

.generation-cell a.open-popup-link {
    font-family: inherit;
}

.btn-primary {
    background: #AD001D;
    font-family: var(--font-accent);
    text-transform: uppercase;
    font-size: 20px;
    padding: 8px 30px;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background: #cc0728 !important;
    border-color: #cc0728 !important;
}

.container-header {
    background: transparent !important;
}

.header25 {
    max-width: 1440px;
    margin: 0 auto;
    padding: 40px 20px 0;
}

li.itemid175 a span {
    display: block !important;
    background: url('/images/design/logo-red.svg') no-repeat center!important;
    background-size: 100% !important;
    width: 60px;
    height: 60px !important;
}

.white-header li.itemid175 a span {
    background: url('/images/design/logo-white.svg') no-repeat center!important;
    background-size: 100% !important;
}

.header25 .dj-megamenu-default {
    background: transparent;
    box-shadow: none;
    gap: 0 60px;
    justify-content: center;
}

.header25 .dj-megamenu-default li a.dj-up_a {
    border: none;
    text-transform: uppercase;
    font-weight: 500;
    color: #AD001D;
    padding: 0;
}

.header25 .dj-megamenu-default li a.dj-up_a,
.header25 .dj-megamenu-default li:hover a.dj-up_a,
.header25 .dj-megamenu-default li.active a.dj-up_a{
    background: transparent;
}

.header25 .dj-megamenu-default li:hover a.dj-up_a span.name,
.header25 .dj-megamenu-default li.active a.dj-up_a span.name{
    text-decoration: underline;
}

.header25 .dj-megamenu-default:after {
    display: none;
}

.header25 .dj-megamenu-default li.parent a.dj-up_a {
    padding-right: 15px;
}

.header25-menu {
    width: 1100px;
    margin: 0 auto;
    position: relative;
}

.dj-megamenu-default li ul.dj-submenu>li>a:hover, .dj-megamenu-default li ul.dj-submenu>li>a.active, .dj-megamenu-default li ul.dj-submenu>li.hover:not(.subtree)>a {
    background: #555;
}

.profile-module-header {
    padding-top: 40px;
}

.header25 form.mod-login-logout {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: space-between;
}

.header25 .user-fio-logout {
    justify-content: flex-start;
    align-items: center;
}

.header25 .user-fio-logout .user-fio {
    max-width: unset;
    text-align: left;
}

.header25 .user-fio-logout .user-fio a {
    font-family: var(--font-accent);
    font-size: 24px;
}

.mod-breadcrumbs * {
    color: #9C9C9C;
}

.table-person-count-info {
    color: #9C9C9C;
}

.user-main-buttons {
    margin-top: 0;
}

.user-main-buttons a,
.add-mini-button,
.search-buttons button,
.rodorad-buttons-block button {
    border: 1px solid #000;
    color: #AD001D;
    text-transform: uppercase;
    font-size: 13px;
    padding: 7px 25px;
    text-align: center;
}

.user-main-buttons a:hover,
.add-mini-button:hover,
.search-buttons button:hover,
.rodorad-buttons-block button:hover,
.user-main-buttons a:focus,
.user-main-buttons a:hover,
.add-mini-button:hover,
.add-mini-button:focus,
body.itemid-138 a.drevo-table-link,
body.itemid-140 a.my-persons-link,
.search-buttons button:hover,
.rodorad-buttons-block button:hover,
.rodorad-buttons-block button:focus,
.matrix-body .matrix-link{
    border-color: #AD001D;
    background: #AD001D;
    color: #fff;
}

.mod-breadcrumbs__wrapper {
    margin-top: 40px;
}

h1 {
    font-family: var(--font-accent);
    font-size: 40px;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 25px;
}

h1 * {
    font-family: var(--font-accent);
}

.trc-result-procent-nasledovaniya-muzhskih-kachestv, .trc-result-procent-nasledovaniya-by-father {
    background: #AD001D;
}

.trc-result-procent-nasledovaniya-zenskih-kachestv, .trc-result-procent-nasledovaniya-by-mother {
    background: #412DB1;
}

.trc-title {
    font-size: 24px;
    font-family: var(--font-accent);
    font-weight: 400;
}

.footer {
    color: #fff;
    background: #AD001D;
}

.copyright {
    color: #fff;
}

.brand-logo img {
    width: 250px;
}

.footer-module-title {
    font-size: 22px;
    font-family: var(--font-accent);
    font-weight: 400;
}

.footer-menu ul li a:hover {
    color: #fff !important;
}

.textBanner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 40px 20px 0;
}

.textBanner-inner {
    text-align: center;
}

.search-param-field input[type="text"] {
    border-color: #AD001D;
}

.search-param-field input[type="text"]:focus {
    border-color: #000;
}

.search-param-generation input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

.search-param-field input[type="text"] {
    padding: 10px 15px;
}

.person-teaser > a {
    border-color: #E1DBCA;
}

.person-teaser.person_is_dead {
    background: #E1DBCA;
}

.person-teaser > a:hover {
    border-color: #D0B48D;
    border-width: 1px;
    /*padding: 14px;*/
}

.main_gender_M.main_my_person.person_is_direct .pfp-photo img, .person-teaser.gender_M.teaser_my_person.person_is_direct .pt-photo img {
    border: 2px solid #AD001D;
}

.main_gender_W.main_my_person.person_is_direct .pfp-photo img, .person-teaser.gender_W.teaser_my_person.person_is_direct .pt-photo img {
    border: 2px solid #412DB1;
}

.person-teaser .pt-full-name {
    font-family: var(--font-accent);
    font-weight: 400;
    font-size: 20px;
}

.person-rodstvo-teaser {
    font-style: normal;
}


.pfp-top {
    display: flex;
    gap: 50px;
}

.pfp-image {
    width: 25%;
}

.pfp-info {
    width: calc(75% - 50px);
}

.pfp-header h1 {
    width: 100%;
    text-transform: unset;
}

body.person_is_dead {
    background: #FFFBF0;
}

body.person_is_dead .footer {
    background: #AD001D;
    border: none
}

.pfp-header-buttons {
    background: #fff;
    padding: 15px 20px;
    border: 1px solid #E1DBCA;
    margin: 10px 0 10px;
    border-radius: 5px;
}

.change-first-tree-person input {
    background-size: 25px;
    width: 25px;
    height: 25px;
}

.pfp-header-buttons a {
    width: 25px;
}

.pfp-header {
    border: none;
    padding-bottom: 0;
}

.pfp-gender .person-field {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

.person-field-label, .event-item .event-name, .place-field-name, .comment-field-name {
    font-weight: 500;
    color: #9C9C9C;
    text-transform: uppercase;
    font-size: 14px;
}

.main_gender_W .pfp-gender .person-field-value {
    color: #412DB1;
}

.main_gender_M .pfp-gender .person-field-value {
    color: #AD001D;
}

.pfp-gender .person-field-value {
    font-family: var(--font-accent);
    font-size: 24px;
    line-height: 1;
}

.pfp-events {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
}

.event-item + .event-item {
    margin-top: 0;
}

.pfp-events > div {
    width: calc(33.333% - 33.3334px);
}

.family-tree-table {
    border-collapse: separate;
    border-spacing: 3px 10px;
}

.event-item .event-date-result {
    font-size: 24px;
    font-family: var(--font-accent);
    color: #4D3018;
}

.event-item .event_second_person_name {
    font-size: 24px;
    font-family: var(--font-accent);
    line-height: 1.2;
    margin: 5px 0;
}

.pfp-relatives {
    margin-top: 60px;
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
}

.pfp-relatives > div {
    width: calc(25% - 37.5px);
}

.person-field + .person-field {
    margin-top: 0;
}

.pfp-relatives .person-field-value .person-link-full-name,
.pfp-relatives .person-field-value .person-birth-year{
    font-size: 24px;
    font-family: var(--font-accent);
}

.pfp-relatives .person-field-value .person-link-full-name a {
    font-family: inherit;
}

.person_number {
    border: none;
}

a.add_person_gender_M,
a.add_person_gender_W{
    border-color: #ccc;
}

a.add_person_gender_M:hover {
    background: #ccc;
    color: #AD001D;
}

a.add_person_gender_W:hover {
    background: #ccc;
    color: #412DB1;
}

.person-number-cell.gender-M {
    color: #AD001D;
    border-color: #AD001D;
}

.person-number-cell.gender-W {
    color: #412DB1;
    border-color: #412DB1;
}

.person_cell.main_user_cell {
    font-size: 20px;
}

.calc-2-gen .person_cell,
.calc-3-gen .person_cell,
.calc-4-gen .person_cell{
    flex-wrap: wrap;
}

.person_BirthDeathPlace {
    width: 100%;
    margin-top: 3px;
    font-size: 18px;
    line-height: 1.2;
}

.calc-4-gen .person_BirthDeathPlace {
    font-size: 16px;
}

.person_BirthDeathPlace {
    display: block;
}

.calc-5-gen .person_BirthDeathPlace {
    font-size: 14px;
    margin: 0;
    width: auto;
    order: -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    height: 100%;
}

.calc-5-gen .person_BirthDeathPlace > div {
    height: 100%;
    text-align: right;
}

.calc-5-gen .table-birth-place {
    order: -1;
}

.person-cell-parent.gen5 .person_cell {
    width: 78px;
    align-content: flex-end;
    gap: 5px;
}

.calc-6-gen .person_BirthDeathPlace {
    font-size: 14px;
    display: flex;
    width: auto;
    order: -1;
    margin: 0;
}

.calc-6-gen .person_cell {
    flex-direction: column;
    text-align: right;
}

.calc-6-gen .person_cell > * {
    height: 100%;
}

.calc-7-gen .person_BirthDeathPlace {
    margin: 0;
    font-size: 12px;
    display: flex;
    width: auto;
}

.calc-7-gen .person_cell {
    gap: 5px;
}

.cbLogoutForm.gender_M .user-fio a {
    color: #AD001D;
}

.cbLogoutForm.gender_W .user-fio a {
    color: #412DB1;
}

.pfp-events .event-group {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.pfp-relatives .relatives-group {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.event-item.event-added.divorce {
    padding-top: 0;
}

.event-item.event-added.divorce > .event-name {
    border-top: none;
    padding: 0;
}

.pfp-relatives .person-link-full-name {
    line-height: 1.2;
}

.pfp-relatives .person-field .person-field-value + .person-field-value {
    margin-top: 10px;
}

.pfp-relatives .person-field .person-field-label {
    margin-bottom: 5px;
}

.calendar-item {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    font: 14px/1.2 'Inter V', sans-serif;
}
.calendar-head {
    text-align: center;
    padding: 5px;
    font-weight: 400;
    font-size: 16px;
    font-family: var(--font-accent);
}
.calendar-item table {
    border-collapse: collapse;
    width: 100%;
}
.calendar-item th {
    font-size: 12px;
    padding: 6px 7px;
    text-align: center;
    color: #414141;
    font-weight: normal;
}
.calendar-item td {
    font-size: 14px;
    padding: 10px 5px;
    text-align: center;
    border: 1px solid #e3c8a5;
}
.calendar-item tr th:nth-child(6), .calendar-item tr th:nth-child(7),
.calendar-item tr td:nth-child(6), .calendar-item tr td:nth-child(7)  {
    color: #e65a5a;
}
.calendar-day.last {
    color: #555 !important;
}
.calendar-day.today {
    font-weight: bold;
}
.calendar-day.event {
    background: #f7e1c5;
    /*position: relative;*/
    cursor: pointer;
}

.calendar-day.event.has-video-day {
    background: #52CA51;
    color: #fff !important;
}

.calendar-item {
    position: relative;
}
.calendar-day.event:hover .calendar-popup {
    display: block;
}
.calendar-popup {
    display: none;
    position: absolute;
    margin-top: 6px;
    /*left: 0;*/
    min-width: 250px;
    padding: 15px;
    background: #fff;
    text-align: left;
    font-size: 13px;
    z-index: 100;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    color: #000;
    box-sizing: border-box;
    cursor: default;
}

.calendar-wrp {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 20px;
    column-gap: 30px;
}

.calendar-view {
    max-width: 1000px;
    margin: 0 auto;
    background: #fff;
    padding: 40px 50px 50px;
    border: 1px solid #E1DBCA;
    border-radius: 15px;
}

.calendar-view > h3 {
    margin: 0 0 20px;
    color: #AD001D;
    text-align: center;
    font-family: var(--font-accent);
    font-size: 28px;
}

.calendar-popup-date {
    font-weight: normal;
    margin-bottom: 10px;
    font-family: var(--font-accent);
    font-size: 18px;
}

.calendar-popup a {
    display: block;
    margin-top: 7px;
    line-height: 1.1;
}

.calendar-day.event:hover {
    color: #ad001d !important;
}

.mt30 {
    margin-top: 30px;
}

.open_month_view_container {
    text-align: center;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 10px 20px;
    align-items: center;
    flex-wrap: wrap;
}

#calendar_wrapper {
    width: 100%;
    margin-top: 50px;
}

.current-week-line .user_event_item {
    font-size: 14px;
    line-height: 1.3;
}

.user_event_items {
    display: flex;
    flex-direction: column;
    margin-top: 10px;
}

.no-events-tag {
    margin-top: 10px;
    font-weight: normal;
    font-size: 12px;
    color: #999;
}

.open_month_view_container a {
    text-decoration: none;
    border-bottom: 1px dashed;
}

.open_month_view_container a:hover {
    border-bottom-style: solid;
}

.calendar-popup .user_event_item {
    border: 1px solid #eee;
    padding: 7px 10px;
    font-weight: normal;
    font-size: 12px;
}

.calendar-popup .user_event_item + .user_event_item {
    margin-top: 10px;
}

.calendar-popup .user_event_item a {
    margin-top: 3px;
    font-size: 14px;
}

.h3-border-style {
    border: 1px solid #AD001D;
    color: #AD001D;
    font-family: var(--font-accent);
    text-align: center;
    text-transform: uppercase;
    padding: 10px;
    font-weight: normal;
    font-size: 35px;
    border-radius: 5px;
}

.h3-border-style span {
    font-family: var(--font-accent);
}

.current-week-container {
    width: 100%;
    margin-top: 70px;
}

.current-week-line {
    display:flex;
    gap:10px;
    margin-top:20px;
}

.current-week-line .week-day {
    flex: 1;
    background: rgba(255, 255, 255, 0.8);
    padding: 10px;
    border: 1px solid #E1DBCA;
    border-radius: 5px;
}

.current-week-line .week-day.is_today {
    border-color: #999;
    border-width: 2px;
    padding: 9px;
}

.week-day-date {
    display: flex;
    gap: 10px;
}

.week-day-date .day-number {
    color: #000;
    font-family: var(--font-accent);
    font-size: 38px;
    line-height: 1;
}

.day-name-month {
    line-height: 1;
}

.day-name-month .month-name {
    font-family: var(--font-accent);
    font-size: 18px;
}

.day-name-month .day-name {
    text-transform: lowercase;
    color: #999;
    font-size: 14px;
    padding-top: 2px;
}

.user_event_items .user_event_item + .user_event_item {
    border-top: 1px solid #eee;
    padding-top: 5px;
    margin-top: 7px;
}

.user_event_item span {
    display: block;
}

.open_month_view_container button {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    text-decoration: none;
    border: none;
    border-bottom: 1px dashed;
    background: transparent;
    color: red;
}

.open_month_view_container button:hover {
    border-bottom-style: solid;
}

td.empty-day-td {
    background: #f7f7f7;
}

li.itemid146,
li.itemid147,
li.itemid162{
    display: none !important;
}

.dj-megamenu-default li.itemid176,
.dj-megamenu-default li.itemid177,
.dj-megamenu-default li.itemid178{
    display: block;
}

li.itemid161 {
    width: 194px;
}

.helpful-info-mainpage {
    width: 100%;
    margin-top: 70px;
}

.helpful-intro {
    display: flex;
    gap: 30px;
    margin-top: 25px;
}

.helpful-intro-image {
    width: 36%;
    min-width: 320px;
}

.helpful-intro-image img {
    border-radius: 5px;
}

.helpful-intro-text h4 {
    color: #AD001D;
    font-family: var(--font-accent);
    font-size: 24px;
    margin-bottom: 10px;
}

.helpful-intro-text li {
    color: #555;
}

.helpful-intro-text li p {
    margin: 0;
}

.aks-nav-main button {
    -webkit-appearance: none;
    border: none;
    width: 30px;
    height: 30px;
    padding: 0;
    pointer-events: all;
    opacity: 0.8;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.aks-nav-main button:hover {
    opacity: 1;
}

button.aks-prev {
    background: url(/images/design/back.svg) no-repeat left center;
    background-size: 25px;
}

button.aks-next {
    background: url(/images/design/next.svg) no-repeat right center;
    background-size: 25px;
}

.aks-nav-main {
    position: absolute;
    left: -25px;
    top: calc(50% - 15px);
    right: -25px;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
}

.aks-nav-main .disabled {
    opacity: 0.3 !important;
}

.owl-stage-outer {
    overflow: hidden;
}

.owl-stage {
    display: flex;
}

.helpful-list {
    position: relative;
    margin: 25px -10px 0;
}

.helpful-item {
    display: none;
    border: 1px solid #AD001D;
    padding: 15px;
    border-radius: 5px;
    height: 100%;
    position: relative;
    transition: 0.5s;
}

.helpful-item:hover {
    background: #fff;
}

.owl-item .helpful-item {
    display: block;
}

.helpful-item-parent {
    height: 100%;
    padding: 0 10px;
}

.helpful-title {
    font-family: var(--font-accent);
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 10px;
}

.helpful-item .media {
    margin-bottom: 10px;
}

.helpful-item .description {
    font-size: 14px;
    color: #555;
}

.helpful-item .description p:last-child {
    margin-bottom: 0;
}

.link-inset a {
    position: absolute;
    inset: 0;
    font-size: 0;
}

.itemid-101 .header,
.itemid-176 .header,
.itemid-177 .header,
.my_persons_mainpage .header{
    background-image: url(/images/design/header.webp) !important;
    background-repeat: no-repeat !important;
    background-position-x: center !important;
    background-position-y: center !important;
    background-size: 100% !important;
    height: 800px;
    position: relative;
}

.white-header .dj-megamenu-default li a.dj-up_a {
    color: #fff;
}


.gradient-strip {
    width: 100%;
    height: 200px;
    position: absolute;
    bottom: 0;
    background: linear-gradient(
            to bottom,
            rgba(255, 251, 240, 0) 0%,
            rgba(255, 251, 240, 1) 100%
    );
    display: none;
}

.figure-strip{
    width: 100%;
    height: 125px;
    position: absolute;
    bottom: 0;
    background-image: url(/images/design/figure_strip.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
}

.figure-strip-2 {
    width: 100%;
    height: 125px;
    background-image: url(/images/design/figure_strip_2.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    margin-top: 80px;
}

.logotext {
    text-align: center;
    font-family: var(--font-accent);
    text-transform: uppercase;
    font-size: 22px;
    color: #fff;
    padding-top: 20px;
}

.maintext {
    text-align: center;
    margin-top: auto;
    position: relative;
    z-index: 9;
    padding-bottom: 80px;
}

.itemid-176 .maintext,
.itemid-177 .maintext,
.my_persons_mainpage .maintext{
    margin-bottom: auto;
    padding-bottom: 125px;
}

.maintext1 {
    font-family: var(--font-accent);
    text-transform: uppercase;
    font-size: 60px;
    line-height: 1.2;
    color: #fff;
}

.itemid-101 .header25,
.itemid-176 .header25,
.itemid-177 .header25,
.my_persons_mainpage .header25{
    height: 100%;
    display: flex;
    flex-direction: column;
}

.maintext2,
.maintext2 a {
    font-family: 'Gloria script', sans-serif;
    color: #fff;
    font-size: 70px;
    line-height: 0.5;
    display: none;
}

.main-login .top-login-module {
    width: 100%;
    justify-content: center;
}

.main-login {
    padding-top: 50px;
}

.dj-megamenu-default {
    z-index: 9;
}

.main-login > form.cbLogoutForm {
    background: rgba(255, 255, 255, 0.8);
    padding: 15px 20px 15px 20px;
    border-radius: 10px;
    max-width: 900px;
    margin: 0 auto;
}

.mobile-logo a {
    color: #AD001D;
    text-decoration: none;
    display: flex;
    gap: 7px;
}

.white-header .mobile-logo a {
    color: #fff;
}

.mobile-logo .mobile-logo-text {
    font-family: var(--font-accent);
    text-transform: uppercase;
    font-size: 16px;
    line-height: 1.3;
}

.mobile-logo-img {
    background: url('/images/design/logo-red.svg') no-repeat center!important;
    background-size: 100% !important;
    min-width: 40px;
    width: 40px;
    height: 40px;
}

.white-header .mobile-logo-img {
    background: url('/images/design/logo-white.svg') no-repeat center!important;
    background-size: 100% !important;
}

.dj-megamenu-offcanvas-light .dj-mobile-open-btn {
    width: 35px;
    height: 35px;
    background-image: url(/images/design/hamburger-gold.svg) !important;
    background-repeat: no-repeat !important;
    background-size: 100% !important;
    background-color: transparent !important;
    background-position: center !important;
    border-radius: 0;
}

.dj-mobile-open-icon {
    display: none;
}

.white-header .dj-megamenu-offcanvas-light .dj-mobile-open-btn {
    background-image: url(/images/design/hamburger-white.svg) !important;
}

.footer-menu ul li {
    margin-bottom: 10px;
    line-height: 1.4;
}

.copyright {
    margin-top: 30px;
}

.dj-offcanvas-light {
    background: #BB9461;
    color: #fff;
}

.dj-offcanvas-light .dj-offcanvas-logo img {
    width: 75px;
}

ul.dj-mobile-light li.dj-mobileitem>a {
    background: transparent;
    border: none;
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
}

.dj-mobile-nav li:last-child {
    border: none
}

ul.dj-mobile-light li.dj-mobileitem:hover>a, ul.dj-mobile-light li.dj-mobileitem.active>a {
    background: transparent;
    text-decoration: underline;
}

ul.dj-mobile-light li.dj-mobileitem>a {
    padding: 13px 15px;
}

.dj-offcanvas-close-icon {
    background: url(/images/design/close-white.svg) no-repeat center;
    opacity: 1;
    width: 25px;
    height: 25px;
    background-size: 20px;
}

.dna {
    margin-top: 30px;
}

.help-full-main {
    display: flex;
    gap: 40px;
}

.help-full-sidebar.image {
    width: 400px;
    min-width: 400px;
}

.help-full-content,
.help-full-bottom{
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.help-full-sidebar.video {
    width: 560px;
    min-width: 560px;
}

.help-full-sidebar.video iframe {
    width: 100%;
}

.help-full-content .element > h3,
.help-full-bottom .element > h3{
    font-size: 18px !important;
    font-weight: 600 !important;
}

.gallery .zoo-gallery-wall {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.gallery .zoo-gallery-wall:before,
.gallery .zoo-gallery-wall:after {
    display: none;
}

.gallery a.thumb {
    margin: 0;
    width: calc(20% - 12px);
}

#lightbox-wrap,
#lightbox-wrap * {
    box-sizing: content-box;
}

main {
    margin-bottom: 0;
}

.itemid-176 .mod-breadcrumbs__wrapper,
.itemid-177 .mod-breadcrumbs__wrapper,
.my_persons_mainpage .mod-breadcrumbs__wrapper{
    display: none;
}

.center-full h1 {
    color: #AD001D;
    margin-bottom: 50px;
}

.itemid-176 main,
.itemid-177 main,
.my_persons_mainpage main{
    margin-top: 0;
}

.center-text1,
.center-image-text2{
    display: flex;
    gap: 80px;
}

.center-text1 .element,
.center-image-text2 .element{
    flex: 1;
    color: #4D3018;
}

.center-content {
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.center-content .element h2,
.cbl-content h2 {
    font-family: var(--font-accent);
    font-size: 35px;
    font-weight: 400;
    margin-bottom: 20px !important;
}

.center-video iframe {
    width: 100%;
}

.center-bottom-block {
    background: #BB9461;
    padding: 20px 20px 50px;
}

.itemid-176 .footer,
.itemid-177 .footer {
    margin-top: 0;
}

.cbl-content {
    max-width: 1400px;
    margin: 0 auto;
    color: #fff;
    display: flex;
    gap: 80px;
}

.cbl-textarea {
    flex: 1;
}

.help-full-main + .help-full-bottom {
    margin-top: 30px;
}

.mejs-controls {
    display: flex;
}

.section-label {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 18px;
    font-weight: 500;
    color: #555;
    margin-bottom: 30px;
}

.section-label:before {
    content: '';
    display: block;
    width: 11px;
    height: 11px;
    background: #AD001D;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

.school-page {
    max-width: 1200px;
    margin: 0 auto;
    color: #414141;
    padding-bottom: 80px;
    display: flex;
    flex-direction: column;
    gap: 90px;
}

.school-about-text1 {
    font-size: 20px;
}

.school-about-elements {
    margin-top: 10px;
    font-size: 20px;
    font-weight: 500;
}

.school-about-elements .element {
    display: flex;
    gap: 20px;
}

.school-about-elements .element span {
    display: flex;
    gap: 20px;
}

.school-about-elements .element span:after {
    content: '';
    display: block;
    background: url(/images/design/photo.svg) no-repeat left;
    width: 38px;
    background-size: 38px;
}

.school-about-elements .element span:last-child:after {
    display: none;
}

.mainpage_table_text {
    margin-top: 70px;
}

.school-about-block-2 {
    color: #fff;
    background-color: #C0A68B;
    border-radius: 15px;
    padding: 30px;
    display: flex;
    gap: 60px;
    align-items: center;
}

.school-about .school-about-block-2 {
    margin-top: 70px;
}

.school-about-text2 {
    font-size: 20px;
}

.school-about-text2 + .school-about-image {
    width: 400px;
    min-width: 400px;
}

.school-about-image a {
    transition: 0.5s;
}

.school-about-image a:hover {
    opacity: 0.8;
}

.school-about-image a img {
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

.school-page h2,
.school-page h2 *{
    font-family: var(--font-accent);
    font-size: 40px;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 25px;
}

.school-block2 .element-text {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 35px;
}

.school-block2 .element-text span {
    flex-basis: 300px;
    flex-grow: 1;
    background: #F7F1E4;
    border-radius: 15px;
    padding: 30px;
    font-size: 18px;
}

.school-rodovedenie-item {
    display: flex;
    gap: 200px;
}

.school_ri-num {
    font-size: 60px;
    color: #bababa;
    line-height: 1;
    font-weight: 300;
    width: 90px;
    min-width: 90px;
}

.school_ri-data {
    display: flex;
    gap: 40px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 40px;
    margin-bottom: 40px;
}

.school-rodovedenie-item:last-child .school_ri-data  {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.school_ri-data > * {
    flex: 1;
}

.school-rod-title {
    font-size: 22px;
    font-weight: 500;
}

.school-rod-text {
    font-size: 20px;
}

.school-rod-text p:last-child {
    margin-bottom: 0;
}

.school-rodovedenie-table {
    margin-top: 35px;
}

.school-tasks .uk-scope .uk-card-default {
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    font-size: 18px;
}

#yoo-zoo .item .school-tasks .uk-h3 {
    font-family: var(--font-accent);
    font-size: 25px !important;
}

.school-for-elements .element {
    display: flex;
    flex-wrap: wrap;
    gap: 35px;
}

.school-for-elements .element > * {
    background: #F7F1E4;
    border-radius: 15px;
    padding: 30px;
    font-size: 18px;
    flex-basis: 300px;
    flex-grow: 1;
}

.school-for-elements .element > *:first-child {
    flex-basis: 100%;
}

.school-for-elements strong {
    font-weight: 500;
}

.school-skills-elements-image {
    display: flex;
    align-items: center;
    gap: 40px;
}

.school-skills-image {
    width: 370px;
    min-width: 370px;
}

.school-skills-image img {
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

.school-skills-elements > .element {
    display: flex;
    flex-direction: column;
    gap: 25px;
    font-size: 20px;
}

.school-skills-elements > .element > span {
    padding-left: 50px;
    background: url(/images/design/done.webp) no-repeat left 3px / 24px;
}

.school2-content {
    display: flex;
    gap: 40px;
    margin-top: 40px;
}

.school2 .element-textarea {
    font-size: 20px;
}

.school2 .element-textarea strong {
    font-weight: 500;
}

.school2-image {
    width: 300px;
    min-width: 300px;
}

.school2-image img {
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

.mainpage_video {
    display: flex;
    gap: 40px;
    width: 100%;
    margin-top: 50px;
}

#mod-custom137 {
    font-size: 18px;
    text-align: right;
}

#mod-custom139 {
    font-size: 14px;
    margin: 20px 0;
    color: #555;
}

.mainpage_table_text .school-about-text2 {
    font-size: 16px;
}

.mainpage_table_text .school-about-text2 + .school-about-image {
    width: 42%;
    min-width: 42%;
}

.maintext1.dna-maintext {
    color: #a36347;
    text-align: center;
    width: 100%;
    margin-top: 50px;
}

.mainpage_table_text > h3 {
    margin-bottom: 25px;
}

.teaser-item .helpful-item {
    display: block !important
}

.teaser-item .helpful-item-parent {
    padding: 0;
}

.teaser-5-col .items {
    margin: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.teaser-5-col #yoo-zoo .items div.teaser-item {
    padding: 0;
    width: calc(20% - 16px);
}

.zoo-pagination {
    width: 100%;
}

.helpful-more {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.navigation-block {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    width: 100%;
    justify-content: space-between;
    background: rgba(173, 0, 29, 0.8);
    margin-top: 30px;
}

.navigation-block .nav-item {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 150px;
    flex-grow: 1;
    background: #AD001D;
    color: #fff;
    text-align: center;
    text-decoration: none;
    padding: 30px 10px;
    text-transform: uppercase;
    font-weight: 300;
}

.navigation-block .nav-item:hover {
    background: rgba(173, 0, 29, 0.7);
}

.school-block2 {
    padding-top: 20px;
}

.school-section.school-about {
    margin-bottom: -20px;
}

.mainpage_video_text {
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: space-around;
    width: calc(43% - 40px);
}

#mod-custom137 h2 {
    font-family: 'Gloria script', sans-serif;
    font-size: 100px;
    text-align: right;
    color: #C0A68B;
    line-height: 0.8;
}

.itemid-144 #yoo-zoo .item div.pos-sidebar {
    width: 450px;
    margin-left: 50px;
}

.itemid-144 .item .pos-sidebar img {
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

.itemid-144 #yoo-zoo .item h2,
.itemid-144 #yoo-zoo .item h2 *{
    font-family: var(--font-accent);
    font-size: 35px;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 25px;
}

.itemid-144 #yoo-zoo .item .pos-description {
    font-size: 18px;
}

.itemid-138 .site-block,
.itemid-138 .footer-container,
.family-tree-table,
.itemid-138 .header25{
    max-width: 1700px;
}

form#directoryEditForm, #yoo-zoo > .submission, form.document-add-form {
    background: #fff;
    padding: 25px 30px;
    border: 1px solid #E1DBCA;
    border-radius: 5px;
}

.pfp-full-line {
    padding-top: 50px;
}

.mainpage_video video {
    width: 57%;
}

.person-interest-facts-and-docs {
    margin-top: 60px;
    display: flex;
    align-items: start;
    gap: 30px;
}

.person-bottom-box {
    flex: 1;
    background: #E4D2B7;
    border-radius: 5px;
    padding: 25px 35px;
    position: relative;
}

.person-bottom-box:before {
    content: "";
    display: block;
    width: 100px;
    height: 85px;
    position: absolute;
    right: 20px;
    top: -35px;
    background-repeat: no-repeat;
    background-position: center;
}

.person-interest-facts.person-bottom-box:before {
    background-image: url(/images/design/convert.png);
    background-size: 100px;

}

.person-docs-container.person-bottom-box:before {
    background-image: url(/images/design/folder.png);
    background-size: 80px;
}

.person-bottom-box h3{
    font-family: var(--font-accent);
    color: #4D3018;
    width: 100%;
}

.one_item_text p:last-child {
    margin-bottom: 0;
}

.one_item_text {
    font-size: 14px;
}

.read-more {
    text-decoration: none;
    color: #C45C3E;
}

.read-more svg {
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
}

.read-more:hover svg {
    transform: translateX(4px);
}

.one_item_text + .one-item-link {
    margin-top: 10px;
}

.one-item-link .read-more {
    font-size: 14px;
}

.itemid-138 .site-block {
    box-sizing: border-box;
}

.family-tree-table td.fathers_side:before,
.family-tree-table td.mothers_side:before {
    content: '';
    display: block;
    width: 1px;
    height: 10px;
    background: #BB9461;
    position: absolute;
    left: calc(50% - 1px);
    top: -11px;
}

.school-video video {
    width: 100%;
    height: auto;
}

.school-main-link {
    margin-top: 30px;
}

.school-main-link .btn {
    display: block;
}

.footer-social {
    display: flex;
    gap: 25px;
}

.footer-social-link {
    width: 40px;
    transition: .5s;
}

.footer-social-link:hover {
    opacity: 0.8;
}

.video-container-css {
    position: relative;
    padding-bottom: 56.25%;
    background-color: #eee;
}

.video-container-css iframe {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    inset: 0;
}

.person-link-full-name::after,
.person-link-full-name::before {
    font-weight: bold;
    color: #555;
}


.relation-type-2 .person-link-full-name::before {
    content: '[ ';
}

.relation-type-2 .person-link-full-name::after {
    content: ' ]';
}

.relation-type-3 .person-link-full-name::before {
    content: '( ';
}

.relation-type-3 .person-link-full-name::after {
    content: ' )';
}

/* Сводные */
.relation-type-4 .person-link-full-name::before {
    content: '{ ';
}
.relation-type-4 .person-link-full-name::after {
    content: ' }';
}

/* Приемные дети */
.relation-type-5 .person-link-full-name::before {
    content: '/ ';
}
.relation-type-5 .person-link-full-name::after {
    content: ' /';
}


.relation-type-1 .person-link-full-name::before {
    content: '' !important;
}

.relation-type-1 .person-link-full-name::after {
    content: '' !important;
}


.popup-link-faq-style .open-popup-link {
    display: inline-block;
    text-decoration: none;
    background: #9c9c9c;
    color: #fff;
    line-height: 1;
    padding: 3px;
    width: 20px;
    height: 20px;
    text-align: center;
    border-radius: 50%;
    margin-left: 5px;
    transition: .5s;
}

.popup-link-faq-style .open-popup-link:hover {
    background: #AD001D;
}

.popup-link-faq-style .universal_popup_content {
    color: #212529;
    text-transform: none;
    font-weight: 400;
}

.popup-link-faq-style .universal_popup_content h3 {
    font-family: var(--font-accent);
}

#yoo-zoo div.submission .matrix-order__items .pos-content {
    padding: 30px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background: #f9f9f9;
}

#yoo-zoo div.submission .matrix-order__items .pos-content:not(:last-child) {
    margin-bottom: 30px;
}

.matrix-order__items fieldset[class*="matrix-order__block-"] {
    display: none;
}

.matrix-order__items fieldset[class*="matrix-order__block-"].matrix-order-visible {
    display: block;
}

.zm-add-block {
    display: block;
    margin: 0 0 15px;
    padding: 0;
    background: transparent;
    color: #AD001D;
    border: none;
    border-bottom: 1px dashed;
}

.zm-add-block:hover {
    color: #cc0728;
    border-bottom-style: solid;
}

.business-default-znakovaya-matritsa,
.matrix-body main{
    min-height: 500px;
}

.journal-buttons {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.journal-buttons__link {
    background: #fff;
    padding: 20px 30px;
    border: 1px solid #999;
    border-radius: 15px;
    color: #414141;
    text-decoration: none;
    font-size: 17px;
    flex-basis: 280px;
    flex-grow: 1;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3;
}

.journal-buttons__link:hover {
    border-color: #AD001D;
}

.journal-buttons__link--unactive {
    pointer-events: none;
    opacity: 0.6;
}

.color-select-wrapper { position: relative; display: inline-block; min-width: 200px; }
.color-select-current { padding: 6px 12px; border: 1px solid #ccc; cursor: pointer; display: flex; align-items: center; gap: 8px; background: #fff; border-radius: 4px; }
.color-select-dropdown { display: none; position: absolute; top: 100%; left: 0; border: 1px solid #ccc; background: #fff; z-index: 100; min-width: 100%; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
.color-select-dropdown.open { display: block; }
.color-select-option { padding: 6px 12px; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.color-select-option:hover { background: #f0f0f0; }
.color-dot { width: 16px; height: 16px; border-radius: 50%; display: inline-block; flex-shrink: 0; }


.zm-circles-group:not(:first-child) {
    margin-top: 30px;
}

.zm-circles-grid {
    display: grid;
    grid-template-columns: repeat(16, 48px);
    gap: 10px;
}

.matrix-body .element-textarea textarea {
    height: 100px;
}

@media (max-width: 1050px) {
    .zm-circles-grid {
        grid-template-columns: repeat(8, 48px);
    }
}

@media (max-width: 550px) {
    .zm-circles-grid {
        grid-template-columns: repeat(4, 48px);
    }
}

.zm-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.zm-circle--empty {
    background: #f0f0f0;
    border: 2px dashed #999;
    color: #999;
}

.zm-circle--empty:hover {
    background: #e0e0e0;
    border-color: #666;
    color: #666;
    transform: scale(1.1);
}

.zm-circle--filled {
    background: #777;
    border: 2px solid #777;
    color: #fff;
}


.zm-circle--filled:hover {
    transform: scale(1.1);
    color: #fff;
}

.zm-circle--filled:active,
.zm-circle--filled:focus {
    color: #fff;
}

.rod_coefficients_history {
    margin-top: 20px;
}

.rod-history-btn {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    padding: 0;
    border-bottom: 1px dashed;
    color: #AD001D;
}

.rod-history-btn:hover {
    border-bottom-style: solid;
}

.rod-history-table {
    margin-top: 15px;
    font-size: 14px;
    background: #fff;
}

.rod-history-table th {
    font-weight: 600;
}

.matrix-order-field-error {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.25) !important;
}

.zm-circle--empty-color {
    background: #fff;
    border: 2px solid #333;
    color: #333;
}

.zm-circle--empty-color:hover {
    background: #f0f0f0;
    filter: none;
    color: #000;
}

.zm-circle--empty-color:active,
.zm-circle--empty-color:focus{
    color: #000;
}

.artefacts-form {
    background: #F7F1E4;
    border-radius: 15px;
    padding: 30px;
    max-width: 1000px;
    margin: 0 auto;
}

.artefacts-form > h2 {
    font-family: var(--font-accent);
    font-size: 2rem;
}

.artefact-h4 {
    margin-top: 30px;
    font-size: 1.3rem;
    border-left: 2px solid #D4C9A8;
    padding-left: 10px;
    margin-bottom: 15px;
    font-weight: bold;
}

.artefact-h3 {
    font-size: 1.3rem;
    margin-top: 1rem;
    border-bottom: 2px solid #D4C9A8;
    padding-bottom: 10px;
    color: #AD001D;
    font-weight: bold;
}

.mt40 {
    margin-top: 40px;
}

.artefacts-form .rsform-block-photo-7,
.separate-border-top{
    border-top: 2px solid #D4C9A8;
    padding-top: 30px;
    margin-top: 35px;
}

.artefacts-form .rsform-block-submit {
    margin: 40px 0 0 !important;
    text-align: center;
}

body.itemid-186 .rsform-dir-row:after,
body.itemid-186 .rsform-dir-row:before{
    content: unset;
}

.itemid-186 .rsform-dir-input-value .btn-small {
    margin-bottom: 10px;
}

.artefacts-view {
    margin-top: 40px;
}

.artefacts-view__title {
    font-family: var(--font-accent);
    margin-bottom: 20px;
}

.artefacts__columns {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr));
    gap: var(--gap-16-32);
}

.artefact-block__image {
    border-radius: 5px;
}

.artefacts__title {
    font-family: var(--font-accent);
    font-size: 2rem;
    margin: 0;
}

.artefact-block__image-title {
    margin: 0;
    text-align: center;
    font-weight: 500;
    line-height: 1.3;
}

/* Текстовый спойлер без HTML - начало */

.text-spoiler__content {
    overflow: hidden;
}

.text-spoiler.is-ready .text-spoiler__content {
    transition: max-height 0.3s ease;
}

.text-spoiler__content::after {
    content: '';
    position: sticky;
    bottom: 0;
    display: block;
    height: 0;
    opacity: 0;
    background: linear-gradient(transparent, var(--spoiler-bg, white));
    pointer-events: none;
    transition: opacity 0.3s ease, height 0.3s ease;
}

.text-spoiler.has-spoiler .text-spoiler__content::after {
    height: 30px;
    opacity: 1;
}

.text-spoiler.is-open .text-spoiler__content::after {
    opacity: 0;
    height: 0;
}

.text-spoiler__btn {
    display: none;
}

.text-spoiler.has-spoiler .text-spoiler__btn {
    display: block;
}

/* Текстовый спойлер без HTML - конец */

.artefacts-view {
    --spoiler-bg: #F7F1E4;
}

.artefact-block {
    background: #F7F1E4;
    border-radius: 15px;
    padding: var(--padding-15-30);
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.artefacts__column {
    display: flex;
    flex-direction: column;
    gap: 20px;
    container-type: inline-size;
}

.artefact-block__title {
    margin: 0;
    font-family: var(--font-accent);
    font-size: 1.6rem;
}

.text-spoiler__btn {
    -webkit-appearance: none;
    appearance: none;
    border: none;
    background: transparent;
    padding: 5px 0 0;
    margin: 0;
    color: #AD001D;
    border-bottom: 1px dashed;
    font-size: 14px;
}

.family-graph {
    margin-top: 40px;
}


@media (max-width: 1740px) {
    .family-tree-parent {
        overflow: auto;
    }
}

@media (max-width: 1480px) {
    .helpful-list {
        margin-left: 10px;
        margin-right: 10px;
    }
}


@media (max-width: 1440px) {
    .itemid-101 .header,
    .itemid-176 .header,
    .itemid-177 .header,
    .my_persons_mainpage .header{
        background-size: 1440px !important;
    }
}


@media (max-width: 1300px) {
    .help-full-sidebar.video {
        width: 450px;
        min-width: 450px;
    }

    .gallery a.thumb {
        width: calc(25% - 12px);
    }

}

@media (max-width: 1200px) {
    .current-week-line {
        flex-wrap: wrap;
    }

    .current-week-line .week-day {
        min-width: 190px;
    }

    .calendar-day:last-child .calendar-popup {
        right: 0;
    }

    .teaser-5-col #yoo-zoo .items div.teaser-item {
        width: calc(25% - 15px);
    }

    .center-text1,
    .center-image-text2,
    .cbl-content{
        gap: 40px;
    }

    .pfp-events > div {
        width: calc(50% - 25px);
    }

    .pfp-relatives > div {
        width: calc(33.333% - 33.3334px);
    }

    .pfp-image {
        width: 33.333%;
    }

    .person-interest-facts-and-docs {
        flex-wrap: wrap;
        gap: 50px;
    }

    .person-bottom-box {
        min-width: 100%;
    }

    .itemid-144 #yoo-zoo .item div.pos-sidebar {
        width: 350px;
        margin-left: 30px;
    }

}

@media (max-width: 1140px) {
    .dj-megamenu-default li a.dj-up_a {
        font-size: 13px;
    }

    .header25-menu {
        width: 100%;
    }

    .header25 .dj-megamenu-default {
        gap: 0 40px;
    }

    li.itemid161 {
        width: 166px;
    }

    .logotext {
        font-size: 18px;
    }

    .maintext1 {
        font-size: 45px;
    }

    .maintext2, .maintext2 a {
        font-size: 50px;
    }

    .header25 .user-fio-logout .user-fio a {
        font-size: 20px;
    }

    .navigation-block .nav-item {
        flex-basis: 20%;
    }

}

@media (max-width: 1100px) {

    .school-rodovedenie-item {
        gap: 100px;
    }


}

@media (max-width: 1000px) {
    .header25 {
        padding-top: 30px;
    }

    .mobile-logo {
        display: block !important;
    }

    .logotext {
        display: none;
    }

    .header25-menu {
        display: flex;
        justify-content: space-between;
    }

    .itemid-101 .header,
    .itemid-176 .header,
    .itemid-177 .header,
    .my_persons_mainpage .header{
        height: 600px;
        background-position-y: bottom !important;
    }

    .h3-border-style {
        font-size: 30px;
    }

    .help-full-sidebar.video {
        width: 350px;
        min-width: 350px;
    }

    .gallery a.thumb {
        width: calc(33.333% - 10px);
    }

    .figure-strip,
    .figure-strip-2{
        height: 80px;
        background-size: 1660px;
    }

    .itemid-176 .maintext,
    .itemid-177 .maintext,
    .my_persons_mainpage .maintext{
        padding-bottom: 80px;
    }

    .center-text1,
    .center-image-text2 {
        flex-direction: column;
        gap: 40px;
    }

    .center-full h1 {
        margin-bottom: 30px;
    }

    .cbl-content {
        flex-direction: column;
    }

    .teaser-5-col #yoo-zoo .items div.teaser-item {
        width: calc(33.333% - 14px);
    }

    .mainpage_video {
        flex-direction: column;
        gap: 30px;
        margin-top: 30px;
    }

    .mainpage_video video,
    .mainpage_video iframe{
        width: 100%;
    }

    .mainpage_video_text {
        width: 100%;
        align-items: center;
    }

    #mod-custom137 h2 {
        text-align: center;
        font-size: 80px;
    }

    .school-about-block-2 {
        flex-direction: column;
        gap: 30px;
    }

    .mainpage_table_text .school-about-text2 + .school-about-image,
    .school-section .school-about-text2 + .school-about-image {
        min-width: unset;
        width: 100%;
        order: -1;
    }

    .mainpage_video_text_button {
        margin-top: 10px;
    }

    .pfp-top {
        flex-wrap: wrap;
    }

    .pfp-image {
        order: -1;
        display: none;
    }

    .pfp-image-mobile {
        display: block !important;
        width: 100%;
        order: unset;
    }

    .pfp-image-mobile .pfp-photo {
        max-width: 300px;
    }

    .pfp-info {
        width: 100%;
    }

    .pfp-relatives > div {
        width: calc(50% - 25px);
    }

    .itemid-144 #yoo-zoo .item .pos-description {
        font-size: 16px;
    }

    .itemid-144 #yoo-zoo .item h2, .itemid-144 #yoo-zoo .item h2 * {
        font-size: 30px;
    }

    #mod-custom137 {
        text-align: center;
    }

}


@media (max-width: 900px) {
    .school-about-text1 {
        font-size: 18px;
    }

    .school-about-elements {
        font-size: 16px;
        font-weight: 600;
    }

    .school-about-elements .element span:after {
        width: 25px;
        background-size: 25px;
    }

    .school-skills-elements-image {
        flex-direction: column;
        align-items: start;
    }

    .school-skills-image {
        order: -1;
        width: 100%;
        max-width: 500px;
        min-width: unset;
    }

    .school2-content {
        flex-direction: column;
    }

    .school2-image {
        width: 100%;
        min-width: unset;
        max-width: 500px;
    }

}

@media (max-width: 830px) {
    .maintext1 {
        font-size: 35px;
    }

    .maintext2, .maintext2 a {
        font-size: 40px;
    }

    .itemid-101 .header,
    .itemid-176 .header,
    .itemid-177 .header,
    .my_persons_mainpage .header{
        background-position-x: 25% !important;
    }

    #mod-custom137 h2 {
        font-size: 70px;
    }


}

@media (max-width: 800px) {
    .calendar-popup {
        left: 0;
        right: 0;
    }

    .helpful-intro-image {
        min-width: 280px;
    }

    .help-full-main {
        flex-wrap: wrap;
        gap: 20px;
    }

    .help-full-sidebar.video {
        width: 100%;
        min-width: unset;
        order: -1;
    }


}

@media (max-width: 767px) {
    .h3-border-style {
        font-size: 25px;
    }

    h1,
    .school-page h2,
    .school-page h2 *{
        font-size: 35px;
    }

    .teaser-5-col #yoo-zoo .items div.teaser-item {
        width: calc(50% - 10px);
    }

    .navigation-block .nav-item {
        flex-basis: 250px;
    }

    .school-about-elements .element {
        flex-wrap: wrap;
        gap: 10px;
    }

    .school-about-elements .element span {
        gap: 10px;
    }

    .school-section .school-about-text2 {
        font-size: 18px;
    }

    .school-about .school-about-block-2 {
        margin-top: 50px;
    }

    .school-section.school-about {
        margin-bottom: 0;
    }

    .school-page {
        gap: 60px;
    }

    .school-block2 {
        padding-top: 0;
    }

    .school_ri-data {
        flex-direction: column;
        gap: 20px;
    }

    .school-rodovedenie-item {
        gap: 50px;
    }

    .school-for-elements .element {
        row-gap: 20px;
    }

    .simple-page-responsive .item .pos-sidebar {
        float: none !important;
        margin: 0 0 20px !important;
        width: auto !important;
        max-width: 500px;
    }

    form.cbLogoutForm {
        flex-wrap: wrap;
        flex-direction: column;
    }

    :not(.main-login) > form.cbLogoutForm {
        gap: 15px;
        background: #f7efda;
        padding: 15px 20px 15px 20px;
        border-radius: 10px;
        max-width: 900px;
        margin: 0 auto;
    }

}

@media (max-width: 700px) {
    .helpful-intro {
        flex-direction: column;
        gap: 20px;
    }

    .helpful-intro-image {
        width: 100%;
        min-width: unset;
    }

    .gallery a.thumb {
        width: calc(50% - 8px);
    }

    .person-bottom-box {
        padding: 25px;
    }

}

@media (max-width: 650px) {
    .maintext {
        padding-bottom: 30px;
    }

    .maintext1 {
        max-width: 350px;
        margin: 0 auto;
    }

    .main-login {
        padding-top: 30px;
    }

    .profile-module-header {
        padding-top: 20px;
    }

    .mod-breadcrumbs__wrapper {
        margin-top: 25px;
    }
}

@media (max-width: 600px) {
    .pfp-events > div,
    .pfp-relatives > div{
        width: 100%;
    }
}

@media (max-width: 550px) {
    .itemid-101 .header,
    .itemid-176 .header,
    .itemid-177 .header,
    .my_persons_mainpage .header{
        background-position-x: 28% !important;
        background-size: 1250px !important;
        height: 550px;
    }

    .maintext1 {
        font-size: 30px;
    }

    .maintext2, .maintext2 a {
        font-size: 35px;
    }

    .calendar-view {
        padding: 20px 30px 30px;
    }

    #calendar_wrapper {
        margin-top: 35px;
    }

    .calendar-view > h3 {
        font-size: 20px;
    }

    .calendar-item td {
        font-size: 13px;
    }

    #mod-custom137 h2 {
        font-size: 60px;
        line-height: 0.7;
    }
}

@media (max-width: 500px) {
    .mobile-logo-text {
        max-width: 210px;
    }

    .h3-border-style {
        font-size: 23px;
    }

    .helpful-list {
        margin-top: 10px;
    }

    .footer-container {
        padding-top: 30px;
        gap: 25px;
    }

    h1,
    .school-page h2,
    .school-page h2 *{
        font-size: 28px;
    }

    .center-content .element h2, .cbl-content h2 {
        font-size: 25px;
    }

    .figure-strip, .figure-strip-2 {
        height: 60px;
        background-size: 1245px;
    }

    .itemid-176 .maintext,
    .itemid-177 .maintext,
    .my_persons_mainpage .maintext{
        padding-bottom: 60px;
    }

    .center-content {
        gap: 50px;
    }

    .mainpage_table_text,
    .helpful-info-mainpage,
    .figure-strip-2{
        margin-top: 50px;
    }

    .school-about-block-2 {
        padding: 20px;
    }

    .mainpage_table_text .school-about-text2 {
        font-size: 14px;
    }

    .event-item .event_second_person_name,
    .pfp-relatives .person-field-value .person-link-full-name a,
    .pfp-relatives .person-field-value .person-birth-year,
    .event-item .event-date-result,
    .pfp-gender .person-field-value{
        font-size: 20px;
    }

    .pfp-events,
    .pfp-relatives{
        gap: 30px;
    }

    .person-field-label, .event-item .event-name,
    .place-field-name, .comment-field-name {
        font-size: 12px;
    }

    .pfp-events {
        margin-top: 30px;
    }

    .pfp-header {
        margin-bottom: 25px;
    }

    a.universalBackBtn {
        font-size: 14px;
    }

    .pfp-relatives,
    .person-interest-facts-and-docs{
        margin-top: 40px;
    }

    .pfp-full-line {
        padding-top: 40px;
    }

    .school-section .school-about-text2,
    .school-about-text1{
        font-size: 16px;
    }

    .school-block2 .element-text span,
    .school-for-elements .element > *{
        padding: 20px;
        font-size: 16px;
    }

    .school-block2 .element-text,
    .school-for-elements .element{
        row-gap: 15px;
    }

    .section-label {
        margin-bottom: 20px;
    }

    .school-rodovedenie-item,
    .school_ri-data{
        gap: 10px;
    }

    .school_ri-num {
        font-size: 35px;
        width: 60px;
        min-width: 60px;
    }

    .school-rod-title {
        font-size: 18px;
        line-height: 1.4;
    }

    .school-rod-text {
        font-size: 15px;
    }

    .school-rodovedenie-table {
        margin-top: 25px;
    }

    .school_ri-data {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .school-page {
        gap: 50px;
    }

    .school-about .school-about-block-2 {
        margin-top: 50px;
    }

    .school-tasks .uk-scope .uk-card-default {
        font-size: 15px;
    }

    #yoo-zoo .item .school-tasks .uk-h3 {
        font-size: 22px !important;
    }

    #yoo-zoo .item .school-tasks .uk-scope .uk-card-body {
        padding: 20px;
    }

    .school-skills-elements-image {
        gap: 25px;
    }

    .school-skills-elements > .element {
        gap: 15px;
    }

    .school-skills-elements > .element {
        font-size: 16px;
    }

    .school-skills-elements > .element > span {
        min-height: 30px;
        padding-left: 40px;
    }

    .school2 .element-textarea {
        font-size: 16px;
    }

    .school2-content {
        gap: 20px;
        margin-top: 20px;
    }

    .school-page {
        padding-bottom: 40px;
    }

    .journal-buttons__link {
        padding: 15px 20px;
        font-size: 16px;
    }

    .user-main-buttons {
        flex-wrap: wrap;
    }

    .user-main-buttons a {
        font-size: 12px;
    }

}

@media (max-width: 480px) {
    .teaser-5-col #yoo-zoo .items div.teaser-item {
        width: 100%;
    }


}

@media (max-width: 460px) {
    .helpful-item-parent {
        padding: 0;
    }

    .navigation-block .nav-item {
        padding: 15px 10px;
        font-size: 14px;
    }

}

@media (max-width: 400px) {
    .itemid-101 .header,
    .itemid-176 .header,
    .itemid-177 .header,
    .my_persons_mainpage .header{
        background-position-x: 31% !important;
        background-size: 1100px !important;
        height: 500px;
    }

    .maintext1 {
        font-size: 25px;
        max-width: 260px;
    }

    .maintext2, .maintext2 a {
        font-size: 28px;
    }

    .header25 .user-fio-logout .user-fio a {
        font-size: 18px;
    }

    .btn-logout-icon {
        background-size: 18px;
        width: 18px;
        min-width: 18px;
        height: 18px;
    }

    .header25,
    .site-block{
        padding-left: 15px;
        padding-right: 15px;
    }

    .user-main-buttons a {
        padding-left: 20px;
        padding-right: 20px;
    }

    .calendar-view {
        padding: 10px 15px 15px;
    }

    .open_month_view_container {
        font-size: 14px;
    }

    .helpful-intro-text h4 {
        font-size: 20px;
    }

    .helpful-intro-text {
        font-size: 14px;
    }

    .gallery a.thumb {
        width: 100%;
    }

    .help-full-content,
    .help-full-bottom{
        gap: 20px;
    }

    .help-full-main + .help-full-bottom {
        margin-top: 20px;
    }

    .person-bottom-box:before {
        display: none !important;
    }

    .person-interest-facts-and-docs {
        gap: 30px;
    }

    .person-bottom-box {
        padding: 15px;
    }

    .one_zoo_item + .one_zoo_item {
        margin-top: 15px;
    }

}

@media (max-width: 340px) {
    .mobile-logo .mobile-logo-text {
        font-size: 14px;
    }

    .dj-megamenu-offcanvas-light .dj-mobile-open-btn {
        width: 30px;
        height: 30px;
    }

}