:root {
    --main-bg-color: #f5f3ee;
    --bright-heading-color: #d8d6d0;
    --main-text-color: #6F7378;
    --accent-color: #b08d57;
    --dark-bg-color: #2e3a44;
    --header-footer-color: #1f2327;
}

@font-face {
    font-family: "Montserrat";
    font-display: swap;
    src: url("../fonts/Montserrat-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

/*@font-face {*/
/*    font-family: "Montserrat";*/
/*    font-display: swap;*/
/*    src: url("../fonts/Montserrat-Thin.ttf") format("truetype");*/
/*    font-weight: 300;*/
/*    font-style: normal;*/
/*}*/

@font-face {
    font-family: "Montserrat";
    font-display: swap;
    src: url("../fonts/Montserrat-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

.line {
    background-color: transparent;
}

.case__left {
    position: relative;
}

.case__slider_navigation {
    position: absolute;
    top: 50%;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 0;
    padding: 0 20px;
    transform: translateY(-50%);
    z-index: 10;
}

.case__slider_arrow {
    display: flex;
    width: 40px;
    height: 40px;
    background-color: transparent;
    cursor: pointer;
    border-top: 4px solid #ffffff;
    border-right: 4px solid #ffffff;
    transform: rotate(45deg);
    transition: border-color .25s;
}

.case__slider_arrow:hover {
    border-color: #fff;
}

.case__slider_arrow--prev {
    transform: rotate(225deg);
}

.widget_cookie.widget_cookie__style1 {
    border-radius: 4px;
    border: 1px solid #E9EBED;
    box-shadow: 0 5px 20px rgba(37, 59, 71, 0.15);
}

.widget_cookie.widget_cookie__style1 .widget_cookie__text {
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: rgba(14,28,41,.7);
    text-align: center;
}

.widget_cookie.widget_cookie__style1 .widget_cookie__text a {
    text-decoration: underline;
}

.widget_cookie.widget_cookie__style1 .widget_cookie__text a:hover,
.widget_cookie.widget_cookie__style1 .widget_cookie__text a:focus {
    text-decoration: none;
    outline: none;
}

.widget_cookie.widget_cookie__style1 .widget_cookie__btn-close-cookie {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 500;
    font-size: 21px;
    line-height: 150%;
    color: #FFFFFF;
    background: #0856A0;
    border-radius: 4px;
    padding: 22px;
    -webkit-transition: background 0.25s !important;
    -o-transition: background 0.25s !important;
    transition: background 0.25s !important;
    cursor: pointer;
}

.widget_cookie.widget_cookie__style1 .widget_cookie__btn-close-cookie:hover {
    background: #1369BA;
}

.header__lang {
    position: relative;
}

.header__lang-btn {
    position: relative;
    padding-right: 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    transition: color .25s;
}

.header__lang-btn:hover,
.header__lang-btn:focus {
    color: rgba(255, 255, 255, 0.7);
    outline: none;
}

.header__lang-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 0;
    height: 0;
    border-top: 4px solid #fff;
    border-right: 4px solid transparent;
    border-bottom: none;
    border-left: 4px solid transparent;
    transform: translateY(-50%) rotate(0);
    transition: transform .25s;
}

.header__lang-btn.open::after {
    transform: translateY(-50%) rotate(180deg);
}

.header__lang-list {
    position: absolute;
    top: 100%;
    left: 50%;
    display: none;
    flex-direction: column;
    gap: 5px;
    min-width: 100%;
    margin: 5px 0 0;
    padding: 5px;
    border: 1px solid #fff;
    background-color: #3B3C3E;
    border-radius: 4px;
    transform: translateX(-50%);
    list-style: none;
}

.header__lang-btn.open + .header__lang-list {
    display: flex;
}

.header__lang-toggle {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    transition: color .25s;
}

.header__lang-toggle:hover,
.header__lang-toggle:focus {
    color: rgba(255, 255, 255, 0.7);
    outline: none;
}

.header__logo-img {
    width: 100%;
    height: auto;
}

.header__city,
.footer__link {
    font-family: "Magistral", "Arila", sans-serif;
}

.header__link,
.header__lang-btn,
.header__tel,
.header__city,
.main_top__subtitle_big,
.main_top__subtitle,
.main_top__text,
.main_projects__item_text,
.pagination_link,
.pagination_link.active,
.main_contacts.this--blue.this--black .block__right_title_text,
.main_contacts__form_title,
.main_contacts__mail,
.main_contacts__address,
.main_contacts__social_link,
.footer__link,
.footer__politic,
.main_contacts__form_agree a,
.main_contacts__form_input_placeholder.top_position,
.main_contacts__form_input,
.header__lang-toggle,
.this--same_page header:not(.scroll) .header__city,
.this--same_page header:not(.scroll) .header__link,
.this--same_page header:not(.scroll) .header__tel,
.header__tel.this--tablet
{
    color: var(--bright-heading-color);
}

.header__link:hover,
.header__lang-btn:hover,
.header__lang-btn:focus,
.header__tel:hover,
.header__tel:focus,
.block__content.this--blue .block__right_title_text,
.main_projects__item:hover .main_projects__item_text,
.main_about__content .block__right_title_text,
.pagination_link:hover,
.main_contacts.this--blue.this--black a.block__right_title_text:hover,
.main_contacts__mail:hover,
.main_contacts__social_link:hover,
.footer__link:hover,
.footer__politic:hover,
.main_contacts__form_agree a:hover,
.header__lang-toggle:hover,
.header__lang-toggle:focus
{
    color: var(--accent-color);
}

.header__lang-list {
    background-color: var(--header-footer-color);
    border-color: var(--bright-heading-color);
}

.main_contacts.this--blue.this--black .block__right_title_text {
    transition: color .25s;
}

.main_founder__row {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    gap: 80px;
    margin-top: 70px;
}

.main_founder__photo,
.main_founder__text {
    width: calc(50% - 40px);
}

.main_founder__photo img {
    display: block;
    width: 100%;
    aspect-ratio: 520 / 640;
    object-fit: cover;
    border-radius: 4px;
}

.main_founder__text_title {
    margin: 0 0 40px;
    font-size: 24px;
    line-height: 150%;
    color: var(--bright-heading-color);font-weight: bold;
    font-family: Montserrat, sans-serif;
}

.main_founder__text_body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 160%;
    color: var(--bright-heading-color);
}

.main_founder__text_body p {
    margin: 0;
}

.main_founder__text_body p + p {
    margin-top: 24px;
}

.pagination_link.this--arrow,
.pagination_link.this--arrow:hover {
    transition: color .25s;
    opacity: 1;
}

.main_top_slide__link,
.main_contacts__call {
    color: var(--bright-heading-color);
    transition: color .25s !important;
}

.main_top_slide__link:hover,
.main_contacts__call:hover {
    color: var(--accent-color);
    opacity: 1;
}

.header__lang-btn::after {
    border-top-color: var(--bright-heading-color);
    tansition: border-color .25s transform .25s;
}

.header__lang-btn:hover::after,
.header__lang-btn:focus::after {
    border-top-color: var(--accent-color);
}

.header.scroll,
.this--same_page .header,
.block.this--blue.this--black .block__content,
.block.this--blue.this--black .block__content::after,
.main_top_slide__bg
{
    background-color: var(--header-footer-color);
}

.main_top__title,
.h2_title,
.block.this--blue .h2_title,
.main_projects__item_city,
.services__accordion_head_num,
.services__accordion_body,
.main_reviews_slide__text,
.main_contacts__form_agree,
.main_contacts__form_input_placeholder
{
    color: var(--main-text-color);
}

.main {
    background-color: var(--main-bg-color);
}

.main_contacts__form_input {
    border-color: var(--main-text-color);
}

.main_contacts__form_input:focus {
    border-color: var(--bright-heading-color);
}

.main_about__item_text,
.about_img_text__text,
.block__right_title_text,
.services__accordion_head_title,
.services__item_text
{
    color: var(--dark-bg-color);
}

.block.this--blue .block__content .block__content_bg_img {
    background-image: url("../img/main/main_projects/bg_img.svg");
}

.block__content_bg_img {
    background-image: url("../img/main/main_about/bg_img.svg");
}

.block.this--blue .block__content,
.block.this--blue .block__content::before,
.block.this--blue .block__content::after
{
    background-color: var(--dark-bg-color);
}

.services__accordion {
    background-color: var(--bright-heading-color);
    border-color: var(--bright-heading-color);
}

.services__accordion_head_btn {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

.services__accordion_head:hover:not(.active) .services__accordion_head_btn {
    background-color: var(--accent-color);
    border-color: var(--main-bg-color);
}

.services__accordion_head_btn::before,
.services__accordion_head_btn::after {
    background-color: var(--main-bg-color);
}

.services__accordion.active,
.services__accordion_head.active .services__accordion_head_btn {
    border-color: var(--accent-color);
}

.services__accordion_head.active .services__accordion_head_btn::before,
.services__accordion_head.active .services__accordion_head_btn::after {
    background-color: var(--accent-color);
}

.btn,
.widget_cookie.widget_cookie__style1 .widget_cookie__btn-close-cookie {
    color: var(--main-bg-color);
    background-color: var(--accent-color);
}

.btn:hover:not(.this--transparent),
.widget_cookie.widget_cookie__style1 .widget_cookie__btn-close-cookie:hover {
    background-color: var(--main-text-color);
}

.widget_cookie.widget_cookie__style1 {
    background-color: var(--main-bg-color);
}

.widget_cookie.widget_cookie__style1 .widget_cookie__text {
    color: var(--main-text-color);
}

.main_reviews__slider_pagination.swiper-pagination-bullets .swiper-pagination-bullet,
.main_reviews__slider_prev,
.main_reviews__slider_next,
.main_reviews__slider_pagination.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    color: var(--main-text-color);
    opacity: 1;
}

.main_reviews__slider_pagination.swiper-pagination-bullets .swiper-pagination-bullet:hover,
.main_reviews__slider_prev:hover,
.main_reviews__slider_next:hover {
    color: var(--accent-color);
}

.main_reviews__slider_pagination.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active:hover {
    color: var(--main-text-color);
}

.footer__content {
    padding-top: 20px;
}

.main_spain__text {
    color: #f5f3ee;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    line-height: 160%;
    margin-top: 70px;
}

.main_spain__text b {
    font-weight: 700;
}

.main_spain__text p:not(:last-child) {
    margin-bottom: 15px;
}

.block.this--blue .block__content .block__content_bg_img.block__content_bg_img--spain {
    width: 100%;
    height: auto;
    aspect-ratio: 1987.64/566.66;
    background-image: url("../img/main_spain/bg_img_spain.svg");
    background-position: left top;
}

.main_spain__right_title.block__right_title {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.footer.block.this--black {
    background-color: #1f2327;
}

section.block:last-child .block__content {
    border-bottom-left-radius: 0;
}

@media (max-width: 499px) {
    .widget_cookie.widget_cookie__style1 {
        border-radius: 4px 4px 0 0;
    }

    .widget_cookie.widget_cookie__style1 .widget_cookie__btn-close-cookie {
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 767px) {
    .widget_cookie.widget_cookie__style1 .widget_cookie__btn-close-cookie {
        padding: 18px;
        font-size: 16px;
    }

    .main_spain__text {
        font-size: 14px;
        margin-top: 40px;
    }
}

@media (min-width: 768px) {
    .header__lang-btn,
    .header__lang-toggle {
        font-size: 16px;
    }
}

@media (max-width: 1023px) {
    .block.this--blue .block__content .block__content_bg_img.block__content_bg_img--spain {
        left: 15px;
        width: calc(100% - 15px);
    }
}

@media (min-width: 1024px) {
    .main_spain__right {
        display: flex;
    }

    .main_spain__right_title {
        margin-top: 150px;
    }
}

@media (min-width: 110px) and (max-width: 1199px) {
    .header__link,
    .header__lang-btn,
    .header__tel {
        font-size: 18px;
    }

    .header__lang-btn {
        margin-right: 10px;
        padding-right: 10px;
    }
}

@media (max-width: 1300px) {
    .main_founder__text_body {
        font-size: 20px;
    }
}

@media (max-width: 1099px) {
    .header__menu {
        margin-right: auto;
        margin-left: auto;
    }

    .main_founder__row {
        gap: 40px;
    }

    .main_founder__text_title {
        margin-bottom: 24px;
        font-size: 42px;
    }

    .main_founder__text_body {
        font-size: 20px;
    }

    .header__lang {
        margin: 40px auto 0;
    }
}

@media (max-width: 767px) {
    .main_founder__row {
        display: block;
        margin-top: 20px;
    }

    .main_founder__photo,
    .main_founder__text {
        width: 100%;
    }

    .main_founder__text {
        margin-top: 30px;
    }

    .main_founder__text_title {
        margin-bottom: 20px;
        font-size: 30px;
    }

    .main_founder__text_body {
        font-size: 16px;
    }

    .main_founder__text_body p + p {
        margin-top: 16px;
    }
}

@media (min-width: 1100px) {
    .header__lang-btn {
        font-size: 20px;
    }

    .header__lang-toggle {
        font-size: 18px;
    }

    .header__nav {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .header__lang {
        margin-left: 20px;
    }

    .header__lang-list {
        padding: 10px;
    }
}

@media (min-width: 1300px) {
    .header__lang {
        margin-left: 60px;
    }
}

@media (min-width: 1500px) {
    .header__lang-btn {
        font-size: 24px;
    }

    .header__lang-toggle {
        font-size: 20px;
    }

    .header__lang {
        margin-left: 60px;
    }
}

/*@media (max-width: 1699px) {*/
/*    .this--same_page .header {*/
/*        transition: padding-bottom .25s;*/
/*    }*/

/*    .this--same_page .header:not(.scroll) {*/
/*        padding-bottom: 40px;*/
/*    }*/
/*}*/

@media (min-width: 1920px) {
    .header__lang {
        margin-left: 80px;
    }
}
