/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.5.15,
* Autoprefixer: v10.5.0
* Browsers: last 4 version
*/

/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.5.15,
* Autoprefixer: v10.5.0
* Browsers: last 4 version
*/

/* base */
:root {
    --dark-color: #1c1c1c; /* 28, 28, 28*/
    --light-color: #f4f4db; /* 244, 244, 219 */
    --orange-color: #cc8a36; /*204, 138, 54*/
    --red-color: #b3543a; /*179, 84, 58*/
    --blue-color: #799eb8; /*212, 158, 184*/
    --green-color: #2f4f4f; /*47, 79, 79*/
    --accent-color: #ffde00; /* Цвета узора */
    --add-color: #6f9090;
}

@font-face {
    font-family: "hibana";
    src: local(""), url("../fonts/hibana.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    text-rendering: optimizeLegibility;
}

@font-face {
    font-family: "mihey";
    src: local(""), url("../fonts/mihey.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    text-rendering: optimizeLegibility;
}


* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

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

html,
body {
    height: 100vh;
    width: 100%;
    max-width: 100%;
    margin: 0;
}


html {
    scroll-behavior: smooth;
    overflow-y: scroll;
    background-color: var(--light-color);
    font-family: hibana, Roboto, sans-serif;
    font-weight: 500;
    color: var(--dark-color);
    line-height: 1.6;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* ==== structure ==== */

/* footer-support */
.footer-support {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
}

.footer-support__content {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

.footer-support__footer {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

/* container */
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* grid-cards */
.grid-cards {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

/* flex-cards */

.flex-cards {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px;
}

.flex-cards > * {
    -ms-flex-preferred-size: 300px;
    flex-basis: 300px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

/* flag */

.flag {
    display: block;
    width: 1px;
    height: 1px;
    background-color: transparent;
    position: absolute;
    left: 0;
    top: -50px;
    pointer-events: none;

}

/* title-ordinary */

.title-ordinary {
    font-weight: 500;
    font-size: 2rem;
    text-align: left;
    margin: 2rem 0;
    position: relative;
}

/* title-ordinary-2 */

.title-ordinary-2 {
    display: inline-block;
    margin: 10px 0 20px;
    padding: 20px;
    border-radius: 20px;
    background-color: var(--green-color);
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--light-color);
    line-height: 1;
    text-align: left;
    position: relative;
}


/* title-2 */

.title-2 {
    font-family: mihey, Roboto, sans-serif;
    font-weight: 400;
    font-size: 2rem;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 2rem;
    position: relative;
}

.title-2::after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    background: var(--green-color);
    margin: 10px auto 0;
}

/* main-header */
.main-header {
    background: rgba(244, 244, 219, 0.9);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.main-header__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 10px;
}

@media (min-width: 768px) {

    .main-header__flex {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;

    }
}

/* logo */

.logo {
    display: block;
    width: 50px;
    height: 50px;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: opacity;
    transition-property: opacity;
}

.logo img {
    width: 50px;
    height: 50px;
}

.logo:hover,
.logo:active {
    opacity: 0.7;
}

/* nav-menu */

.nav-menu {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 50px;
}

.nav-menu__link {
    display: block;
    padding: 10px;
    text-decoration: none;
    color: var(--dark-color);
    margin: 0 10px;
    font-weight: 500;
}

.nav-menu__link:hover,
.nav-menu__link:active {
    color: var(--green-color);
}


/* hero */
.hero {
    background-image: url("../img/bg-fir-green.svg");
    background-position: center;
    background-size: 800px auto;
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--light-color);
    padding-top: 60px;
}

.hero__logo {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}

.hero__content {
    max-width: 700px;
}

.hero__title {
    font-family: mihey, Roboto, sans-serif;
    font-weight: 400;
    font-size: 2.2rem;
    margin-bottom: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
}

.hero__accented {
    color: var(--orange-color);
    font-weight: 400;
}

.hero__text {
    font-size: 1.2rem;
    margin-bottom: 2rem;
}


@media (min-width: 768px) {

    .hero__title {
        font-size: 3rem;
    }
}

/* main-info */

.main-info__container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.main-info__about {
    padding: 20px 0;
}

.main-info__text {
    padding-bottom: 10px;
}

.main-info__text a {
    color: var(--orange-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-filter;
    transition-property: -webkit-filter;
    transition-property: filter;
    transition-property: filter, -webkit-filter;
}

.main-info__accented {
    font-weight: bold;
}

.main-info__text a:hover,
.main-info__text a:active {
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}


/* travel */

.travel__tag-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.travel__tag-item {
    padding: 10px;
}

.travel__tag-link {
    display: block;
    padding: 12px;
    line-height: 1;
    border-radius: 5px;
    background-color: var(--green-color);
    background-size: 100px;
    background-position: center;
    font-size: 20px;
    color: var(--light-color);
    text-decoration: none;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-transform, -webkit-filter;
    transition-property: -webkit-transform, -webkit-filter;
    transition-property: transform, filter;
    transition-property: transform, filter, -webkit-transform, -webkit-filter;
}

.travel__tag-link--blue {
    background-color: var(--blue-color);
}

.travel__tag-link--green {
    background-color: var(--green-color);
}

.travel__tag-link--red-strip {
    background-color: var(--red-color);
    background-image: url("../img/bg-fir-red.svg");
}

.travel__tag-link--orange-strip {
    background-color: var(--orange-color);
    background-image: url("../img/bg-fir-orange.svg");
}

.travel__tag-link--blue-strip {
    background-color: var(--blue-color);
    background-image: url("../img/bg-fir-blue.svg");
}

.travel__tag-link:hover,
.travel__tag-link:active {
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}

.travel__mascot {
    padding: 20px 0 0;
    background-image: linear-gradient(to top, var(--blue-color) 30%, transparent 30%);
}

.travel__text {
    margin: 0;
    padding-bottom: 20px;
}

.travel__goose {
    display: block;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    border-radius: 50%;
    background-color: var(--green-color);
    background-image: url("../img/bg-fir-green.svg");
    background-position: center;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-transform, -webkit-filter;
    transition-property: -webkit-transform, -webkit-filter;
    transition-property: transform, filter;
    transition-property: transform, filter, -webkit-transform, -webkit-filter;
}

.travel__goose:hover,
.travel__goose:active {
    -webkit-transform: rotate(-30deg);
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
    -webkit-filter: brightness(0.7);
    filter: brightness(0.7);
}

.travel__goose img {
    
}


.travel__hub {
    padding: 40px 0;
    background-size: 600px;
    position: relative;
}

.travel__hub .title-2 {
    color: var(--light-color);
}

.travel__hub .title-2::after {
    background-color: var(--light-color);
}

.travel__hub--blue {
    background-color: var(--blue-color);
}

.travel__hub--orange-strip {
    background-color: var(--orange-color);
    background-image: url("../img/bg-fir-orange.svg");
}

.travel__hub--red-strip {
    background-color: var(--red-color);
    background-image: url("../img/bg-fir-red.svg");
}

.travel__hub--green {
    background-color: var(--green-color);
}

.travel__hub--green-strip {
    background-color: var(--green-color);
    background-image: url("../img/bg-fir-green.svg");
}

.travel__hub--blue-strip {
    background-color: var(--blue-color);
    background-image: url("../img/bg-fir-blue.svg");
}

.travel__hub--dark {
    background-color: var(--dark-color);
}


.travel__card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
    padding: 20px;
    border: 0;
    vertical-align: baseline;
    background: var(--light-color);
    border-radius: 8px;
    overflow: hidden;
    -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.travel__card::before {
    content: "";
    display: block;
    width: 100px;
    height: 100px;
    background-image: url("../img/sprite-travel.svg");
    background-size: 100% auto;
    border-radius: 8px;
    margin: 0 auto 20px;
}

.travel__hub--blue .travel__card::before,
.travel__hub--blue-strip .travel__card::before {
    background-color: var(--blue-color);
}

.travel__hub--green .travel__card::before,
.travel__hub--green-strip .travel__card::before{
    background-color: var(--green-color);
}

.travel__hub--red-strip .travel__card::before {
    background-color: var(--red-color);
}

.travel__hub--orange-strip .travel__card::before {
    background-color: var(--orange-color);

}


.travel__card--bus::before {
    background-position: center 0;
}

.travel__card--train::before {
    background-position: center -100px;
}

.travel__card--taxi::before {
    background-position: center -200px;
}

.travel__card--car::before {
    background-position: center -300px;
}

.travel__card--hotel-kologriv::before {
    background-position: center -400px;
}

.travel__card--hotel-perelet::before {
    background-position: center -500px;
}

.travel__card--hotel-unga::before {
    background-position: center -600px;
}

.travel__card--emil::before {
    background-position: center -700px;
}

.travel__card--nshan::before {
    background-position: center -800px;
}

.travel__card--goose-capital::before {
    background-position: center -900px;
}

.travel__card--5::before {
    background-position: center -1000px;
}

.travel__card--shops::before {
    background-position: center -1100px;
}

.travel__card--park::before {
    background-position: center -1200px;
}

.travel__card--goose::before {
    background-position: center -1300px;
}

.travel__card--kichenka::before {
    background-position: center -1400px;
}

.travel__card--everywhere::before {
    background-position: center -1500px;
}

.travel__card--museum-l::before {
    background-position: center -1600px;
}

.travel__card--museum-ch::before {
    background-position: center -1700px;
}

.travel__card--urma::before {
    background-position: center -1800px;
}

.travel__card--college::before {
    background-position: center -1900px;
}

.travel__card--dreams::before {
    background-image: url("../img/goosehorse.svg");
    background-position: center;
    background-size: contain;
}

.travel__card-body {
    margin: 0;
    display: block;
}

.travel__card-title {
    margin-bottom: 10px;
    color: var(--green-color);
    text-align: center;
}

.travel__card-body p {
    margin-bottom: 10px;
}

.travel__card-body a {
    color: var(--orange-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-filter;
    transition-property: -webkit-filter;
    transition-property: filter;
    transition-property: filter, -webkit-filter;
    white-space: nowrap;
}

.travel__card-body a:hover,
.travel__card-body a:active {
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}


/* btn */

.btn {
    display: inline-block;
    background: var(--green-color);
    color: var(--light-color);
    padding: 12px 30px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 500;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-transform, -webkit-filter;
    transition-property: -webkit-transform, -webkit-filter;
    transition-property: transform, filter;
    transition-property: transform, filter, -webkit-transform, -webkit-filter;
}

.btn:hover,
.btn:active,
.btn:focus {
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}

/* about */
.about {
    padding: 20px 0;
    position: relative;
}

.about__body {
    margin: 0 auto;
    padding-bottom: 50px;
    max-width: 800px;
    text-align: center;
}

.about__text {
    font-size: 1.1rem;
}


/* player */

.player__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: 20px;
}

.player__btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    font-size: 16px;
    font-weight: 500;
    color: var(--light-color);
    background-color: var(--dark-color);
    border: none;
    border-radius: 25px;
    cursor: pointer;
    -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    -webkit-transition-property: background-color, color, width, -webkit-transform, -webkit-filter;
    transition-property: background-color, color, width, -webkit-transform, -webkit-filter;
    transition-property: transform, filter, background-color, color, width;
    transition-property: transform, filter, background-color, color, width, -webkit-transform, -webkit-filter;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.player__btn--green {
    background-color: var(--green-color);
}

.player__btn--orange {
    background-color: var(--orange-color);
}

.player__btn--blue {
    background-color: var(--blue-color);
}

.player__btn:hover {
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}

.player__btn:active {
    background-color: var(--orange-color);
}

.player__btn.playing {
    background-color: var(--red-color);
}

.player__btn-icon {
    font-size: 14px;
    width: 16px;
    text-align: center;
}

/* volume */

.volume {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background-color: var(--light-color);
    -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
}

.volume--open {
    opacity: 1;
    pointer-events: auto;
}

.volume__icon {
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background-image: url("../img/icon-volume.svg");
    background-repeat: no-repeat;
    background-size: contain;
}

.volume__label {
    width: calc(100% - 90px);
}

.volume__input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 3px;
    background: var(--dark-color);
    border-radius: 3px;
    outline: none;
}

.volume__input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    background: var(--red-color);
    border-radius: 50%;
    cursor: pointer;
    -webkit-transition: -webkit-transform 0.1s;
    transition: -webkit-transform 0.1s;
    transition: transform 0.1s;
    transition: transform 0.1s, -webkit-transform 0.1s;
}

.volume__input::-webkit-slider-thumb:hover {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

@media (min-width: 768px) {

    .volume__icon {
        width: 100px;
        height: 100px;
    }

    .volume__label {
        width: calc(100% - 140px);
    }

}

/* to-do */

.to-do__card {
    display: block;
    width: 100%;
    padding: 20px;
    border-radius: 8px;
    background-color: var(--green-color);
    background-repeat: repeat;
    background-position: bottom;
    position: relative;
}

.to-do__title {
    padding-top: 120px;
    background-repeat: no-repeat;
    background-size: 100px;
    background-position: center 20px;
    font-family: mihey, Roboto, sans-serif;
    font-size: 3rem;
    font-weight: 400;
    color: var(--light-color);
    text-transform: uppercase;
    text-align: center;
}

.to-do__card--nature {
    background-image: url("../img/bg-fir-green.svg");
}

.to-do__card--nature .to-do__title {
    background-image: url("../img/icon-todo01.svg");
}

.to-do__card--fairy-tale {
    background-color: var(--orange-color);
    background-image: url("../img/bg-fir-orange.svg");
}

.to-do__card--fairy-tale .to-do__title {
    background-image: url("../img/icon-todo02.svg");
}

.to-do__card--relax {
    background-color: var(--blue-color);
    background-image: url("../img/bg-fir-blue.svg");
    -webkit-animation: movebgup 240s linear infinite;
    animation: movebgup 240s linear infinite;
}

.to-do__card--relax .to-do__title {
    background-image: url("../img/icon-todo03.svg");
}

.to-do__text {
    padding: 20px;
    border-radius: 6px;
    background-color: var(--light-color);
    font-size: 1.1rem;

}

.to-do__text a {
    color: var(--orange-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-filter;
    transition-property: -webkit-filter;
    transition-property: filter;
    transition-property: filter, -webkit-filter;
}

.to-do__text a:hover,
.to-do__text a:active {
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}

.to-do__container {
    padding-bottom: 20px;
}

.to-do__info {

}

/* chronology */

.chronology {
    padding: 0 20px;
    position: relative;
}

.chronology__list {
    list-style: none;
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin: 0 auto;
    padding-bottom: 50px;
    max-width: 800px;
}

.chronology__item--last {
    grid-column: 1 / -1;
}

.chronology__img {
    margin-bottom: 20px;
    border-radius: 8px;
    overflow: hidden;
}

.chronology__img img {
    width: 100%;
}

.chronology__about {
    margin: -10px 0 20px;
    font-size: 1.1rem;
    text-align: center;
}

.chronology__date {
    display: inline-block;
    margin-bottom: 10px;
    padding: 5px;
    border-radius: 5px;
    border: 1px solid var(--blue-color);
    font-size: 16px;
    color: var(--blue-color);
    line-height: 1;
}

.chronology__text {
    font-size: 1.1rem;
}

.chronology__text a {
    color: var(--orange-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-filter;
    transition-property: -webkit-filter;
    transition-property: filter;
    transition-property: filter, -webkit-filter;
}

.chronology__text a:hover,
.chronology__text a:active {
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}

/* links */

.links__list {
    list-style: none;
    padding-top: 20px;
}

.links__item {
    padding-bottom: 20px;
}

.links__link {
    font-size: 0.9rem;
    color: var(--orange-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-transform, -webkit-filter;
    transition-property: -webkit-transform, -webkit-filter;
    transition-property: transform, filter;
    transition-property: transform, filter, -webkit-transform, -webkit-filter;
}

.links__info {
    font-size: 0.7rem;
}

.links__link:hover,
.links__link:active {
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}

/* map */

.map {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 50px;
    position: relative;
}

.map__about {
    padding-bottom: 20px;
    font-size: 1.1rem;
    text-align: center;
}

.map__opener {
    width: 110px;
    height: 110px;
    padding: 10px;
    margin: 0;
    border: 0;
    background-color: var(--light-color);
    text-decoration: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    cursor: pointer;
    border-radius: 8px;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: background-color, -webkit-transform;
    transition-property: background-color, -webkit-transform;
    transition-property: transform, background-color;
    transition-property: transform, background-color, -webkit-transform;
}

.map__opener:hover {
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
    background-color: var(--orange-color);
}

.map__preview {

}


/* modal */

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--green-color);
    background-image: url("../img/bg-fir-green.svg");
    z-index: 9999;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Состояние, когда окно открыто */
.modal.is-open {
    opacity: 1;
    visibility: visible;
}

.modal__content {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /* Центруем лоадер. Когда картинка загрузится, JS переключит на flex-start для правильного скролла */
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/* Кнопка закрытия зафиксирована на экране, чтобы не улетала при скролле карты */
.modal__close-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    background: rgba(0, 0, 0, 0.6); /* Чуть темнее, чтобы кнопка четко выделялась */
    border: none;
    color: #fff;
    font-size: 40px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10000;
    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;
}

/* Лоадер */
.modal__loader {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    z-index: 10;
}

.modal__loader img {
    width: 100px;
    height: 100px;
}

/* --- СОСТОЯНИЕ ЗАГРУЗКИ --- */
.modal__content.loading .modal__loader {
    display: block;
}

.modal__content.loading .modal-map {
    opacity: 0;
}

/* Сама карта */
.modal-map {
    display: block;
    width: 100%; /* Строго 100% ширины устройства */
    height: auto; /* Высота пропорциональна ширине */
    opacity: 1;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

/* Блокировка скролла страницы */
body.no-scroll {
    overflow: hidden;
    height: 100vh;
}

/* locations */
.locations {
    padding-bottom: 50px;
    position: relative;
}

.locations__about {
    padding-bottom: 30px;
}

.locations__text {
    padding-bottom: 20px;
}

.locations__text a {
    color: var(--orange-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-filter;
    transition-property: -webkit-filter;
    transition-property: filter;
    transition-property: filter, -webkit-filter;
}

.locations__text a:hover,
.locations__text a:active {
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}

/* card */
.card {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    display: block;
    background: var(--light-color);
    border-radius: 8px;
    overflow: hidden;
    -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.card__img {
    width: 100%;
    height: 200px;
    background-size: cover;
    background-position: center;
    background-color: var(--blue-color);
    position: relative;
    overflow: hidden;
}

.card__img::before {
    content: "Ждём ваше фото";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 18px;
    color: var(--light-color);
    text-transform: uppercase;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;

}

.card__img img {
    width: 100%;
    height: 200px;
    -o-object-fit: cover;
    object-fit: cover;
    position: relative;
}


.card__body {
    margin: 0;
    padding: 20px;
    border: 0;
    vertical-align: baseline;
    display: block;
}

.card-body__title {
    margin-bottom: 10px;
    color: var(--green-color);
}

/* add */

.add {
    position: relative;
}

.add {
    padding: 4rem 0 2rem;
    background-color: var(--green-color);
}

.add__title {
    text-align: left;
    font-weight: 500;
    color: var(--light-color);
    margin-bottom: 1.5rem;
}

.add__list {
    list-style: none;
}

.add__sublist {
    list-style: none;
}

.add__subtitle {
    font-weight: 500;
    color: var(--light-color);
}

.add__text {
    color: var(--add-color);
}

.add__text a {
    color: var(--blue-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-filter;
    transition-property: -webkit-filter;
    transition-property: filter;
    transition-property: filter, -webkit-filter;
}


.add__text a:hover,
.add__text a:active {
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}

.add__info .add__text {
    padding-bottom: 20px;
}

/* main-footer */
.main-footer {
    background: var(--dark-color);
    color: var(--add-color);
    padding: 4rem 0 2rem;
}

.main-footer__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem;
}

.main-footer__title {
    text-align: left;
    color: var(--light-color);
    font-weight: 500;
    margin-bottom: 1.5rem;
}

.main-footer__title::after {
    margin: 5px 0 0 0;
}

.main-footer__text {
    margin-bottom: 10px;
    font-weight: 500;
    color: var(--add-color);
}


.main-footer__accented {
    color: var(--light-color);
}

.main-footer__text a {
    color: var(--blue-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-filter;
    transition-property: -webkit-filter;
    transition-property: filter;
    transition-property: filter, -webkit-filter;
}


.main-footer__text a:hover,
.main-footer__text a:active {
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}


.main-footer__copy {
    border-top: 1px solid var(--add-color);
    padding-top: 1.5rem;
    text-align: center;
    font-size: 0.9rem;
}

/* feedback */

.feedback {
    position: relative;
}

.feedback__text {
    margin: 0;
    padding-bottom: 20px;
    color: var(--light-color)
}

.feedback__text a {
    color: var(--blue-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-filter;
    transition-property: -webkit-filter;
    transition-property: filter;
    transition-property: filter, -webkit-filter;
}

.feedback__text a:hover,
.feedback__text a:active {
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}


.feedback__iframe {
    width: 100%;
    border-width: 0;
}


@-webkit-keyframes movebgup {
    0% {
        background-position: center 0;
    }
    100% {
        background-position: center -1000px; /* Сдвиг по вертикали вверх */
    }
}


@keyframes movebgup {
    0% {
        background-position: center 0;
    }
    100% {
        background-position: center -1000px; /* Сдвиг по вертикали вверх */
    }
}



.index .hero {
    height: auto;
    background-image: url("../img/bg-kologriv-icons.svg"),
    url("../img/bg-fir-green.svg");
    background-repeat: repeat-x, repeat;
    background-size: 4000px auto, 600px auto;
    background-position: 0 50px, calc(50% - 0px) 50%;
    -webkit-animation-name: movehero;
    animation-name: movehero;
    -webkit-animation-duration: 40s;
    animation-duration: 40s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}


@-webkit-keyframes movehero {
    from {
        background-position: 0 50px, calc(50% - 0px) 50%;
    }
    to {
        background-position: -4000px 50px, calc(50% - 600px) 50%;
    }
}


@keyframes movehero {
    from {
        background-position: 0 50px, calc(50% - 0px) 50%;
    }
    to {
        background-position: -4000px 50px, calc(50% - 600px) 50%;
    }
}

/* ordinary */
.ordinary .hero {
    height: auto;
}

.ordinary__article {
    padding-bottom: 50px;
}

.ordinary__date {
    margin: 20px 0;
    color: var(--dark-color);
    opacity: 0.5;
}

.ordinary__text {
    margin-bottom: 10px;
}

.ordinary__text a {
    color: var(--orange-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-filter;
    transition-property: -webkit-filter;
    transition-property: filter;
    transition-property: filter, -webkit-filter;
}

.ordinary__text a:hover,
.ordinary__text a:active {
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}

.ordinary__accented {
    font-weight: bold;
}


/* changes */

.index .hero__content {
    margin: 0 auto;
    text-align: center;
}

@media (min-width: 768px) {

    .index .nav-menu {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }
}

.skazka1 .hero {
    background-image: url("../skazka1/img/bg-hero.webp");
    background-size: cover;
    background-repeat: no-repeat;
}




