* {
    text-indent: unset !important;
    font-family: 'e-Ukraine' !important;
}

html, body, div, pre, code, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, legend, input, button, textarea, p, blockquote, th, td, svg {
    margin:0;
    padding:0;
}

/*TODO: write global styles for each typography*/
body {
    border: none !important;
}

.v2-container {
    max-width: 1440px;
    margin: 0 auto;
}

.v2-title {
    font-size: 45px;
    line-height: 54px;
    margin-bottom: 60px;
    position: relative;
    padding-bottom: 15px;
    color: #00274D;
    text-align: center;
}

.v2-title::after {
    content: '';
    display: block;
    width: 120px;
    height: 2px;
    background-color: #00274D;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.v2-page-layout {
    padding: 60px 0 !important;
    background: #F9F9F9 !important;
    min-height: calc(100vh - 489px);
}

.v2-search-page-form {
    width: 500px;
    margin: 0 auto 40px;
}

.v2-search-page-form input {
    width: 100%;
    height: 43px;
}

.v2-search-page-input {
    border: 1px solid #CCCCCC;
    box-shadow: none;
    border-radius: 10px !important;
    font-size: 16px;
    line-height: 19px;
    margin-bottom: 12px;
    display: block;
}

.v2-search-page-submit {
    border: 1px solid #0063A8;
    background: #0063A8;
    color: #fff;
    border-radius: 10px;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.v2-search-page-submit:hover {
    background: #fff;
    color: #0063A8;
}

.v2-search-title {
    font-size: 32px;
    line-height: 38px;
    margin-bottom: 30px;
}

.v2-search-results {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.v2-search-results .v2-search-result {
    width: 100%;
    background: #FFF;
    padding: 16px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.v2-search-results .v2-search-result h3 {
    font-size: 16px;
    line-height: 19px;
    margin-bottom: 12px;
    color: #00274D;
}

.v2-search-results .v2-search-result h3 a {
    text-decoration: underline;
    color: #00274D;
}

.v2-search-results .v2-search-result p {
    color: #000;
    text-align: justify;
    font-weight: 200;
}

#publication a strong {
    color: #00508E;
}

#publication th {
    text-align: center;
}

#publication h1, h2, h3, h4{
    text-align: left;
}

#publication {
    margin: 0;
    padding: 10px;
    color: #000;
    overflow: hidden;
    background: inherit !important;
    font-weight: 200;
}

#publication h2, #publication h3 {
    color: #00274D;
    margin-bottom: 10px;
}

#publication h4 {
    color: #00274D;
    text-decoration: underline;
}

#publication p {
    margin: 0 0 10px 0;
    text-align: justify;
    font-weight: 200;
}

#publication a, #publication a:visited {
    color: #00508E;
}

#publication table {
    border: 1px solid grey;
    margin: 0 0 10px 0;
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}

#publication th, #publication td {
    border: 1px solid grey;
    padding: 3px 5px;
}

#publication caption {
    text-align: left;
    font-weight: bold;
}

#publication ul, #publication ol {
    margin: 0 0 10px 20px;
}

#publication li {
    margin-top: 5px;
}

#publication li:first-child {
    margin-top: 0;
}

#publication form {
    display: block;
}

#publication form fieldset {
    padding: 10px;
    border: 1px solid grey;
}

#publication form fieldset legend {
    padding: 0 5px;
    font-weight: bold;
    color: #375270;
}

#publication label {
    margin-top: 2px;
    text-align: left;
    float: left;
    width: 200px;
}

#publication input, #publication textarea {
    margin: 0 0 5px 0;
    display: block;
    padding: 4px;
    width: 323px;
    border: 1px solid grey;
    border-radius: 6px;
    box-shadow: none;
}

#publication textarea {
    margin-top: 10px;
    width: 548px;
    height: 300px;
    resize: none;
}

#publication input[type="submit"] {
    background: #00274D;
    border: 1px solid #00274D;
    border-radius: 6px;
    padding: 12px 20px;
    color: #fff;
    box-shadow: none;
    transition: 0.3s;
}

#publication input[type="submit"]:hover {
    background: #FFF;
    color: #00274D;
}

#publication input[req="true"], #publication textarea[req="true"] {
    border: 1px solid maroon;
}

#publication #result * {
    font-size: 120%;
    text-align: center !important;
}

#publication .scheme {
    margin-top: 20px;
    width: 554px;
    border: 2px solid #7c9bbe;
}

#publication .scheme a, #publication .scheme a:visited {
    position: relative;
    display: block;
    background: none;
}

#publication .scheme a:hover {
    background: url("/inf/light_blue.png");
}

.v2-news-item {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 18px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    background: #FFF;
    width: 100%;
    align-items: stretch;
    padding: 18px;
}

.v2-news-item-image {
    width: 125px;
    min-width: 125px;
    height: 70px;
    background-size: cover;
    background-position: center; 
}

.v2-news-item .v2-news-item-title {
    font-size: 16px;
    line-height: 19px;
    color: #00274D;
    margin-bottom: 6px;
    text-decoration: underline;
    display: block;
}

.v2-news-item .v2-news-item-timestamp {
    font-size: 12px;
    line-height: 14px;
    color: #4D4D4D;
    margin-bottom: 6px;
    font-weight: 300;
}

.v2-news-item .v2-news-item-content,
.v2-news-item .notumb,
.v2-news-item .right {
    font-size: 13px;
    line-height: 17px;
    color: #000;
    font-weight: 200;
    text-align: justify;
}

.v2-news-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.v2-photoalbum-container {
    display: flex;
    align-items: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px;
}

.v2-photoalbum-container > div {
    width: 345px;
    display: flex !important;
    flex-direction: column;
    gap: 16px;
}

.v2-photoalbum-container > div img {
    width: 100%;
    margin: 0;
    object-fit: cover;
}

.v2-photoalbum-container > div a {
    font-size: 28px;
    line-height: 34px;
    text-decoration: underline;
}

.v2-video-list {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.v2-video-list > div {
    width: 330px;
    text-align: center;
    font-weight: 500;
}

.v2-video-list > div > video {
    width: 100%;
    object-fit: cover;
}

.v2-video-list > div > span {
    font-weight: 400;
    color: #4D4D4D;
}

