

/* Start:/local/templates/geo_group/assets/css/app.css?176846695372247*/
@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap);

@font-face {
    font-family: PartnerCondensed;
    src: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/fonts/PartnerCondensed/partner-condensed-bold.ttf) format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: PartnerCondensed;
    src: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/fonts/PartnerCondensed/partner-condensed.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: PartnerLightCondensed;
    src: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/fonts/PartnerLightCondensed/partner-light-condensed.ttf) format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap
}

:root {
    --block-padding: 9.375vw;
    --max-width: calc(100vw - 2 * 9.375vw);
    --max-width-x2: calc(100vw - 4 * 9.375vw);
    --section-padding: 10rem
}

@media screen and (max-width: 1600px) {
    :root {
        --block-padding: 11.72vw;
        --max-width: calc(100vw - 2 * 11.72vw);
        --max-width-x2: calc(100vw - 4 * 11.72vw);
        --section-padding: 8rem
    }
}

@media screen and (max-width: 1200px) {
    :root {
        --block-padding: 7.81vw;
        --max-width: calc(100vw - 2 * 7.81vw);
        --max-width-x2: calc(100vw - 6 * 7vw);
        --section-padding: 6rem
    }
}

@media screen and (max-width: 640px) {
    :root {
        --block-padding: 4.83vw;
        --max-width: calc(100vw - 2 * 4.83vw);
        --max-width-x2: calc(100vw - 2 * 4.83vw);
        --section-padding: 4rem
    }
}

:root {
    --section-margin: 12rem
}

@media screen and (max-width: 986px) {
    :root {
        --section-margin: 6rem
    }
}

@media screen and (max-width: 640px) {
    :root {
        --section-margin: 4rem
    }
}

:root {
    --color-primary: #000000;
    --color-secondary: #575757;
    --font-family: "PartnerLightCondensed", sans-serif, Arial, sans-serif;
    --second-family: "PartnerCondensed", sans-serif;
    --third-family: "Open Sans", sans-serif;
    --font3: "Montserrat", sans-serif;
    --font4: "Inter", sans-serif;
    --font-size: 1.6rem;
    --header-height: 9.2rem;
    --color-white: #ffffff;
    --color-red: #ec1c24;
    --color-text: #04394c;
    --color-button: #e92a2e;
    --button-text-blue: #163948;
    --background-light-blue: #e5eef0;
    --background-dark-green: #07495E;
    --color-primary-darker: #064e6e;
    --color-deep-navy: #182c52;
    --color-muted-blue: #7081a2;
    --color-primary-alt: #074d6d;
    --color-primary-strong: #004869;
    --background-accent-light: #c7eaf0;
    --background-cookies: #ebebeb
}

@media screen and (max-width: 1600px) {
    :root {
        --header-height: 7.2rem
    }
}

@media screen and (max-width: 1200px) {
    :root {
        --header-height: 6rem
    }
}

:root {
    --block-padding: 9.375vw;
    --max-width: calc(100vw - 2 * 9.375vw);
    --max-width-x2: calc(100vw - 4 * 9.375vw);
    --section-padding: 10rem
}

@media screen and (max-width: 1600px) {
    :root {
        --block-padding: 11.72vw;
        --max-width: calc(100vw - 2 * 11.72vw);
        --max-width-x2: calc(100vw - 4 * 11.72vw);
        --section-padding: 8rem
    }
}

@media screen and (max-width: 1200px) {
    :root {
        --block-padding: 7.81vw;
        --max-width: calc(100vw - 2 * 7.81vw);
        --max-width-x2: calc(100vw - 6 * 7vw);
        --section-padding: 6rem
    }
}

@media screen and (max-width: 640px) {
    :root {
        --block-padding: 4.83vw;
        --max-width: calc(100vw - 2 * 4.83vw);
        --max-width-x2: calc(100vw - 2 * 4.83vw);
        --section-padding: 4rem
    }
}

:root {
    --section-margin: 12rem
}

@media screen and (max-width: 986px) {
    :root {
        --section-margin: 6rem
    }
}

@media screen and (max-width: 640px) {
    :root {
        --section-margin: 4rem
    }
}

:root {
    --color-primary: #000000;
    --color-secondary: #575757;
    --font-family: "PartnerLightCondensed", sans-serif, Arial, sans-serif;
    --second-family: "PartnerCondensed", sans-serif;
    --third-family: "Open Sans", sans-serif;
    --font3: "Montserrat", sans-serif;
    --font4: "Inter", sans-serif;
    --font-size: 1.6rem;
    --header-height: 9.2rem;
    --color-white: #ffffff;
    --color-red: #ec1c24;
    --color-text: #04394c;
    --color-button: #e92a2e;
    --button-text-blue: #163948;
    --background-light-blue: #e5eef0;
    --background-dark-green: #07495E;
    --color-primary-darker: #064e6e;
    --color-deep-navy: #182c52;
    --color-muted-blue: #7081a2;
    --color-primary-alt: #074d6d;
    --color-primary-strong: #004869;
    --background-accent-light: #c7eaf0;
    --background-cookies: #ebebeb
}

@media screen and (max-width: 1600px) {
    :root {
        --header-height: 7.2rem
    }
}

@media screen and (max-width: 1200px) {
    :root {
        --header-height: 6rem
    }
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

a {
    background-color: transparent
}

b, strong {
    font-weight: bolder
}

code {
    font-family: monospace, monospace;
    font-size: 1em
}

img {
    border-style: none
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button, input {
    overflow: visible
}

button, select {
    text-transform: none
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox], [type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

template {
    display: none
}

[hidden] {
    display: none
}

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

html {
    box-sizing: border-box;
    font-size: 10px !important;
    overflow-x: hidden;
    max-width: 100vw;
    font-family: var(--font-family) !important
}

body {
    margin: 0;
    overflow-x: hidden;
    font-size: var(--font-size);
    font-family: var(--font-family) !important
}

img {
    max-width: 100%
}

a {
    text-decoration: none;
    color: currentColor
}

.button {
    outline: 0;
    border: none;
    background: var(--color-button);
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 18px;
    color: var(--color-white);
    padding: 1.2rem 3rem;
    cursor: pointer
}

.button:hover {
    background-color: #e40f1a
}

@media screen and (max-width: 1200px) {
    .button {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1600px) {
    .button {
        padding: 1.2rem 2.8rem
    }
}

@media screen and (max-width: 640px) {
    .button {
        font-size: 1.4rem;
        padding: 1rem 2rem
    }
}

section {
    padding: var(--section-padding) 0
}

.content_area {
    max-width: var(--max-width);
    margin: 0 auto;
    width: 100%
}

.pd-0 {
    padding: 0
}

.pd-top-0 {
    padding-top: 0
}

.pd-bottom-0 {
    padding-bottom: 0
}

.mg-top-1 {
    margin-top: 1rem
}

.row_flex {
    display: flex
}

.row_flex-column {
    flex-direction: column
}

@media screen and (max-width: 1600px) {
    .content_area {
        max-width: var(--max-width)
    }
}

@media screen and (max-width: 986px) {
    .content_area {
        max-width: var(--max-width)
    }
}

@media screen and (max-width: 640px) {
    .content_area {
        max-width: var(--max-width)
    }
}

.field__wrap {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.field__wrap input, .field__wrap select, .field__wrap textarea {
    font-size: 1.6rem;
    padding: .4rem 1rem
}

.field__label {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.field__title {
    font-size: 1.6rem;
    padding-left: 1rem
}

.field__description {
    font-size: 1.2rem;
    padding-left: 1rem;
    font-weight: 400;
    color: #696969
}

.field__checkbox, .field__radio {
    line-height: 1
}

.field__checkbox > input, .field__radio > input {
    position: absolute;
    z-index: -1;
    opacity: 0;
    height: 0;
    display: table
}

.field__checkbox > input:not(:disabled):not(:checked) + .field__title:hover::before, .field__radio > input:not(:disabled):not(:checked) + .field__title:hover::before {
    border-color: var(--color-secondary)
}

.field__checkbox > input:not(:disabled):active + .field__title::before, .field__radio > input:not(:disabled):active + .field__title::before {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary)
}

.field__checkbox > input:focus:not(:checked) + .field__title::before, .field__radio > input:focus:not(:checked) + .field__title::before {
    border-color: var(--color-primary)
}

.field__checkbox > input:disabled + .field__title::before, .field__radio > input:disabled + .field__title::before {
    background-color: #e9ecef
}

.field__checkbox .field__title, .field__radio .field__title {
    -webkit-user-select: none;
    user-select: none;
    line-height: 1.2;
    position: relative;
    cursor: pointer;
    padding-left: 2.6rem
}

.field__checkbox .field__title a, .field__radio .field__title a {
    text-decoration: underline
}

.field__checkbox .field__title::before, .field__radio .field__title::before {
    content: "";
    display: inline-block;
    width: 1.8rem;
    height: 1.8rem;
    flex-shrink: 0;
    flex-grow: 0;
    border: 1px solid var(--color-secondary);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%;
    position: absolute;
    left: 0
}

.field__radio > input:checked + .field__title::before {
    border-color: var(--color-primary);
    background-color: var(--color-primary)
}

.field__radio .field__title::before {
    border-radius: 2rem
}

.field__checkbox > input:checked + .field__title::before {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")
}

.field__checkbox .field__title::before {
    border-radius: .4rem
}

@media screen and (max-width: 986px) {
    .field__title {
        font-size: 1.6rem
    }

    .field__checkbox .field__title, .field__radio .field__title {
        font-size: 1.4rem;
        padding-left: 2.8rem
    }

    .field__checkbox .field__title:before, .field__radio .field__title:before {
        width: 2.4rem;
        height: 2.4rem
    }
}

@media screen and (max-width: 640px) {
    .field__radio .field__title {
        text-align: center;
        font-size: 1.2rem;
        padding-left: 0
    }

    .field__radio .field__title:before {
        width: 2rem;
        height: 2rem;
        left: 50%;
        top: 0;
        transform: translate(-50%, -110%)
    }

    .field__checkbox .field__title {
        font-size: 1.2rem
    }

    .field__checkbox .field__title:before {
        width: 2rem;
        height: 2rem;
        top: .2rem
    }
}

.h1, h1 {
    font-family: var(--font-family-headers);
    font-weight: 300;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    line-height: 1.3;
    font-size: 4.6rem
}

@media screen and (max-width: 1200px) {
    .h1, h1 {
        font-size: 3.6rem
    }
}

@media screen and (max-width: 640px) {
    .h1, h1 {
        font-size: 2.4rem
    }
}

.h2, h2 {
    margin: 0;
    padding: 0;
    letter-spacing: .1rem;
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 4.6rem;
    line-height: 120%;
    margin-bottom: 4rem;
    text-transform: none
}

@media screen and (max-width: 1200px) {
    .h2, h2 {
        font-size: 3.6rem
    }
}

@media screen and (max-width: 640px) {
    .h2, h2 {
        font-size: 2.4rem;
        font-weight: 700
    }
}

.h3, h3 {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 120%;
    margin: 0;
    padding: 0
}

@media screen and (max-width: 1600px) {
    .h3, h3 {
        font-size: 2.6rem
    }
}

@media screen and (max-width: 1200px) {
    .h3, h3 {
        font-size: 2.2rem
    }
}

@media screen and (max-width: 640px) {
    .h3, h3 {
        font-size: 2rem
    }
}

body {
    font-size: 2.4rem
}

@media screen and (max-width: 1600px) {
    body {
        font-size: 2rem
    }
}

@media screen and (max-width: 1200px) {
    body {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 640px) {
    body {
        font-size: 1.8rem
    }
}

p {
    line-height: 1.4;
    margin-bottom: 1rem;
    font-size: var(--font-size);
    margin-top: 0
}

.btn {
    display: flex;
    white-space: nowrap;
    padding: .7rem 2rem;
    border: .2rem transparent solid;
    transition: .2s;
    align-items: center;
    line-height: 1;
    width: fit-content;
    cursor: pointer;
    font-size: 1.8rem
}

.btn.disabled, .btn[disabled] {
    cursor: default;
    pointer-events: none;
    filter: grayscale(1) contrast(.5)
}

.btn__framed {
    font-weight: 400;
    border-color: var(--color-primary)
}

.btn__framed:hover {
    background-color: var(--color-primary);
    color: var(--color-secondary)
}

.btn__filled {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: #fff
}

.btn__filled:hover {
    filter: brightness(.9)
}

@media screen and (max-width: 640px) {
    .btn {
        font-size: 1.8rem
    }
}

@media (max-width: 414px) {
    .btn {
        font-size: 1.4rem
    }
}

:root {
    --ui-color-primary: #333333;
    --ui-color-secondary: #c3c3c3;
    --ui-block-padding: 1.4rem;
    --ui-area-gap: 1rem
}

.ui_area {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-area-gap)
}

.ui_block {
    border: 1px dashed var(--ui-color-primary);
    border-radius: 10px;
    padding: var(--ui-block-padding)
}

.ui_block-lg_3 {
    flex: 0 0 calc(33% - var(--ui-area-gap));
    width: calc(33% - var(--ui-area-gap));
    max-width: calc(33% - var(--ui-area-gap))
}

@media screen and (max-width: 986px) {
    .ui_block-md_6 {
        flex: 0 0 calc(50% - var(--ui-area-gap));
        width: calc(50% - var(--ui-area-gap));
        max-width: calc(50% - var(--ui-area-gap))
    }
}

@media screen and (max-width: 640px) {
    .ui_block-sm_12 {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%
    }
}

.ui_block.row_flex {
    gap: 1rem
}

.ui_color {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.ui_color_square {
    width: 10rem;
    height: 5rem;
    border: 1px solid #000;
    position: relative;
    margin-bottom: .5rem
}

.ui_color_title span {
    font-size: 2rem;
    display: table;
    margin-top: .5rem
}

.header {
    background: #064e6e;
    min-height: var(--header-height);
    display: flex;
    align-items: center
}

.header__wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20rem
}

.header__button {
    font-weight: 700;
    font-size: 18px;
    color: var(--button-text-blue);
    padding: 1rem 3rem;
    display: flex;
    align-items: center;
    justify-content: center
}

.header__button:hover {
    background: var(--color-button);
    color: var(--color-white)
}

.header__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.header__logo a {
    display: flex;
    align-items: center;
    justify-content: center
}

.header__menu-medium {
    width: 100%;
    max-width: 875px
}

.header-menu__list {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    padding: 0
}

.header-menu__list li {
    text-decoration: none;
    list-style-type: none;
    list-style: none
}

.header-menu__item {
    font-family: var(--second-family);
    align-self: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.8rem;
    color: #fff
}

.header-menu__item a {
    padding: 1rem 2.4rem;
    font-weight: inherit;
    font-size: inherit;
    color: inherit
}

.header-menu__item a:hover {
    background: var(--color-red)
}

@media screen and (max-width: 1200px) {
    .header-menu__item a {
        padding: 1rem 1.6rem
    }
}

.header__menu-right {
    display: flex;
    align-items: center;
    gap: 1.2rem
}

.header__menu-contacts {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-white);
    font-size: 1.8rem
}

.header .header__menu-language {
    position: relative;
    display: inline-block;
    display: flex;
    align-items: center;
    justify-content: center
}

.header .header__menu-language .lang-toggle-input {
    opacity: 0;
    width: 0;
    height: 0
}

.header .header__menu-language .language-arrow {
    transition: transform .3s ease;
    background: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/icons/arrow_lang.svg) no-repeat;
    width: 14px;
    height: 9px
}

.header .header__menu-language .language-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid #ddd;
    min-width: 100%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease;
    display: none
}

@media screen and (max-width: 986px) {
    .header .header__menu-language .language-dropdown {
        width: 83px;
        min-width: 0
    }
}

.header .header__menu-language .language-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .75rem 1rem;
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 18px;
    color: #064e6e
}

.header .header__menu-language .language-item:last-child {
    border-bottom: none
}

.header .header__menu-language .language-item:hover {
    background-color: #f5f5f5
}

.header .header__menu-language .lang-toggle-input:checked ~ .language-dropdown {
    opacity: 1;
    visibility: visible;
    display: block
}

.header .header__menu-language .lang-toggle-input:checked ~ .language-toggle .language-arrow {
    transform: rotate(180deg)
}

.header .language-toggle {
    background: 0 0;
    border: 1px solid #fff;
    color: #fff;
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 1.8rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .5rem;
    height: 4.1rem;
    width: 8.6rem;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 1600px) {
    .header .language-toggle {
        width: 8.3rem;
        height: 3.6rem
    }
}

@media screen and (max-width: 1200px) {
    .header .language-toggle {
        width: 6.5rem;
        height: 3.4rem
    }
}

@media screen and (max-width: 986px) {
    .header .language-toggle {
        width: 8.3rem;
        height: 3.6rem
    }
}

@media screen and (max-width: 1600px) {
    .header__logo img {
        width: 5.9rem;
        height: auto
    }

    .header__wrapper {
        gap: 5.9rem
    }

    .header .language-item, .header .language-toggle, .header-menu__item, .header__menu-contacts {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1200px) {
    .header .language-item, .header .language-toggle, .header-menu__item, .header__menu-contacts {
        font-size: 1.4rem
    }
}

@media (max-width: 986px) {
    .header__menu-medium, .header__menu-right {
        display: none
    }

    .header__menu-toggle {
        display: flex
    }

    .header__logo img {
        width: 3.9rem
    }

    .header .language-item, .header .language-toggle, .header-menu__item, .header__menu-contacts {
        font-size: 1.6rem
    }
}

@media (max-width: 1024px) {
    .header__wrapper {
        gap: 4rem
    }
}

@media screen and (max-width: 986px) {
    .header__wrapper {
        min-height: var(--header-height)
    }

    .header__menu-toggle {
        display: block
    }

    .header__menu-medium, .header__menu-right {
        display: none
    }

    .header-menu__list {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        gap: 1.2rem;
        padding: 0;
        margin: 2rem 1rem
    }

    .header-menu__item {
        align-self: flex-start;
        padding: 1rem 0
    }

    .header__menu-contacts {
        background: 0 0;
        color: var(--color-white);
        padding: 1rem 2.4rem
    }

    .header .header__menu-language {
        display: flex;
        margin: 1rem 2.4rem;
        align-items: start;
        justify-content: start
    }

    .header__menu-toggle {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 4rem;
        height: 4rem;
        background: 0 0;
        border: none;
        cursor: pointer;
        z-index: 1001
    }
}

@media screen and (max-width: 986px) and (max-width: 986px) {
    .header__menu-toggle {
        width: 3rem;
        height: 3rem
    }
}

@media screen and (max-width: 986px) {
    .burger-icon {
        position: absolute;
        width: 2.4rem;
        height: .2rem;
        background: #fff;
        transition: all .3s ease;
        margin: 0 auto
    }
}

@media screen and (max-width: 986px) and (max-width: 986px) {
    .burger-icon {
        width: 3rem;
        height: .2rem
    }
}

@media screen and (max-width: 986px) {
    .burger-icon::after, .burger-icon::before {
        content: "";
        position: absolute;
        width: 100%;
        height: .2rem;
        background: #fff;
        left: 0;
        right: 0;
        transition: all .3s ease
    }

    .burger-icon::before {
        top: -8px
    }

    .burger-icon::after {
        bottom: -8px
    }
}

@media screen and (max-width: 986px) {
    .header__menu-toggle.active .burger-icon {
        background: 0 0
    }

    .header__menu-toggle.active .burger-icon::before {
        top: 0;
        transform: rotate(45deg)
    }

    .header__menu-toggle.active .burger-icon::after {
        bottom: 0;
        transform: rotate(-45deg)
    }

    .mobile-overlay.open {
        display: flex
    }
}

.mobile-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .7);
    z-index: 1000;
    display: none;
    justify-content: center;
    align-items: center
}

.mobile-overlay__body {
    overflow-y: hidden;
    max-height: 100vh;
    background: #fff;
    width: 100%;
    height: 100%;
    background: var(--color-primary-darker)
}

.mobile-overlay__logo {
    justify-content: start;
    min-height: var(--header-height)
}

@media (min-width: 987px) {
    .header__menu-toggle {
        display: none
    }
}

.footer a:hover {
    color: var(--color-red)
}

.footer-top__wrapper {
    display: flex;
    justify-content: space-between;
    padding: 13rem 0;
    gap: 1rem
}

@media screen and (max-width: 1600px) {
    .footer-top__wrapper {
        padding: 10rem 0
    }
}

@media screen and (max-width: 640px) {
    .footer-top__wrapper {
        flex-direction: column;
        padding: 6rem 0;
        gap: 4rem
    }
}

.footer-bottom__wrapper {
    padding: 1.35rem 0
}

@media screen and (max-width: 640px) {
    .footer-bottom__wrapper {
        flex-direction: column
    }
}

.footer-top {
    background: var(--color-text)
}

.footer-bottom {
    background: var(--background-dark-green)
}

.footer__logo {
    flex-shrink: 0;
    width: 15rem;
    height: 11rem
}

@media screen and (max-width: 1600px) {
    .footer__logo {
        width: 12.1rem;
        height: 9rem
    }
}

@media screen and (max-width: 1200px) {
    .footer__logo {
        width: 8.6rem;
        height: 6.4rem
    }
}

.footer .contacts-footer {
    display: flex;
    flex-direction: column;
    gap: 3rem
}

.footer .contacts-footer__info {
    font-weight: 400;
    font-size: 2.4rem;
    line-height: 120%;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    max-width: 27.4rem
}

@media screen and (max-width: 1600px) {
    .footer .contacts-footer__info {
        font-size: 2rem;
        max-width: 23.4rem
    }
}

@media screen and (max-width: 1200px) {
    .footer .contacts-footer__info {
        font-size: 1.6rem
    }
}

.footer .contacts-footer__address {
    font-style: normal
}

.footer .social-list {
    display: flex;
    gap: 1.9rem;
    margin: 0;
    padding: 0
}

.footer .social-list__item {
    display: flex;
    flex-shrink: 0;
    list-style-type: none
}

.footer .social-list__link {
    flex-shrink: 0
}

.footer .social-list__link--vk {
    display: flex
}

.footer .social-list__link--vk::before {
    content: "";
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/icons/social/social_vk.svg) no-repeat;
    background-size: contain
}

.footer .social-list__link--wa::before {
    content: "";
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/icons/social/social_wh.svg) no-repeat;
    background-size: contain
}

.nav-footer__list {
    font-weight: 400;
    font-size: 2.4rem;
    line-height: 120%;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    list-style-type: none;
    margin: 0;
    padding: 0
}

@media screen and (max-width: 1600px) {
    .nav-footer__list {
        font-size: 2rem
    }
}

@media screen and (max-width: 1200px) {
    .nav-footer__list {
        font-size: 1.6rem
    }
}

.nav-footer__item {
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit
}

.nav-footer__link {
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit
}

@media screen and (max-width: 1600px) {
    .contacts-footer__info {
        font-size: 2rem
    }
}

@media screen and (max-width: 1200px) {
    .contacts-footer__info {
        font-size: 1.6rem
    }
}

.footer-bottom__wrapper {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    font-weight: 400;
    font-size: 2.4rem;
    line-height: 120%;
    color: #dad9d9;
    padding: 1.35rem 0
}

@media screen and (max-width: 640px) {
    .footer-bottom__wrapper {
        align-items: center;
        padding: 2rem 0;
        gap: 0
    }
}

@media screen and (max-width: 640px) {
    .footer-bottom__wrapper {
        flex-direction: column
    }
}

.footer-bottom__copyright {
    display: flex;
    gap: 2rem
}

@media screen and (max-width: 640px) {
    .footer-bottom__copyright {
        gap: 0;
        flex-direction: column;
        align-items: center
    }
}

.footer-bottom__privacy-link, .footer-bottom__year {
    font-size: 2.4rem
}

@media screen and (max-width: 1600px) {
    .footer-bottom__privacy-link, .footer-bottom__year {
        font-size: 1.6rem
    }
}

.footer-bottom__developer {
    display: flex;
    align-items: center;
    justify-content: center
}

.footer-bottom__developer-link {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center
}

.footer-bottom__developer-logo {
    width: 18.4rem;
    height: 1.6rem
}

@media screen and (max-width: 1600px) {
    .footer-bottom__developer-logo {
        width: 21.8rem;
        height: 2rem
    }
}

@media screen and (max-width: 640px) {
    .footer-bottom__developer-logo {
        width: 15.4rem;
        height: 1.7rem
    }
}

.modal {
    position: fixed;
    top: 50%;
    left: 50%;
    background-color: #fff;
    width: 100%;
    max-width: 100vw;
    max-height: 100vh;
    width: 80rem;
    height: auto;
    z-index: 200;
    transition: all .3s ease-out;
    transform: translateX(-50%) translateY(calc(-50% + 15rem));
    opacity: 0;
    visibility: hidden;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-around;
    overflow: auto
}

.modal.is-active {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(-50%)
}

.modal__backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .6);
    z-index: 150;
    visibility: hidden;
    opacity: 0;
    transition: all .3s ease-out;
    backdrop-filter: blur(6px)
}

.modal__backdrop.is-active {
    visibility: visible;
    opacity: 1
}

.modal__close {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
    background: url(/local/templates/geo_group/assets/css/../img/icons/ic_modal_close.svg) no-repeat center;
    position: absolute;
    top: 3rem;
    right: 3rem;
    cursor: pointer;
    background-size: contain
}

.modal__close:hover {
    opacity: .8
}

.modal__wrapper {
    padding: 4rem 4rem;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    width: 100%
}

.modal__header {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center
}

.hero {
    height: calc(100vh - var(--header-height));
    display: flex;
    align-items: center;
    overflow: hidden
}

.hero__background {
    background-image: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/image/background.jpg);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    z-index: -1;
    background-position-x: center
}

.hero__content {
    position: relative;
    top: 5%;
    text-align: start;
    color: var(--color-white);
    z-index: 1
}

.hero__title {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 8.6rem;
    line-height: 120%;
    text-transform: uppercase;
    color: inherit
}

.hero__subtitle {
    font-weight: 400;
    font-size: 4rem;
    line-height: 120%;
    color: inherit;
    letter-spacing: .18rem
}

@media screen and (max-width: 1600px) {
    .hero__title {
        font-size: 7.6rem
    }

    .hero__subtitle {
        font-size: 3.6rem
    }
}

@media screen and (max-width: 1200px) {
    .hero__title {
        font-size: 5.6rem
    }

    .hero__subtitle {
        font-size: 3rem
    }
}

@media screen and (max-width: 640px) {
    .hero__background {
        background-position-x: 52%
    }

    .hero__title {
        font-size: 4rem
    }

    .hero__subtitle {
        font-size: 1.8rem
    }
}

.info__list-logo {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    padding: 0 24rem 10rem 24rem
}

.info__item-logo {
    max-height: 8.5rem
}

.info .geo-nav {
    max-width: 50.8rem;
    max-height: 8.5rem
}

@media screen and (max-width: 1200px) {
    .info .geo-nav {
        max-width: 37.6rem;
        max-height: 6.4rem
    }
}

@media screen and (max-width: 640px) {
    .info .geo-nav {
        max-width: 22rem;
        max-height: 3.7rem
    }
}

.info__content {
    padding: var(--section-padding) 0 var(--section-padding) 0;
    display: flex;
    flex-direction: column;
    gap: 4rem
}

@media screen and (max-width: 640px) {
    .info__content {
        gap: 2rem
    }
}

.info__content-background {
    position: relative
}

.info__content-background::before {
    content: "";
    position: absolute;
    background: var(--background-light-blue);
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    z-index: -1
}

.info__content-background {
    background: var(--background-light-blue);
    width: 100%;
    height: 100%
}

.info__title {
    font-family: var(--second-family);
    font-weight: 400;
    font-size: 56px;
    line-height: 120%;
    text-align: center;
    color: var(--color-text)
}

.info__subtitle {
    font-weight: 400;
    font-size: 30px;
    line-height: 100%;
    text-align: center;
    color: var(--color-primary-alt)
}

@media screen and (max-width: 1600px) {
    .info__content {
        padding: 8rem 0
    }

    .info__list-logo {
        padding: 0 0 8rem 0;
        justify-content: space-evenly
    }

    .info__list-logo img {
        max-height: 7.6rem
    }

    .info__title {
        font-size: 4.8rem
    }

    .info__subtitle {
        font-size: 2.4rem
    }
}

@media screen and (max-width: 1200px) {
    .info__content {
        padding: 6rem 0
    }

    .info__list-logo {
        padding: 0 0 6rem 0
    }

    .info__title {
        font-size: 3.8rem
    }

    .info__subtitle {
        font-size: 1.8rem
    }
}

@media screen and (max-width: 640px) {
    .info__content {
        padding: 4rem 0
    }

    .info__list-logo {
        padding: 0 0 4rem 0
    }

    .info__title {
        font-size: 2.4rem
    }

    .info__subtitle {
        font-size: 1.8rem;
        line-height: 110%
    }
}

.activity .h2 {
    color: #fff
}

.activity__wrapper {
    display: flex;
    flex-direction: column;
    gap: 4rem
}

@media screen and (max-width: 1200px) {
    .activity__wrapper {
        gap: 3rem
    }
}

@media screen and (max-width: 640px) {
    .activity__wrapper {
        gap: 2rem
    }
}

.activity__title {
    margin: 0
}

.activity__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 6.35rem 4.4rem;
    backdrop-filter: blur(5.5px);
    background: rgba(6, 78, 110, .32);
    display: flex;
    flex-direction: column;
    gap: 2rem;
    justify-content: space-between;
    color: #fff
}

.activity__background {
    background-image: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/image/activity_background.png);
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: -1
}

.activity__button {
    align-self: start;
    opacity: 0;
    transform: translateY(20px);
    transition: all .4s ease
}

.activity__list {
    display: flex;
    gap: 4rem;
    justify-content: space-evenly
}

@media screen and (max-width: 640px) {
    .activity__list {
        gap: 2rem
    }
}

.activity__item-subtitle, .activity__item-title {
    transition: transform .4s ease;
    margin: 0
}

.activity__item {
    width: 100%;
    max-width: 760px;
    aspect-ratio: 760/611;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.activity__item.geo-soft {
    background-image: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/image/activity_geo_soft.jpg)
}

.activity__item.geo-nav {
    background-image: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/image/activity_geo_nav.jpg)
}

.activity__item:hover .activity__button {
    opacity: 1;
    transform: translateY(0)
}

.activity__item:hover .activity__item-subtitle, .activity__item:hover .activity__item-title {
    transform: translateY(-10px)
}

.activity__item-title {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 120%;
    color: #fff
}

.activity__title {
    font-family: var(--second-family);
    font-weight: 700;
    line-height: 120%;
    color: #fff
}

.activity__item-subtitle {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    color: #fff
}

@media screen and (max-width: 1600px) {
    .activity__item {
        aspect-ratio: 509/558
    }

    .activity__item-title {
        font-size: 2.6rem
    }

    .activity__item-subtitle {
        font-size: 2.4rem
    }

    .activity__content {
        padding: 3.6rem 2rem;
        gap: 1.6rem
    }
}

t

@media screen and (max-width: 1200px) {
    .activity__item {
        aspect-ratio: 412/475
    }

    .activity__item-title {
        font-size: 2.2rem
    }

    .activity__item-subtitle {
        font-size: 1.6rem
    }

    .activity__content {
        gap: 1.4rem
    }
}

@media screen and (max-width: 640px) {
    .activity__content {
        padding: 2.4rem 1.6rem;
        gap: 1rem
    }

    .activity__item {
        aspect-ratio: 374/400
    }

    .activity__item-title {
        font-size: 2rem
    }

    .activity__item-subtitle {
        font-size: 1.8rem
    }

    .activity__list {
        flex-direction: column
    }

    .activity__button {
        opacity: 1;
        transform: translateY(0)
    }
}

.news__title {
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0
}

.news__title .h2 {
    margin: 0 0 3rem 0
}

.news__wrapper {
    display: flex;
    flex-direction: column;
    gap: 4rem
}

@media screen and (max-width: 640px) {
    .news__wrapper {
        gap: 2.25rem
    }
}

.news__list {
    display: flex;
    flex-direction: column;
    gap: 6rem
}

@media screen and (max-width: 1600px) {
    .news__list {
        gap: 4rem
    }
}

@media screen and (max-width: 1200px) {
    .news__list {
        gap: 4rem
    }
}

@media screen and (max-width: 640px) {
    .news__list {
        gap: 2rem
    }
}

.news__title-group {
    display: flex;
    gap: 2rem
}

.news__item {
    display: flex
}

.news__item:hover h3 {
    text-decoration: underline
}

@media screen and (max-width: 640px) {
    .news__item {
        flex-direction: column;
        max-height: 100%
    }
}

.news__item img {
    min-height: 265px;
    width: 100%;
    object-fit: cover;
    max-width: 27%
}

@media screen and (max-width: 1600px) {
    .news__item img {
        max-width: 40%
    }
}

@media screen and (max-width: 1200px) {
    .news__item img {
        max-width: 50%
    }
}

@media screen and (max-width: 640px) {
    .news__item img {
        max-width: 100%;
        max-height: 200px;
        min-height: 0
    }
}

.news__button {
    align-self: start
}

.news__item:nth-child(even) {
    flex-direction: row-reverse;
    background: #004869
}

.news__item:nth-child(even) .news__content {
    padding: 6rem 6.3rem 6rem 6rem
}

@media screen and (max-width: 640px) {
    .news__item:nth-child(even) .news__content {
        padding: 2rem 2rem 4rem 2rem
    }
}

@media screen and (max-width: 640px) {
    .news__item:nth-child(even) {
        flex-direction: column
    }
}

.news__content {
    display: flex;
    gap: 1rem;
    flex-direction: column;
    background: var(--background-accent-light);
    padding: 6rem 6.3rem 6rem 4rem;
    width: 100%;
    overflow: hidden;
    color: var(--color-text)
}

@media screen and (max-width: 1600px) {
    .news__content {
        padding: 6.7rem 4rem
    }
}

@media screen and (max-width: 1200px) {
    .news__content {
        padding: 6.5rem 2rem
    }
}

@media screen and (max-width: 640px) {
    .news__content {
        padding: 2rem 2rem 4rem 2rem
    }
}

.news__title-group {
    font-family: var(--second-family);
    font-weight: 700;
    line-height: 120%;
    color: var(--color-text);
    margin: 0;
    padding: 0
}

.news__date {
    font-weight: 400;
    font-size: 24px;
    line-height: 120%;
    color: var(--color-text)
}

@media screen and (max-width: 1600px) {
    .news__date {
        font-size: 2rem
    }
}

@media screen and (max-width: 1200px) {
    .news__date {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 640px) {
    .news__date {
        font-size: 1.8rem
    }
}

.news__item:nth-child(even) .news__content {
    color: var(--color-white);
    background: var(--color-primary-strong)
}

.news__item:nth-child(even) .news__content {
    color: var(--color-white)
}

.news__item:nth-child(even) .news__date, .news__item:nth-child(even) .news__title-group {
    color: var(--color-white)
}

.news-page {
    padding: 0
}

.breadcrumb {
    font-family: var(--font-family);
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    padding: 6rem 0
}

@media screen and (max-width: 1200px) {
    .breadcrumb {
        padding: 4.4rem 0
    }
}

@media screen and (max-width: 640px) {
    .breadcrumb {
        padding: 3.8rem 0
    }
}

.breadcrumb__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 3.4rem
}

.breadcrumb__item {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.breadcrumb__link {
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 100%;
    color: var(--color-text);
    text-decoration: none;
    transition: color .3s ease
}

@media screen and (max-width: 1600px) {
    .breadcrumb__link {
        font-size: 1.4rem
    }
}

.breadcrumb__link:hover {
    color: var(--color-red)
}

.breadcrumb__item::after {
    content: "";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: .8rem;
    height: 1.4rem;
    background: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/icons/arrow_breadcrumb.svg) no-repeat center/contain;
    background-size: contain;
    opacity: .7;
    position: absolute;
    right: -50%;
    top: 45%;
    transform: translateY(-50%);
    pointer-events: none
}

.breadcrumb__item:last-child::after {
    display: none
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    margin: 5rem 0 10rem 0
}

.pagination__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: .5rem
}

@media screen and (max-width: 640px) {
    .pagination__list .mobile-hidden {
        display: none
    }
}

.pagination__item {
    position: relative
}

.pagination__link {
    display: block;
    width: 4rem;
    height: 4rem;
    font-size: 1.6rem;
    line-height: 4rem;
    font-weight: 400;
    text-align: center;
    color: var(--color-text);
    background: var(--color-white);
    text-decoration: none;
    transition: all .3s ease
}

@media screen and (max-width: 1600px) {
    .pagination__link {
        font-size: 1.4rem
    }
}

.pagination__link:hover {
    background: var(--color-red);
    color: var(--color-white)
}

.pagination__item--active .pagination__link {
    background: var(--color-red);
    color: var(--color-white);
    border-color: var(--color-red)
}

.pagination__item--next, .pagination__item--prev {
    width: 4rem;
    height: 4rem
}

.pagination__item--prev .pagination__link {
    background: 0 0;
    border: none;
    color: var(--color-red);
    font-size: 2rem;
    font-weight: 700
}

.pagination__item--next .pagination__link {
    background: 0 0;
    border: none;
    color: var(--color-red);
    font-size: 2rem;
    font-weight: 700
}

.pagination__item--dots {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center
}

.pagination__dots {
    color: var(--color-text);
    font-size: 1.6rem
}

.error {
    padding: 0;
    margin: 2rem 0 10rem 0
}

.error__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6rem
}

@media screen and (max-width: 640px) {
    .error__wrapper {
        gap: 4rem
    }
}

.error__title {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 32px;
    line-height: 120%;
    color: var(--color-deep-navy);
    text-transform: none
}

@media screen and (max-width: 1600px) {
    .error__title {
        font-size: 2.6rem
    }
}

@media screen and (max-width: 1200px) {
    .error__title {
        font-size: 2.2rem
    }
}

@media screen and (max-width: 640px) {
    .error__title {
        font-size: 2rem
    }
}

.error__content {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 86px;
    line-height: 120%;
    text-transform: uppercase;
    color: var(--color-muted-blue)
}

@media screen and (max-width: 1600px) {
    .error__content {
        font-size: 7.6rem
    }
}

@media screen and (max-width: 1200px) {
    .error__content {
        font-size: 5.6rem
    }
}

@media screen and (max-width: 640px) {
    .error__content {
        font-size: 4rem
    }
}

.error__description {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 32px;
    line-height: 120%;
    color: var(--color-deep-navy);
    text-align: center
}

@media screen and (max-width: 1600px) {
    .error__description {
        font-size: 2.6rem
    }
}

@media screen and (max-width: 1200px) {
    .error__description {
        font-size: 2.2rem
    }
}

@media screen and (max-width: 640px) {
    .error__description {
        font-size: 2rem
    }
}

.cookie-notification {
    position: fixed;
    z-index: 10000;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--background-cookies);
    padding: 24px;
    display: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
    margin: 1.5%
}

.cookie__title {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 32px;
    line-height: 120%;
    color: #353632;
    align-self: flex-start
}

@media screen and (max-width: 1600px) {
    .cookie__title {
        font-size: 26px
    }
}

@media screen and (max-width: 1200px) {
    .cookie__title {
        font-size: 22px
    }
}

@media screen and (max-width: 640px) {
    .cookie__title {
        font-size: 20px
    }
}

.cookie__info {
    font-family: var(--font-family);
    line-height: 120%;
    display: flex;
    gap: 24px;
    color: #878784;
    font-size: inherit
}

.cookie__buttons {
    display: flex;
    gap: 12px
}

.cookie-notification a {
    color: #353632;
    text-decoration: none
}

.cookie__button {
    cursor: pointer;
    align-self: flex-start
}

.cookie-notification .accept {
    background-color: var(--color-button);
    color: var(--color-white)
}

.cookie-notification .decline {
    background-color: var(--color-white);
    color: #000
}

@media (max-width: 1024px) {
    .cookie__info {
        flex-direction: column
    }
}

.project {
    background: #f9f9f9
}

.project__wrapper {
    display: flex;
    flex-direction: column;
    gap: 4rem
}

@media screen and (max-width: 1200px) {
    .project__wrapper {
        gap: 3rem
    }
}

@media screen and (max-width: 640px) {
    .project__wrapper {
        gap: 2rem
    }
}

.project__title {
    font-family: var(--second-family);
    font-weight: 400;
    font-size: 5.6rem;
    line-height: 120%;
    text-align: center;
    color: #04394c;
    margin: 0;
    padding: 0
}

@media screen and (max-width: 1600px) {
    .project__title {
        font-size: 4.8rem
    }
}

@media screen and (max-width: 1200px) {
    .project__title {
        font-size: 3.8rem
    }
}

@media screen and (max-width: 640px) {
    .project__title {
        font-size: 2.4rem
    }
}

.project__text {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    text-align: center;
    color: #074d6d;
    text-align: center;
    justify-self: center
}

@media screen and (max-width: 1600px) {
    .project__text {
        font-size: 2.4rem
    }
}

@media screen and (max-width: 1200px) {
    .project__text {
        font-size: 1.8rem
    }
}

@media screen and (max-width: 640px) {
    .project__text {
        font-size: 1.8rem
    }
}

.project__content {
    display: flex
}

@media screen and (max-width: 640px) {
    .project__content {
        flex-direction: column-reverse
    }
}

.project__text-block {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    width: 50%;
    background: #c7eaf0;
    padding: 10.9rem 4rem;
    text-align: start
}

@media screen and (max-width: 1600px) {
    .project__text-block {
        padding: 12.9rem 2rem
    }
}

@media screen and (max-width: 1200px) {
    .project__text-block {
        padding: 9.9rem 2rem
    }
}

@media screen and (max-width: 986px) {
    .project__text-block {
        padding: 2rem 2rem;
        gap: 3rem
    }
}

@media screen and (max-width: 640px) {
    .project__text-block {
        width:100%
    }
}

.project__subtitle {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 120%;
    color: #04394c
}

@media screen and (max-width: 1600px) {
    .project__subtitle {
        font-size: 2.6rem
    }
}

@media screen and (max-width: 1200px) {
    .project__subtitle {
        font-size: 2.2rem
    }
}

@media screen and (max-width: 640px) {
    .project__subtitle {
        font-size: 2rem
    }
}

.project__description {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 2.4rem;
    line-height: 120%;
    color: #04394c
}

@media screen and (max-width: 1600px) {
    .project__description {
        font-size: 2rem
    }
}

@media screen and (max-width: 1200px) {
    .project__description {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 640px) {
    .project__description {
        font-size: 1.8rem
    }
}

.project__image {
    width: 50%;
    overflow: hidden
}

@media screen and (max-width: 640px) {
    .project__image {
      width: 100%
    }
}

.project__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover
}

.project__button {
    display: block;
    align-self: center;
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 1.8rem;
    color: #fff
}

.project__button:hover {
    background: #d4131b
}

.mission {
    background: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/image/mission_background.png) no-repeat center center;
    background-size: cover;
    color: #fff;
    background-position: left;
    padding: 15rem 0
}

@media screen and (max-width: 1600px) {
    .mission {
        padding: 12rem 0
    }
}

@media screen and (max-width: 1200px) {
    .mission {
        padding: 6rem 0
    }
}

@media screen and (max-width: 640px) {
    .mission {
        padding: 4rem 0
    }
}

.mission__wrapper {
    margin: 0 auto;
    position: relative;
    z-index: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4rem
}

@media screen and (max-width: 640px) {
    .mission__wrapper {
        gap: 2rem
    }
}

.mission__title {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 4.6rem;
    line-height: 120%;
    color: #fff;
    margin: 0
}

@media screen and (max-width: 1200px) {
    .mission__title {
        font-size: 3.6rem
    }
}

@media screen and (max-width: 640px) {
    .mission__title {
        font-size: 2.4rem
    }
}

.mission__text {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    text-align: center;
    color: #fff;
    max-width: 124.4rem
}

@media screen and (max-width: 1600px) {
    .mission__text {
        font-size: 2.4rem
    }
}

@media screen and (max-width: 1200px) {
    .mission__text {
        font-size: 1.8rem
    }
}

@media screen and (max-width: 640px) {
    .mission__text {
        font-size: 1.8rem;
        line-height: 110%
    }
}

.activity-desc {
    padding: 0;
    margin: 0
}

.activity-desc__list {
    display: flex;
    flex-direction: column
}

.activity-desc__list-logo {
    justify-content: center
}

.activity-desc__item {
    display: flex
}

@media screen and (max-width: 640px) {
    .activity-desc__item {
        flex-direction: column;
        max-height: 100%
    }
}

.activity-desc__item img {
    min-height: 265px;
    width: 100%;
    object-fit: cover;
    max-width: 50%
}

@media screen and (max-width: 640px) {
    .activity-desc__item img {
        max-width: 100%
    }
}

.activity-desc__item:nth-child(even) {
    flex-direction: row-reverse;
    background: #004869
}

@media screen and (max-width: 640px) {
    .activity-desc__item:nth-child(even) {
        flex-direction: column
    }
}

.activity-desc__content {
    display: flex;
    gap: 3rem;
    flex-direction: column;
    background: #c7eaf0;
    padding: 19.5rem 10rem;
    width: 100%;
    overflow: hidden;
    color: #04394c
}

@media screen and (max-width: 1600px) {
    .activity-desc__content {
        padding: 12.45rem 7rem;
        gap: 3rem
    }
}

@media screen and (max-width: 1200px) {
    .activity-desc__content {
        padding: 8.5rem 5.5rem
    }
}

@media screen and (max-width: 640px) {
    .activity-desc__content {
        padding: 2rem 2rem;
        gap: 2rem
    }
}

.activity-desc__item:nth-child(even) .activity-desc__content {
    color: #fff;
    background: #004869
}

.activity-desc__item:nth-child(even) .news__content {
    color: #fff
}

.activity-desc__item:nth-child(even) .news__date, .activity-desc__item:nth-child(even) .news__title-group {
    color: #fff
}

.news-detail {
    display: flex;
    flex-direction: column;
    gap: 6rem
}

.news-detail .content_area-small {
    max-width: var(--max-width-x2)
}

@media screen and (max-width: 1600px) {
    .news-detail {
        gap: 4rem
    }
}

.news-detail__list-img {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    max-width: none !important;
    display: grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    grid-template-rows:1fr 1fr;
    /*width: 100%;*/
    overflow: hidden
}

@media screen and (max-width: 640px) {
    .news-detail__list-img {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        max-width: none !important;
        grid-template-columns:1fr 1fr;
        grid-template-rows:1fr 1fr 1fr 1fr
    }
}

.news-detail__content {
    display: flex;
    flex-direction: column;
    gap: 2rem
}

@media screen and (max-width: 640px) {
    .news-detail__content {
        gap: 1.4rem
    }
}

.news-detail .news__date, .news-detail .news__item-title, .news-detail .news__text {
    color: #04394c
}

.news-detail .img-big {
    grid-column: 1/3;
    grid-row: 1/3;
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media screen and (max-width: 640px) {
    .news-detail .img-big {
        grid-column: 1/3;
        grid-row: 1/3
    }
}

.news-detail .img-small {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.vacancies__list {
    display: flex;
    flex-direction: column;
    gap: 2rem
}

.vacancies__position {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--background-light-blue);
    padding: 3.6rem;
    cursor: pointer
}

@media screen and (max-width: 1200px) {
    .vacancies__position {
        padding: 3rem
    }
}

@media screen and (max-width: 640px) {
    .vacancies__position {
        padding: 2rem
    }
}

.vacancies-item__title {
    color: var(--color-text);
    font-size: 3rem
}


@media screen and (max-width: 1600px) {
    .vacancies-item__title {
        font-size: inherit
    }
}

.vacancies__toggle {
    position: relative;
    background: var(--color-red);
    z-index: 1;
    padding: 1.8rem 1.5rem;
    transition: transform .3 ease;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 1600px) {
    .vacancies__toggle {
        padding: 1.2rem 1rem
    }
}

@media screen and (max-width: 640px) {
    .vacancies__toggle {
        padding: 1rem .6rem
    }
}

.vacancies .toggle-icon {
    display: inline-block;
    width: 2rem;
    height: 1.2rem;
    background: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/icons/arrow_vacancies.svg) no-repeat center center;
    background-size: contain;
    position: relative;
    z-index: 2;
    transition: transform .3s ease;
    transform: rotate(180deg)
}

@media screen and (max-width: 1600px) {
    .vacancies .toggle-icon {
        width: 1.4rem;
        height: .9rem
    }
}

@media screen and (max-width: 1200px) {
    .vacancies .toggle-icon {
        width: 1.6rem;
        height: .9rem
    }
}

@media screen and (max-width: 640px) {
    .vacancies .toggle-icon {
        width: 1.4rem;
        height: .8rem
    }
}

.vacancies__content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    padding: 5.6rem 3.6rem 3.6rem 3.6rem
}

@media screen and (max-width: 1200px) {
    .vacancies__content-wrapper {
        padding: 4rem 2rem
    }
}

@media screen and (max-width: 640px) {
    .vacancies__content-wrapper {
        padding: 2rem
    }
}

.vacancies__button {
    align-self: start;
    padding: 1.5rem 2.9rem
}

@media screen and (max-width: 1600px) {
    .vacancies__button {
        padding: 1.1rem 2.8rem
    }
}

@media screen and (max-width: 1200px) {
    .vacancies__button {
        padding: 1.1rem 2.3rem
    }
}

@media screen and (max-width: 640px) {
    .vacancies__button {
        padding: .8rem 2.1rem
    }
}

.vacancies__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease-in-out
}

.vacancies__content.active {
    max-height: 200rem
}

.vacancies__text {
    color: var(--color-text)
}

.vacancies__text li, .vacancies__text p, .vacancies__text strong, .vacancies__text ul {
    font-size: 2.4rem
}

@media screen and (max-width: 1600px) {
    .vacancies__text li, .vacancies__text p, .vacancies__text strong, .vacancies__text ul {
        font-size: 2rem
    }
}

@media screen and (max-width: 1200px) {
    .vacancies__text li, .vacancies__text p, .vacancies__text strong, .vacancies__text ul {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 640px) {
    .vacancies__text li, .vacancies__text p, .vacancies__text strong, .vacancies__text ul {
        font-size: 1.8rem
    }
}

.vacancies__text p {
    margin-bottom: 2.5rem
}

.vacancies__text ul {
    font-size: var(--font-size);
    margin: 0 1rem 1rem 1rem;
    padding: 0 0 0 2rem
}

.vacancies__toggle.active .toggle-icon {
    transform: rotate(0)
}

.contacts p {
    margin: 0
}

.contacts__wrapper {
    display: flex;
    flex-direction: column;
    gap: 4rem
}

@media screen and (max-width: 640px) {
    .contacts__wrapper {
        gap: 2rem
    }
}

.contacts__title {
    margin: 0
}

.contacts__tabs {
    display: flex;
    gap: 4rem
}

@media screen and (max-width: 640px) {
    .contacts__tabs {
        flex-direction: column;
        gap: 2rem;
        align-items: start
    }
}

.contacts__tab-button {
    outline: 0;
    border: none;
    cursor: pointer;
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 1.8rem;
    color: var(--button-text-blue);
    padding: 1.6rem 2.8rem;
    background: 0 0
}

.contacts__tab-button:hover {
    background: var(--color-button);
    color: var(--color-white)
}

@media screen and (max-width: 1200px) {
    .contacts__tab-button {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 1600px) {
    .contacts__tab-button {
        padding: 1.2rem 2.8rem
    }
}

@media screen and (max-width: 640px) {
    .contacts__tab-button {
        font-size: 1.4rem;
        padding: 1rem 2rem
    }
}

.contacts__tab-button.active {
    color: var(--color-white);
    background: var(--color-button)
}

.contacts__tab-pane {
    width: 100%;
    display: none;
    flex-direction: column;
    gap: 4rem
}

.contacts__tab-pane.active {
    display: flex
}

@media screen and (max-width: 1200px) {
    .contacts__tab-pane {
        gap: 3rem
    }
}

@media screen and (max-width: 640px) {
    .contacts__tab-pane {
        gap: 3rem
    }
}

.contacts__info {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 1rem;
    font-weight: 400;
    font-size: inherit;
    line-height: 120%;
    color: #04394c
}

@media (max-width: 700px) {
    .contacts__info {
        flex-direction: column;
        gap: 1.2rem;
        align-items: start
    }
}

.contacts__address, .contacts__email, .contacts__phone {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    font-weight: inherit;
    font-size: inherit
}

.contacts .icon-location {
    display: inline-block;
    background: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/icons/location.svg) no-repeat center center;
    width: 2.2rem;
    height: 2.7rem;
    background-size: cover;
    flex-shrink: 0
}

@media screen and (max-width: 640px) {
    .contacts .icon-location {
        width: 1.8rem;
        height: 2.2rem
    }
}

.contacts .icon-phone {
    display: inline-block;
    background: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/icons/phone.svg) no-repeat center center;
    width: 1.9rem;
    height: 3rem;
    background-size: cover;
    flex-shrink: 0
}

@media screen and (max-width: 640px) {
    .contacts .icon-phone {
        width: 1.6rem;
        height: 2.4rem
    }
}

.contacts .icon-email {
    display: inline-block;
    background: url(/local/templates/geo_group/assets/css/../../../geo_group/assets/img/icons/mail.svg) no-repeat center center;
    width: 2.8rem;
    height: 2.2rem;
    background-size: cover;
    flex-shrink: 0
}

@media screen and (max-width: 640px) {
    .contacts .icon-email {
        width: 2.2rem;
        height: 1.8rem
    }
}

.contacts__map {
    flex: 1.1
}

.contacts-map-form {
    display: flex;
    gap: 3.2rem
}

@media screen and (max-width: 1200px) {
    .contacts-map-form {
        flex-direction: column;
        gap: 2rem
    }
}

.contacts .field__errors {
    color: #e92a2e;
    font-weight: 400;
    font-size: inherit;
    line-height: 100%;
    width: 100%;
    grid-area: error
}

.contacts .fields-pd {
    padding-top: 4px
}

.contacts [data-js-form-field-errors] {
    font-size: 1.6rem
}

.contacts .field__errors-small {
    font-size: 1.6rem
}

@media screen and (max-width: 1600px) {
    .contacts .field__errors-small {
        font-size: 1.4rem
    }
}

@media screen and (max-width: 1200px) {
    .contacts .field__errors-small {
        font-size: 1.4rem
    }
}

.contacts__form {
    padding: 3.6rem;
    display: flex;
    flex-direction: column;
    gap: 3.6rem;
    background: #e6edf0;
    flex: 1
}

@media screen and (max-width: 1600px) {
    .contacts__form {
        gap: 3.2rem
    }
}

@media screen and (max-width: 1200px) {
    .contacts__form {
        padding: 2.4rem 3.6rem;
        gap: 2.4rem
    }
}

@media screen and (max-width: 640px) {
    .contacts__form {
        padding: 2rem;
        gap: 2rem
    }
}

.contacts .form-group {
    display: flex;
    flex-direction: column;
    gap: 1.2rem
}

.contacts .form-group__container {
    display: flex;
    flex-direction: column
}

.contacts .form-group textarea {
    resize: vertical
}

.contacts .form-group input, .contacts .form-group textarea {
    padding: 2.2rem;
    width: 100%;
    outline: 0;
    border: none;
    font-weight: 400;
    font-size: inherit;
    line-height: 120%
}

@media screen and (max-width: 1200px) {
    .contacts .form-group input, .contacts .form-group textarea {
        padding: 1.8rem 2rem
    }
}

@media screen and (max-width: 640px) {
    .contacts .form-group input, .contacts .form-group textarea {
        padding: 1.5rem 2rem
    }
}

.contacts .form-group input::placeholder, .contacts .form-group textarea::placeholder {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: inherit;
    line-height: 120%;
    color: #04394c;
    opacity: 1
}

.contacts .form-group input.invalid::placeholder, .contacts .form-group textarea.invalid::placeholder {
    color: #e74c3c !important;
    opacity: 1
}

.contacts .form__footer {
    display: flex;
    gap: 1rem;
    justify-content: space-between
}

.contacts .form__footer .contacts__form-actions {
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 2rem
}

.contacts .form__footer .contacts__form-actions button {
    align-self: flex-start
}

.contacts .form__captcha {
    max-width: 27.4rem;
    width: 100%
}

.contacts .form__captcha img {
    max-width: 100%;
    width: 100%
}

.contacts__consent {
    display: grid;
    grid-template-areas:"checkbox label" "error error";
    grid-template-columns:auto 1fr;
    grid-template-rows:auto auto;
    gap: .5rem
}

.contacts__consent .checkbox__text {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    grid-area: label;
    position: relative;
    bottom: -2px
}

@media screen and (max-width: 1200px) {
    .contacts__consent {
        font-size: 1.4rem
    }
}

.contacts label {
    color: #04394c;
    padding-left: 5px
}

.contacts .checkbox__input {
    appearance: none;
    position: relative;
    width: 2.4rem;
    height: 2.4rem;
    background: #fff;
    transition: .5s;
    flex-shrink: 0;
    grid-area: checkbox
}

.contacts .checkbox__input::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 30px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='12' height='10' viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M4.19632 9.26855L0 5.00244L1.04908 3.93591L4.19632 7.1355L10.9509 0.268555L12 1.33508L4.19632 9.26855Z' fill='%2304394C' /%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: contain;
    transition: .5s
}

.contacts .checkbox__input:checked::after {
    width: 1.2rem;
    height: 1rem;
    transition: .5s
}

.contacts__form-error, .contacts__form-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3rem 2rem;
    background: #f8f9fa;
    gap: 3.6rem;
    min-height: 65.3rem;
    flex: 1
}

@media screen and (max-width: 1600px) {
    .contacts__form-error, .contacts__form-success {
        gap: 3.2rem;
        min-height: 62.2rem
    }
}

@media screen and (max-width: 1200px) {
    .contacts__form-error, .contacts__form-success {
        gap: 2.4rem;
        min-height: 52.6rem
    }
}

@media screen and (max-width: 640px) {
    .contacts__form-error, .contacts__form-success {
        gap: 2rem;
        min-height: 40rem
    }
}

.contacts__form-error .success-icon, .contacts__form-success .success-icon {
    display: inline-block;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='134' height='135' viewBox='0 0 134 135' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg clip-path='url(%23clip0_318_3448)'%3e%3cpath d='M67 134.18C30.3304 134.18 0.5 104.125 0.5 67.1797C0.5 30.2344 30.3304 0.179688 67 0.179688C103.67 0.179688 133.5 30.2344 133.5 67.1797C133.5 104.125 103.67 134.18 67 134.18ZM67 8.55469C34.9139 8.55469 8.8125 34.8523 8.8125 67.1797C8.8125 99.5071 34.9139 125.805 67 125.805C99.0861 125.805 125.188 99.5071 125.188 67.1797C125.188 34.8523 99.0861 8.55469 67 8.55469Z' fill='%2304394C' /%3e%3cpath d='M60.7649 89.5128C59.7005 89.5128 58.6371 89.106 57.8273 88.285L39.8173 70.1395C38.1937 68.5028 38.1937 65.8508 39.8173 64.2151C41.4408 62.5793 44.073 62.5793 45.6975 64.2151L60.77 79.4019L93.8546 46.0696C95.4781 44.4338 98.1103 44.4338 99.7338 46.0696C101.357 47.7053 101.357 50.3573 99.7338 51.993L63.7127 88.285C62.8928 89.106 61.8294 89.5128 60.7649 89.5128Z' fill='%2304394C' /%3e%3c/g%3e%3cdefs%3e%3cclipPath id='clip0_318_3448'%3e%3crect width='133' height='134' fill='white' transform='translate(0.5 0.179688)' /%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
    width: 13.4rem;
    height: 13.5rem;
    background-size: cover;
    flex-shrink: 0
}

@media screen and (max-width: 1600px) {
    .contacts__form-error .success-icon, .contacts__form-success .success-icon {
        width: 9rem;
        height: 9rem
    }
}

@media screen and (max-width: 640px) {
    .contacts__form-error .success-icon, .contacts__form-success .success-icon {
        width: 7.4rem;
        height: 7.4rem
    }
}

.contacts__form-error .error-icon, .contacts__form-success .error-icon {
    display: inline-block;
    background-image: url('data:image/svg+xml,<svg width="74" height="74" viewBox="0 0 74 74" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_318_5444)"><path d="M37 74C16.5974 74 0 57.4026 0 37C0 16.5974 16.5974 0 37 0C57.4026 0 74 16.5974 74 37C74 57.4026 57.4026 74 37 74ZM37 4.625C19.1476 4.625 4.625 19.1476 4.625 37C4.625 54.8524 19.1476 69.375 37 69.375C54.8524 69.375 69.375 54.8524 69.375 37C69.375 19.1476 54.8524 4.625 37 4.625Z" fill="%23E92A2E"/><path d="M48.4058 25.1641L25.5938 48.082" stroke="%23E92A2E" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/><path d="M25.5938 25.1641L48.4058 48.082" stroke="%23E92A2E" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/></g><defs><clipPath id="clip0_318_5444"><rect width="74" height="74" fill="white"/></clipPath></defs></svg>');
    width: 13.4rem;
    height: 13.5rem;
    background-size: cover;
    flex-shrink: 0
}

@media screen and (max-width: 1600px) {
    .contacts__form-error .error-icon, .contacts__form-success .error-icon {
        width: 9rem;
        height: 9rem
    }
}

@media screen and (max-width: 640px) {
    .contacts__form-error .error-icon, .contacts__form-success .error-icon {
        width: 7.4rem;
        height: 7.4rem
    }
}

.contacts__form-error .error-title, .contacts__form-error .success-title, .contacts__form-success .error-title, .contacts__form-success .success-title {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 120%;
    color: #04394c
}

@media screen and (max-width: 1600px) {
    .contacts__form-error, .contacts__form-success {
        font-size: 2.6rem
    }
}

@media screen and (max-width: 1200px) {
    .contacts__form-error, .contacts__form-success {
        font-size: 2.2rem
    }
}

.policy__wrapper {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    margin-bottom: 10rem
}

@media screen and (max-width: 640px) {
    .policy__wrapper {
        gap: 2rem
    }
}

.policy__title {
    font-family: var(--second-family);
    font-weight: 700;
    font-size: 4.6rem;
    line-height: 120%;
    color: var(--color-text);
    margin: 0
}

@media screen and (max-width: 1200px) {
    .policy__title {
        font-size: 3.6rem
    }
}

@media screen and (max-width: 640px) {
    .policy__title {
        font-size: 2.4rem
    }
}

.policy__text {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    color: var(--color-deep-navy)
}

@media screen and (max-width: 1600px) {
    .policy__text {
        font-size: 2.4rem
    }
}

@media screen and (max-width: 1200px) {
    .policy__text {
        font-size: 1.8rem
    }
}

.policy__text p {
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit
}

/* ===== FIX FOR MOBILE SPACING ISSUES ===== */
/* Reset for all browsers */
* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Explicit spacing between hero and info sections */
.hero {
    padding: 0 !important;
    margin: 0 !important;
}

.info.pd-bottom-0 {
    padding-bottom: 0 !important;
}

/* Mobile-specific fixes */
@media screen and (max-width: 640px) {
    .hero {
        padding: 0 !important;
        margin: 0 !important;
        height: calc(100vh - var(--header-height)) !important;
    }

    .info {
        padding: var(--section-padding) 0 0 0 !important;
        margin: 0 !important;
    }

    /* Ensure no gap between sections */
    .hero + .info {
        margin-top: 0 !important;
        padding-top: var(--section-padding) !important;
    }

    /* Fix for Safari specific issues */
    @supports (-webkit-touch-callout: none) {
        .hero, .info {
            -webkit-transform: translateZ(0);
            transform: translateZ(0);
        }
    }
}
/* End */


/* Start:/local/templates/geo_group/styles.css?1768466953624*/
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f5f5f5;
}

.main-header {
    background: #2c3e50;
    color: white;
    padding: 20px 0;
}

.main-footer {
    background: #34495e;
    color: white;
    padding: 20px 0;
    text-align: center;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.content {
    background: white;
    padding: 20px;
    margin: 20px 0;
    border-radius: 5px;
}

#panel {
    background: #e74c3c;
    padding: 5px;
    color: white;
}

.activity-desc__item img {
    min-height: auto;
    object-fit: contain;
}
/* End */
/* /local/templates/geo_group/assets/css/app.css?176846695372247 */
/* /local/templates/geo_group/styles.css?1768466953624 */
