/* General */

html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}

body {
    display: flex;
    flex-direction: column;
    font: 16px/1.2 'Roboto', uppercase, sans-serif;
    min-width: 100vw;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    color: #1C1E29;
    background: #fff;
    overflow-x: hidden;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

a {
    color: inherit;
}

input,
textarea,
select,
button {
    color: inherit;
    font: inherit;
}

/* Form elements */

.form-input,
.form-textarea,
.form-select {
    font: inherit;
    color: #c6c6c6;
    border: 1px solid #575756;
    background: #31312f;
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
    border-color: #fff;
    outline: none;
}

.form-input,
.form-select {
    height: 36px;
    line-height: 36px;
    padding: 0 6px;
}

.form-textarea {
    height: 128px;
    resize: none;
    padding: 6px;
}

.button,
.link-button {
    display: inline-block;
    color: #fff;
    background: #99112f;
    line-height: 40px;
    min-width: 128px;
    padding: 0 24px;
}

.button {
    border: none;
    outline: none;
    cursor: pointer;
}

.link-button {
    text-align: center;
    text-decoration: none;
}

.button:active,
.link-button:active {
    background: #820623;
}

.button:focus,
.link-button:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(153, 17, 47, 0.3);
}

.button:disabled,
.link-button:disabled {
    opacity: 0.75;
    cursor: default;
}

.scroll-button {
    position: fixed;
    display: none;
    opacity: 0.55;
    bottom: 130px;
    right: 20px;
    color: white;
    line-height: 24px;
    padding: 14px 24px;
    background-image: url("/images/transfer-white-df6f1fb2841a16afeb456cf6b389c6b7.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-color: rgba(59, 60, 69, 0.8);
    text-decoration: none;
    max-width: fit-content;
    border-radius: 34px;
    transition: .4s;
    transform: rotate(-90deg);
    cursor: pointer;
    z-index: 1000;
}

.scroll-button:hover {
    opacity: 0.95;
    box-shadow: 0 0 15px -10px rgba(239, 239, 239, 0.8);
    z-index: 1000;
    background-color: #3b3c45;
}

/* Header */

.header {
    position: fixed;
    width: 100vw;
    height: 100px;
    color: #1C1E29;
    background: linear-gradient(white 80%, transparent);
    z-index: 99;
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    margin: 0 auto;
    background: url(/images/pattern-d300808141bc85ddb7a761f3bc49743b.jpg) repeat;
}

.home-page .header-logo {
    display: none;
}


.header-logo,
.footer-logo {
    margin: 0 24px;
}

.header-content .contacts {
    display: none;
}

@media (max-width: 1184px) {
    .header,
    .header-content {
        height: 60px;
        justify-content: space-between
    }

    .home-page .header-logo {
        display: flex !important;
    }

    .header-logo img {
        width: 50px;
        height: 50px;
        margin: 5px;
    }

    .header-content .contacts {
        display: flex;
    }
}


/* Navigation Bar */

.navigation-bar-wrapper {
    position: relative;
    display: flex;
}

.navigation-bar-show-button {
    display: none;
    width: 40px;
    height: 40px;
    margin: 0 24px;
    background: url("/images/navigation/menu-1daf4f2467cf788c3339d6b26a9e984b.svg") center center no-repeat;
}

@media (max-width: 1184px) {
    .navigation-bar-wrapper {
        flex-direction: column;
    }

    .navigation-bar-show-button {
        display: block;
    }

    .navigation-bar {
        display: none
    }

    .navigation-bar-wrapper:hover .navigation-bar {
        display: flex;
        flex-direction: column;
        position: absolute;
        right: 0;
        top: 48px;
        background: url(/images/pattern-d300808141bc85ddb7a761f3bc49743b.jpg) repeat;
        margin: 0;
        padding: 0 0 20px;
        height: 75vh;
        overflow: scroll;
    }

    .navigation-bar-wrapper:hover .navigation-bar-dropdown .navigation-bar-dropdown-content {
        display: block;
        position: unset;
        padding: 0;
    }

    .navigation-bar-wrapper:hover .navigation-bar-dropdown .navigation-bar-dropdown-content li {
        padding-left: 20px;
    }
}

.navigation-bar ul {
    list-style-type: none;
    margin: 0;
    padding: 20px 0;
    overflow: hidden;
}

.navigation-bar li {
    float: left;
}

.navigation-bar li::marker {
    font-size: 0;
}

.navigation-bar li a {
    display: block;
    color: #1C1E29;
    text-align: left;
    padding: 6px 24px;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 500;
    font-family: 'Cormorant Garamond', uppercase, serif;
}

.navigation-bar li a:hover {
    text-decoration: underline;
}

.navigation-bar-dropdown {
    position: relative;
    display: inline-block;
}

.navigation-bar-dropdown:hover .navigation-bar-dropdown-button {
    text-decoration: underline;
}

.navigation-bar-dropdown:hover .navigation-bar-dropdown-content {
    display: block;
}

.navigation-bar-dropdown-button {
    background: url(/images/navigation/arrow-down-a3397b4aaeb23c3f5ff14ad24c2982d9.svg) right center no-repeat;
}

@media (max-width: 1184px) {
    .navigation-bar-dropdown-button {
        background-image: unset;
    }
}

.navigation-bar-dropdown-content {
    display: none;
    position: absolute;
    background: white url(/images/pattern-d300808141bc85ddb7a761f3bc49743b.jpg) repeat;
    min-width: 300px;
    z-index: 1;
    font-size: 14px;
}

.header-banner {
    display: block;
    position: relative;
    width: 1280px;
    margin: 0 auto;
}

.header-banner-link,
.header-banner-image {
    display: block;
}

.main-banner-unpublished {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 16px;
    line-height: 1;
    color: #fff;
    background: #99112f;
    padding: 3px 6px;
    pointer-events: none;
}

/* Contacts */

.contacts {
    display: flex;
    margin: 15px 0;
    gap: 10px;
}

.contacts > :not(:last-child) {
    margin-right: 18px;
}

.contacts-email {
    padding-left: 24px;
    background: url(/images/contacts/email-16e1cc6708e11f3070775b2f6b22a125.svg) left center no-repeat;
}

.page-body-content:nth-child(2n) .contacts-email {
    background: url(/images/contacts/email-white-8f8a0244ce4e337cbe65fd67b7763dec.svg) left center no-repeat;
}

.contacts-email:not(:last-child) {
    margin-right: 24px;
}

.contacts-phones {
    padding-left: 24px;
    background: url(/images/contacts/phone-f5f046a5da7722afb7b0dd4f146b5008.svg) left center no-repeat;
}

.page-body-content:nth-child(2n) .contacts-phones {
    background: url(/images/contacts/phone-white-17d786edc87d1ada7f98177d51425b9a.svg) left center no-repeat;
}

.contacts-phones > :not(:last-child) {
    margin-right: 12px;
}

/* Page body */

.page-body {
    width: 100vw;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    margin-top: 100px;
}

@media (max-width: 1184px) {
    .page-body {
        margin-top: 60px;
    }
}

.page-body-sidebar {
    width: 274px;
    padding-block: 24px;
}

.page-body-content {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    flex: 1;
    min-width: 0;
    width: 100vw;
    margin: 0 auto;
}

.page-body-content {
    padding: 32px 0;
}


.page-body-content:nth-child(2n) {
    color: #fff;
    border-color: #fff;
    background: #1C1E29;
}

.section-title {
    font-size: 32px;
    text-align: left;
    margin-bottom: 20px;
    font-family: 'Cormorant Garamond', uppercase, serif;
}

.section-content-title {
    font-size: 20px;
    text-align: left;
    width: 100%;
    /*font-family: 'Cormorant Garamond', uppercase, serif;*/
}

.page-body-content .section-title,
.page-body-content .section-content,
.footer-content {
    width: 70%;
}

@media (max-width: 1184px) {
    .page-body-content .section-title,
    .page-body-content .section-content,
    .footer-content {
        width: 90%;
    }
}

.page-body-content .section-content {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 175px;
}

.page-body-content .section-content > div {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    gap: 10px;
    flex: 1 1;
}

.page-body-content .section-content--our-address {
    justify-content: space-between;
    gap: 50px 100px;
}

@media (max-width: 1184px) {
    .page-body-content .section-content--our-address {
        flex-direction: column;
    }

}

.page-body-content .section-content--our-address > div {
    align-items: start;
    max-width: 30vw;
    gap: 20px;
}

.page-body-content .section-content--our-address .section-title {
    margin: 0
}

.contact-us-form {
    width: 100%;
}

@media (max-width: 1184px) {

    .page-body-content .section-content--our-address > div {
        align-items: start;
        max-width: 100%;
    }

    .contact-us-form {
        width: 100%;
    }
}

.page-body-content--home:first-child {
    min-height: calc(100vh - 100px);
    background: url("/images/background-v3-228268c97d01c8bee2799d761d9a9ecc.png") left bottom no-repeat;
    background-size: cover;
}

@media (max-width: 1184px) {
    .page-body-content--home:first-child {
        width: 100vw;
        min-height: 45vh;
        margin-top: 10px;
        background: left -55px bottom / contain no-repeat url("/images/horse-in-center-a235aac0ee6114e156e1307dd768eae0.png"),
        url("/images/bushes-b8a6ecc838179f3670fffd6c90bb5bcb.jpg") center bottom / cover no-repeat;
    }

    .page-body-content--home {
        padding: 0;
    }

    .page-body-content--home .section-content {
        width: 100%;
    }

    .page-body-content--home .page-body-content-logo {
        display: none;
    }

    .page-body-content--home .page-body-content-title {
        font-size: 16px;
        font-family: 'Cormorant Garamond', uppercase, serif;
        background: rgba(255, 255, 255, 0.7);
        border-radius: 34px;
        padding: 6px;
        margin-right: 20px;
        align-items: end;
    }

    .page-body-content--home .page-body-content-title span {
        font-size: 24px;
        font-family: 'Cormorant Garamond', uppercase, serif;
    }

    .page-body-content--home .contacts {
        display: none;
    }
}

.page-body-content--home .section-content > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media (max-width: 1184px) {
    .page-body-content--home .section-content > div {
        align-items: flex-end;
    }
}

.page-body-content--about {
    min-height: 543px;
    background: url("/images/about-backgrouund-d4cc65c6a43ccfe5a82b0c11e2dce97d.png") right bottom no-repeat border-box;
    background-size: 576px 543px;
    justify-content: flex-start;
}

.page-body-content--about .section-title,
.page-body-content--about .section-content {
    padding-right: calc(576px - 15vw);
}

@media (max-width: 1184px) {
    .page-body-content--about {
        min-height: unset;
        background: unset;
        background-size: unset;
    }

    .page-body-content--about .section-title,
    .page-body-content--about .section-content {
        padding-right: unset;
    }
}

.page-body-content-title {
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    text-align: center;
    color: #1C1E29;
    font-size: 32px;
    font-family: 'Cormorant Garamond', uppercase, serif;
}

.page-body-content-title span {
    font-size: 44px;
    font-family: 'Cormorant Garamond', uppercase, serif;
}

.page-body-content h1 {
    font-size: 32px;
    font-weight: bold;
}

.page-body-content h2 {
    font-size: 28px;
    font-weight: normal;
}

.page-body-content h3 {
    font-size: 24px;
    font-weight: normal;
}

.page-body-content h4 {
    font-size: 22px;
    font-weight: normal;
}

.page-body-content h4 {
    font-size: 20px;
    font-weight: normal;
}

.page-body-content h4 {
    font-size: 18px;
    font-weight: normal;
}

/* Page header */

.page-header {
    font-weight: normal;
    text-transform: uppercase;
    line-height: 1;
    font-size: 30px;
    margin: 20px 0 18px;
}

.page-header:first-child {
    margin-top: 0;
}

/* Sidebar */

.sidebar-content[data-fixed] {
    position: fixed;
    top: 24px;
    width: 250px;
}

.sidebar-content > :not(:last-child) {
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px dotted #c6c6c6;
}

.sidebar-menu-item {
    display: block;
    line-height: 1.1;
}

.sidebar-menu-item--unpublished {
    opacity: 0.75;
}

.sidebar-menu-item--selected,
.sidebar-menu-item:hover {
    color: #99112f;
}

.sidebar-menu-item:not(:last-child) {
    margin-bottom: 8px;
}

.sidebar-contacts {
    color: #3d5e8b;
}

.sidebar-contacts > :not(:last-child) {
    margin-bottom: 6px;
}

/* Pagination navigator */

.pagination-navigator {
    display: flex;
    padding: 12px 0;
    margin-bottom: 24px;
}

.pagination-navigator-page:not(:last-child) {
    margin-right: 12px;
}

.pagination-navigator-link,
.pagination-navigator-label {
    display: block;
    padding: 6px;
    min-width: 32px;
    text-align: center;
}

.pagination-navigator-link {
    text-decoration: none;
    color: #99112f;
    background: #e5ddd1;
}

.pagination-navigator-label {
    color: #fff;
    background: #99112f;
}

/* Error pages */

.error-page-link {
    font-size: 20px;
    text-align: center;
}

/* Article */

.article {
    width: 100%;
}

.article::after {
    display: block;
    content: '';
    clear: both;
}

.article-info {
    display: flex;
    align-items: baseline;
    margin-bottom: 18px;
}

.article-info > :not(:last-child) {
    margin-right: 12px;
}

.article-date {
    font-size: 20px;
}

.article-unpublished {
    font-size: 16px;
    line-height: 1;
    color: #fff;
    background: #99112f;
    padding: 3px 6px;
}

.article-image {
    width: 200px;
    height: 130px;
    margin: 12px 12px 12px 0;
    float: left;
}

.article-image > img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
}

.article-columns {
    display: flex;
}

.article-columns > :first-child {
    flex: 1;
    min-width: 0;
}

.article-columns > :nth-child(2) {
    min-width: 250px;
    width: 250px;
}

.article-columns > :not(:last-child) {
    margin-right: 24px;
}

/* Article content */

.page-body-content .section-content > .article-content {
    display: block;
}

.article-content {
    width: 100%;
}

.article-content a {
    transition: .4s;
    color: #94bdf4;
    word-break: break-all;
}

.article-content a:hover {
    opacity: 0.8;
}

.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
    font-style: normal;
    line-height: 1.1;
    margin-top: 1.25em;
    margin-bottom: 0.75em;
}

.article-content h1:first-child,
.article-content h2:first-child,
.article-content h3:first-child,
.article-content h4:first-child,
.article-content h5:first-child,
.article-content h6:first-child {
    margin-top: 0;
}

.article-content h1::before,
.article-content h2::before,
.article-content h3::before,
.article-content h4::before,
.article-content h5::before,
.article-content h6::before {
    display: block;
    content: '';
    clear: both;
}

.article-content h1 {
    font-size: 28px;
}

.article-content h2 {
    font-size: 24px;
}

.article-content h3 {
    font-size: 20px;
}

.article-content h4,
.article-content h5,
.article-content h6 {
    font-size: 14px;
}

.article-content p {
    margin: 8px 0;
    max-width: 100%;
    text-overflow: ellipsis;
}

.article-content blockquote {
    font-size: 20px;
    font-style: italic;
    margin: 8px 32px;
    padding: 16px;
    background: #f0ece5;
}

.article-content ol,
.article-content ul {
    list-style-type: square;
    margin: 8px 0;
    padding: 0 0 0 24px;
}

.article-content li {
    margin-bottom: 6px;
    max-width: 100%;
    text-overflow: ellipsis;
}

.article-content img {
    display: block;
    max-width: 100% !important;
    height: auto;
}

.article-content img[data-float='left'] {
    float: left;
    max-width: calc(70vw - 36px);
    margin-left: 0;
    margin-right: 36px;
}

.article-content img[data-float='right'] {
    float: right;
    max-width: calc(70vw - 36px);
    margin-left: 36px;
    margin-right: 0;
}

.article-content table {
    display: flex;
    width: 100% !important;
    margin-block: 18px;
    border-spacing: 4px;
    overflow: auto;
}

.article-content th,
.article-content td {
    vertical-align: top;
    padding: 16px;
    border-radius: 4px;
}

.article-content thead,
.article-content th {
    color: #1C1E29;
}

.article-content p:first-child,
.article-content blockquote:first-child,
.article-content ol:first-child,
.article-content ul:first-child,
.article-content img:first-child,
.article-content table:first-child {
    margin-top: 0;
}

.article-content p:last-child,
.article-content blockquote:last-child,
.article-content ol:last-child,
.article-content ul:last-child,
.article-content img:last-child,
.article-content table:last-child {
    margin-bottom: 0;
}

.article-content > :first-child {
    margin-top: 0;
}

.article-content > :last-child {
    margin-bottom: 0;
}

/* Article content for home */

.article-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.article-content--home h2:not(:first-child)::before {
    content: '';
    display: block;
    height: 16px;
    margin-bottom: 0.75em;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 75%);
}

.article-content--home li {
    color: #393d5a;
}

.article-content--home table {
    table-layout: fixed;
}

.article-content--home td strong {
    font-weight: normal;
    color: #1C1E29;
}

/* Article previews */

.article-previews {
    margin-bottom: 24px;
}

.article-preview:not(:last-child) {
    border-bottom: 2px solid #c6c6c6;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.article-preview-info {
    display: flex;
    align-items: baseline;
    margin-bottom: 6px;
}

.article-preview-info > :not(:last-child) {
    margin-right: 12px;
}

.article-preview-date {
    font-size: 18px;
}

.article-preview-unpublished {
    font-size: 16px;
    line-height: 1;
    color: #fff;
    background: #1C1E29;
    padding: 3px 6px;
}

.article-preview-header {
    font-weight: normal;
    line-height: 1;
    font-size: 20px;
    margin: 0 0 12px;
}

.article-preview-body {
    display: flex;
    min-width: 0;
}

.article-preview-image {
    width: 200px;
    height: 130px;
    margin-right: 12px;
}

.article-preview-image > img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
}

.article-preview-annotation {
    flex: 1;
    color: #393d5a;
}

/* Footer */

.footer {
    width: 100vw;
    min-height: 60px;
    padding: 12px 0;
    color: #1C1E29;
    background: url(/images/pattern-d300808141bc85ddb7a761f3bc49743b.jpg) repeat;
}

@media (max-width: 1184px) {
    .footer-logo {
        display: none;
    }
}

.footer-user-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    width: 1280px;
    margin: 0 auto 3px;
}

.footer-user-info-item:not(:last-child) {
    border-right: 2px solid rgba(255, 255, 255, 0.25);
    padding-right: 12px;
    margin-right: 12px;
}

.footer-user-info-label {
    color: rgba(255, 255, 255, 0.75);
}

.footer-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
}

.footer-content:only-child {
    height: 100%;
    min-height: 36px;
}

.footer-company {
    display: flex;
    align-items: center;
    border-right: 1px dotted rgba(255, 255, 255, 0.75);
    margin-right: 24px;
    padding-right: 24px;
}

.footer-company-image {
    display: block;
}

.footer-contacts {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 16px;
}

.footer-contacts a {
    text-decoration: none;
}

.footer-contacts > :not(:last-child) {
    margin-right: unset;
}


/* Buttons */

.buttons-panel {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin: 10px 3px;
}

.buttons-panel--left {
    justify-content: start;
}

.buttons-panel--right {
    justify-content: end;
}

.article-content .transition-button,
.transition-button {
    font-size: 16px;
    line-height: 24px;
    padding: 8px 26px 8px 14px;
    background-image: url("/images/navigation/next-white-67d80c76763a9bd3dd1ec82f2db3bd43.svg");
    background-position: bottom 46% right 10px;
    background-repeat: no-repeat;
    background-color: #3b3c45;
    text-decoration: none;
    max-width: fit-content;
    border-radius: 34px;
    transition: .4s;
}

.article-content .transition-button:hover,
.transition-button:hover {
    opacity: 0.80;
    box-shadow: 0 0 15px -10px rgba(239, 239, 239, 0.8);
    z-index: 0;
}

button.transition-button {
    border: none;
    cursor: pointer;
}

.page-body-content .article-content .transition-button,
.page-body-content .transition-button {
    background-image: url("/images/transfer-f353d91883e55ae842beac0ccf5beb6c.svg");
    background-color: #efefef;
    color: #1C1E29;
}

.page-body-content .article-content .transition-button:hover,
.page-body-content .transition-button:hover {
    box-shadow: 0 0 15px -10px rgba(59, 60, 69, 0.8);
}

.page-body-content:nth-child(2n) .article-content .transition-button,
.page-body-content:nth-child(2n) .transition-button {
    background-image: url("/images/transfer-white-df6f1fb2841a16afeb456cf6b389c6b7.svg");
    background-color: #3b3c45;
    color: #fff;
}

.page-body-content:nth-child(2n) .article-content .transition-button:hover,
.page-body-content:nth-child(2n) .transition-button:hover {
    box-shadow: 0 0 15px -10px rgba(239, 239, 239, 0.8);
}

/* Captcha */

.grecaptcha-badge {
    visibility: hidden;
}

.recaptcha-message {
    color: #9e9e9e;
}

.buttons-panel--captcha {
    justify-content: space-between;
    flex-wrap: unset;
    gap: 10px;
}

.buttons-panel--captcha > .transition-button {
    flex: 1;
}

/* Fonts */

@font-face {
    font-family: 'Cuprum';
    src: url(/fonts/Cuprum-Regular-webfont-927e00cd747c4c9145b223fa7ca0ecad.woff);
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Cuprum';
    src: url(/fonts/Cuprum-Bold-webfont-2816d7a8fb20cb28125a537fe7b1a868.woff);
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Cuprum';
    src: url(/fonts/Cuprum-Italic-webfont-87c2359dbbdc5a40ea705d610472fb76.woff);
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Cuprum';
    src: url(/fonts/Cuprum-BoldItalic-webfont-c0f3d2c39bdfc8d17f2019508cfbc74c.woff);
    font-weight: bold;
    font-style: italic;
}
