@font-face {
    font-family: 'Finlandica';
    src: url('fonts/Finlandica/Finlandica.ttf') format('truetype');
}

@font-face {
    font-family: 'Finlandica-Regular';
    src: url('fonts/Finlandica/Finlandica-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Finlandica-Medium';
    src: url('fonts/Finlandica/Finlandica-Medium.ttf') format('truetype');
}

::selection {
  background-color: #3b8854; /* Цвет фона выделения */
  color: #fff; /* Цвет текста */
}

/* Применение шрифта к элементам */
body {
    font-family: 'Finlandica-medium', sans-serif;
-webkit-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
-moz-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}

html
{
    background: #79bd8f;
    color: white;
    font-family: arial;
    min-width: 320px;
    overflow: hidden;
    overflow-y: auto;
}

a
{
    font-family: 'Finlandica', sans-serif;
    color: white;
}

input
{
    font-family: 'Finlandica', sans-serif;
}

.top-block {
    width: 100vw; /* 100% от ширины окна браузера */
    height: 100vh; /* 100% от высоты окна браузера */
    background: url('img/logo.png') center center no-repeat;
    background-size: cover; /* Масштабирует изображение, сохраняя пропорции */
    position: fixed; /* Фиксируем блок на странице */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10; /* Можно изменить в зависимости от других элементов */
    background-size: 512px;
    background-color: #79bd8f;
    display: none;
}

header
{
    margin: 0px 20px;
    width: 100%;
    max-width: 1200px;
    margin: 0px auto;
}

header .logo
{
    background: url('img/logo.png') center center no-repeat;
    width: 380px;
    height: 100px;
    background-size: auto 140%;
}

header .logo a
{
    display: block;
    height: 100%;
}

h1
{
    text-align: center;
}

h1 + p {
    text-align: center;
}

header .right_menu
{
    display: flex;
    float: right;
    margin-top: -75px;
}

header .right_menu a
{
    white-space: nowrap;
}

header .right_menu .search
{
    width: auto;
}

header .right_menu .publication
{
    margin-left: 20px;
}

header .right_menu > div
{
    margin: 0px 20px;
}

header .right_menu > div:not(.profile) svg
{
    /*content: "🞢";*/
    position: absolute;
    margin-left: -25px;
    display: block;
    line-height: 18px;
    text-align: center;
}

header .right_menu .publication svg
{
    width: 17px;
    height: 17px;
    border: 2px solid white;
    border-radius: 100%;
}

header .right_menu .profile
{
    margin-left: 20px;
    width: 50px;
}

header .right_menu .right_menu_links
{
    display: none;
    float: right;
    position: absolute;
    background: white;
    width: 250px;
    margin-left: -204px;
    padding: 5px;
    -webkit-box-shadow: 2px 3px 2px 1px rgba(90, 140, 106, 0.96);
    -moz-box-shadow: 2px 3px 2px 1px rgba(90, 140, 106, 0.96);
    box-shadow: 2px 3px 2px 1px rgba(90, 140, 106, 0.96);
    border: 1px solid #79bd8f;
    border-left: 2px solid #79bd8f;
}

header .right_menu .profile.active .right_menu_links
{
    display: block;
}

header .right_menu .right_menu_links .menu_link a
{
    padding: 10px 20px;
    display: block;
    color: black;
    margin-bottom: 0px;
}

header .right_menu .right_menu_links .menu_link a:hover
{
    opacity: 0.9;
    text-decoration: none;
  background: linear-gradient(to left, #79bd8f 50%, #ffffff 50%);
  background-size: 200% 100%;
  background-position: right bottom;
  color: white;
  transition: all 0.25s ease;
}

header .right_menu .profile .profile_image {
    background: white;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    margin: -20px;
    margin-left: 0px;
    border: 5px solid #79bd8f;
    margin-left: -5px;
    overflow: hidden;
}

header .right_menu .profile .profile_image img
{
    border-radius: 100%;
    width: 50px;
    height: auto;
    margin-top: -5px;
}

header .right_menu .profile .profile_image:has(img) {
    border: 3px solid #ffffff;
}

header .right_menu .profile.active .profile_image,
header .right_menu .profile:hover .profile_image
{
    cursor: pointer;
    background: #79bd8f;
    border: 5px solid #ffffff;
    z-index: 2;
    position: relative;
}

header .right_menu .profile.active .profile_image:has(img),
header .right_menu .profile:hover .profile_image:has(img)
{
    border: 3px solid #e82e51;
}


header .right_menu .profile.active .profile_image svg,
header .right_menu .profile:hover .profile_image svg
{
    fill: #ffffff;
}

header .right_menu .profile:hover .right_menu_links
{
    display: block;
}

section.main 
{
    margin: 30px auto;
    max-width: 1200px;
    width: 100%;
    clear: both;
}

.search
{
    width: calc(100% - 40px);
    display: inline-block;
    justify-content: center;
    margin: 0px 20px;
-webkit-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
-moz-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
/*      flex-wrap: wrap;*/
}
.search_form
{
    min-height: 100vh;
    background-size: 350px;
}
.search_form > form > div
{
    width: calc(100%/3);
    background: white;
    border-radius: 15px;
}
.search_form form
{
    display: flex;
    gap: 20px;
    padding: 25px;
    border: 3px solid #e5e5e5;
    border-radius: 15px;
    background: #ffffff25;
    overflow: hidden;
}
.search_form form input
{    
    font-family: 'Finlandica', sans-serif;
    width: 100%;
    padding: 15px 20px;
    border-radius: 15px;
    border: 5px solid #fff;
    cursor: pointer;
    font-size: 21px;
}

.search_form form input[type="submit"]
{
    background: linear-gradient(135deg, #fe5b7a 0%, #e82e51 100%);
}

.search_form form input[type="submit"]:hover
{
    
}

.search_form form [type="date"]
{
    max-width: 80%;
    height: 25px;
}

[type="submit"]
{
    background: #79bd8f;
    color: white;
-webkit-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
-moz-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

[type="submit"]:hover
{
-webkit-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0);
-moz-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0);
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0);
}

.search_form > form > .input_search:nth-child(2) input {
    border-left: 0px solid;
    border-radius: 0px;
}

.search_form form input:focus {
    outline: none;
}

.search_form .search_result .search_list .search_item
{
    min-height: 200px;
    width: calc(100% - 5px);
    margin-top: 25px;
    border: 3px solid #e5e5e5;
    border-radius: 15px;
    background: #fff;
    opacity: 1;
    display: flex;
    overflow: hidden;
}

.search_form .search_result .search_list .search_item .image
{
    background: #79bd8f url(/img/igogo.png) no-repeat center center;
    margin: 25px;
    border-radius: 15px;
    overflow: hidden;
    width: 200px;
    height: 200px;
    background-size: 75%;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    opacity: 0.92;
}

.search_form .search_result .search_list .search_item .search_item_content
{
    background: white url(/img/car_mini.png) no-repeat left bottom;
    color: black;
    width: calc(100% - 250px);
    padding: 15px 25px;
    background-size: 30px;
    animation: moveCar 15s linear infinite;
    padding-bottom: 25px;
    background-size: 30px !important;
}

.search_form .search_result .search_list.travels .search_item .search_item_content
{
    background-size: 10px;
}

.search_form .search_result .search_list:not(.travels) .search_item:nth-child(2n) .search_item_content{
    animation: moveCar 7s linear infinite;
}

.search_form .search_result .search_list:not(.travels) .search_item .search_item_content:before
{
    content: " ";
    color: black;
    width: calc(100% - 250px);
    padding: 25px;
    margin-top: 100px;
    animation: moveCar2 8s linear infinite;
    position: absolute;
}

.search_form .search_result .search_list:not(.travels) .search_item:nth-child(2n) .search_item_content:before{
    animation: moveCar2 5s linear infinite;
}

.search_form .search_result .search_list:not(.travels) .search_item .search_item_content:after
{
    content: " ";
    color: black;
    width: calc(100% - 250px);
    padding: 25px;
    margin-top: 130px;
    animation: moveCar3 7s linear infinite;
    position: absolute;
    opacity: 0.3;
    left: 250px;
}

.people_available .coordinates
{
    filter: blur(5px); /* Степень размытия */
    -webkit-filter: blur(5px); /* Для Safari и Chrome */
    -moz-filter: blur(5px); /* Для Firefox */
    -o-filter: blur(5px); /* Для Opera */
    -ms-filter: blur(5px); /* Для IE */
}

.people_available .travel_date_time
{
    filter: blur(5px); /* Степень размытия */
    -webkit-filter: blur(5px); /* Для Safari и Chrome */
    -moz-filter: blur(5px); /* Для Firefox */
    -o-filter: blur(5px); /* Для Opera */
    -ms-filter: blur(5px); /* Для IE */
}

@keyframes moveCar {
    0% {
        background: white url(/img/car2.png) no-repeat left bottom;
        background-size: 70px;
    }
    100% {
        background: white url(/img/car2.png) no-repeat right bottom;
        background-size: 70px;
    }
}


@keyframes moveCar2 {
    0% {
        background: url(/img/car.png) no-repeat left center;
        background-size: 70px;
    }
    100% {
        background: url(/img/car.png) no-repeat right center;
        background-size: 70px;
    }
}

@keyframes moveCar3 {
    0% {
        background: url(/img/car2.png) no-repeat left center;
        background-size: 70px;
    }
    100% {
        background: url(/img/car.png) no-repeat right center;
        background-size: 70px;
        opacity: 1.0;
    }
}

.search_form .search_result .search_list .search_item .search_item_content strong 
{
    font-size: 20px;
}

.search .blog-item
{
    display: block;
    aspect-ratio : 1 / 1;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 100%;
    width: 20%;
    height: same-as-width;
    overflow: hidden;
    float: left;
    color: white;
    text-align: center;
    padding-top: calc(var(--width)/2);
    transition: 1s;
}
.search .blog-item:hover
{
    text-decoration: none;
    opacity: 0.9;
    background-size: auto 150%;
    transition: 0.5s;
}
.search .blog-item span
{
    width: 100%;
    text-align: center;
    vertical-align: middle;
    display: block;
    margin: 0px auto;
    padding-top: 50% !important;
    margin-top: -36px;
    font-size: 20px;
    line-height: 26px;
    -webkit-text-shadow: 3px 3px 10px rgba(0, 0, 0, 1);
    -moz-text-shadow: 3px 3px 10px rgba(0, 0, 0, 1);
    text-shadow: 3px 3px 10px rgba(0, 0, 0, 1);
}
.search .blog-item span b
{
      background: rgba(0, 0, 0, 0.5);
      padding: 10px;
      display: block;
}
.blog {
    background: black;
    padding: 30px;
    letter-spacing: 1px;
}
.blog h1
{
    color: white;
    text-align: center;
    font-size: 36px;
    margin-top: -10px;
}
.blog .main-image {
    width: 100%;
    text-align: center;
}
.blog .text
{
    padding: 10px 30px;
}
.blog .text h2
{
    font-size: 30px;
}
.blog .text p
{
    line-height: 26px;
    padding-bottom: 5px;
}
.blog .description
{
    color: white;
    padding: 20px 30px;
    font-size: 20px;
    line-height: 36px;
}
.liveinternet {
  opacity: 1 !important;
  background: black;
  margin-bottom: -5px;
}
.liveinternet a {
    opacity: 0.1;
}
.scanwords
{
    width: 100%;
}
.mini
{
    color: white;
}

.register
{
    height: 100vh;
}

.register_form
{
    max-width: 550px;
    width: 100%;
    margin: 0px auto;
    border: 5px solid;
    border-radius: 20px;
    padding: 25px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);    
    -webkit-box-shadow: 2px 3px 2px 1px rgba(90, 140, 106, 0.96);
-moz-box-shadow: 2px 3px 2px 1px rgba(90, 140, 106, 0.96);
box-shadow: 2px 3px 2px 1px rgba(90, 140, 106, 0.96);
}

.register_form .input_register input
{
    width: calc(100% - 40px);
    border: 5px solid #f0f0f0;
    border-radius: 10px;
    padding: 10px 15px;
    font-size: 20px;
    margin-bottom: 25px;
    opacity: 0.95;
    text-align: center;
}

.register_form #register .input_register input
{
    text-align: left;
}

.register_form .input_register input::placeholder {
    color: #ccc;
    opacity: 1; /* Для Firefox */
}

/* Для Chrome, Safari, Opera */
.register_form .input_register input::-webkit-input-placeholder {
    color: #ccc;
}

.register_form .input_register input:hover,
.register_form .input_register input:focus,
.register_form .input_register input:active,
.register_form .input_register input:not(:empty)
{    
    -webkit-box-shadow: 3px 4px 2px 3px rgba(90, 140, 106, 0.96);
    -moz-box-shadow: 3px 4px 2px 3px rgba(90, 140, 106, 0.96);
    box-shadow: 3px 4px 2px 3px rgba(90, 140, 106, 0.96);
    opacity: 1;
    outline: none; /* убирает стандартное выделение */
}

.register_form .input_register input:hover::placeholder,
.register_form .input_register input:focus::placeholder {
    color: #79bd8f;
}

.register_form .input_register input:hover::-webkit-input-placeholder,
.register_form .input_register input:focus::-webkit-input-placeholder {
    color: #79bd8f;
}

.register_form .input_register.error input
{
    border: 5px solid red;
    color: red;
}

.register_form .errors
{
    font-size: 16px;
    color: red;
}

.register_form .input_register > p
{
    display: none;
}

.register_form .input_register.error p
{
    display: block;
    color: red;
    box-shadow: none;
    font-size: 12px;
    right: 0px;
    text-align: center;
    margin-bottom: -20px;
    z-index: 10;
    position: relative;
    padding: 0px;
    margin-top: 5px;
}

.register_form .input_register_button
{
    width: calc(100% - 10px);
    border: 5px solid #f0f0f0;
    border-radius: 10px;
    padding: 0px;
    cursor: pointer;
    height: 40px;
    overflow: hidden;
}

.register_form .input_register_button:hover
{
    cursor: pointer;
    background: white;
    color: #79bd8f;
    -webkit-box-shadow: 3px 4px 2px 3px rgba(90, 140, 106, 0.96);
    -moz-box-shadow: 3px 4px 2px 3px rgba(90, 140, 106, 0.96);
    box-shadow: 3px 4px 2px 3px rgba(90, 140, 106, 0.96);
}

.register_form .input_register_button [type="submit"]
{
    width: 100%;
    font-size: 20px;
    border: 0px;
    line-height: 38px;
    height: 40px;
}

.register_form .input_register_button:hover  [type="submit"]
{
    cursor: pointer;
    background: white;
    color: #79bd8f;
    -webkit-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
    -moz-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);    
}

.register_form h2
{
    margin-top: -70px;
    margin-bottom: 45px;
}

.register_form .oferta
{
    margin-bottom: -80px;
    margin-top: 50px;
    font-size: 14px;
}

.contacts
{
    text-align: center;
    margin-top: 20px;
    font-size: 14px;
    clear: both;
}

.right_menu .messages .icon svg
{
    width: 32px;
    height: 32px;
    margin-left: -32px;
    margin-top: -5px;
}

.input_search [type="text"]:focus,
.input_search [type="text"]:active,
.input_search [type="date"]:focus,
.input_search [type="date"]:active
{
    background: #f1f1f1;
}

.search_form .relevations
{
    position: absolute;
    background: white;
    color: black;
    z-index: 10;
    width: 100%;
    max-width: 330px;
    border-radius: 15px;
    margin-top: 7px;
    padding: 2px;
    overflow: hidden;
      -webkit-box-shadow: 4px 4px 8px 0px rgba(34, 60, 80, 0.3);
  -moz-box-shadow: 4px 4px 8px 0px rgba(34, 60, 80, 0.3);
  box-shadow: 4px 4px 8px 0px rgba(34, 60, 80, 0.3);
  border: 1px solid #ccc;
  display: none;
}

.search_form .relevations.active
{
    display: block;
}

.search_form .relevations .relevation
{
  padding: 10px;
  border: 1px solid #ccc;
  cursor: pointer;
  width: calc(100% - 30px);
    margin: 5px;
  border-radius: 12px;
    font-family: 'Finlandica-Regular';
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0);
    font-size: 18px;
}

.private_policay
{
    background: white;
    color: black;
    font-family: 'Finlandica-Regular';
    padding: 30px 50px;
    margin-top: 30px;
    border-radius: 20px;
    /*max-width: 940px;*/
    margin: 50px auto;
    font-size: 18px;
      -webkit-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
  -moztext-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
}

.private_policay .headline
{
    display: block;
    padding-top: 15px;
}

.search_form .relevations .relevation:hover
{
    background: #f1f1f1;
}

.input_calendar input[type="date"]
{
    -webkit-appearance: none;
}

.authorize-popup
{
    position: fixed;
    right: 0px;
    bottom: 0px;
    padding: 30px;
}

.authorize-popup a
{
    border: 3px solid #eee;
    padding: 8px 20px;
    border-radius: 10px;
    text-decoration: none;
    margin-left: 10px;
}

.authorize-popup a:hover
{
    background: #e82e51;
}

.brone_success
{
    color: black;
}

.brone_success b
{
    text-align: center;
    color: #e82e51;
}

.form_block_soglasie
{
    display: flex;
    font-size: 12px;
}

.register_form .form_block_soglasie
{
    margin: -10px auto 0px;
}

.append_drive
{
      width: 360px;
  text-align: center;
  display: block;
  margin: 0px auto;
    margin-top: 0px;
    margin-bottom: 0px;
  height: 50px;
  background: #e82e51;
  line-height: 50px;
  font-size: 20px;
  text-decoration: none;
  border: 3px solid white;
  border-radius: 12px;
  margin-top: 50px;
  margin-bottom: 120px;
    background: #ffefae;
    color: black;
}

.append_drive:hover
{
    font-size: 21px;
}

footer .docs
{
    text-align: center;
}

footer .docs a
{
    padding: 0px 5px;
    font-size: 14px;
    font-family: 'Finlandica-medium', sans-serif;
}

footer .contacts
{
    font-size: 14px;
    font-family: 'Finlandica-medium', sans-serif;    
}

footer .contacts a
{
    padding: 0px 5px;
    font-size: 14px;
    font-family: 'Finlandica-medium', sans-serif;   
}

.soglasie_checkbox {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

/* Скрытие стандартного чекбокса */
.soglasie_checkbox input[type="checkbox"] {
    display: none;
}

/* Создание кастомного чекбокса */
.soglasie_checkbox label {
    position: relative;
    cursor: pointer;
    padding-left: 25px;
    font-size: 16px;
}

/* Создание коробки для чекбокса */
.soglasie_checkbox label::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border: 4px solid #eee;
    margin-right: 15px;
    border-radius: 8px;
    transition: all 0.3s ease;
    margin-left: -25px;
}

.form_block_soglasie.error .soglasie_checkbox label::before {
    border-color: #e82e51;
}

/* Активная граница при наведении */
.soglasie_checkbox label:hover::before {
    border-color: white;
}

/* Стили для отмеченного чекбокса */
.soglasie_checkbox input[type="checkbox"]:checked + label::before {
    border-color: white;
    background: #79bd8f;
}

/* Галочка внутри чекбокса */
.soglasie_checkbox label:hover::after,
.soglasie_checkbox input[type="checkbox"]:checked + label::after {
    content: '✔︎';
    display: block;
    width: 23px;
    height: 16px;
    color: #ffe972;
    position: absolute;
    top: 2px;
    left: 2px;
    font-size: 32px;
    line-height: 18px;
    text-align: center;
    -webkit-text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
    -moz-text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

.soglasie_checkbox label:hover::after {
    border-color: white;
    width: 23px;
    font-size: 22px;
    line-height: 23px;
}

.form-get-travels .form_block_soglasie
{
    font-size: 14px;
    margin-top: -36px;
}

.form-get-travels .form_block_soglasie .soglasie_checkbox label::before
{
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  border: 3px solid #eee;
  margin-right: 10px;
  border-radius: 7px;
  transition: all 0.3s ease;
  margin-left: 3px;
  margin-top: -4px;
}

.form-get-travels .form_block_soglasie .soglasie_checkbox label:hover::after, 
.form-get-travels .form_block_soglasie .soglasie_checkbox input[type="checkbox"]:checked + label::after
{
    top: -4px;
    left: 30px;
      font-size: 26px;
  line-height: 22px;
}

.form-get-travels .form_block_soglasie .soglasie_checkbox label:hover::after
{
    width: 23px;
    font-size: 26px;
    line-height: 22px;
}

.form-get-travels .form_block_soglasie:has(.error):not(.checked) .soglasie_checkbox label::before {
    border-color: red;
}

.readonly-block
{
    display: flex; gap: 20px; margin: 100px auto; flex-wrap: wrap;
}

.readonly-block-left
{
    flex: 1; min-width: 300px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 30px; border-radius: 15px; color: white; text-align: center; box-shadow: 0 10px 20px rgba(0,0,0,0.1); transition: transform 0.3s; cursor: pointer;
}

.readonly-block-left:hover
{
    background: linear-gradient(135deg, #667eea 30%, #764ba2 100%);
}

.readonly-block-right
{
    flex: 1; min-width: 300px; background: linear-gradient(135deg, #fe5b7a 0%, #e82e51 100%); padding: 30px; border-radius: 15px; color: white; text-align: center; box-shadow: 0 10px 20px rgba(0,0,0,0.1); transition: transform 0.3s; cursor: pointer;
}

.readonly-block-right:hover
{
    background: linear-gradient(135deg, #fe5b7a 30%, #e82e51 100%);
}

.readonly-block-button
{
    background: white; color: #667eea; border: none; padding: 12px 25px; border-radius: 15px; font-weight: bold; cursor: pointer;
    font-size: 18px;
}

.readonly-block-left .readonly-block-button
{
    color: #754fa8;
}

.readonly-block-right .readonly-block-button
{
    color: #e93154;
}


/* Дополнительные улучшения */
/*@media (hover: hover) and (pointer: fine) {
    .soglasie_checkbox label:hover::after {
        transform: scale(0.9);
    }
}*/

/* Адаптивность */
@media screen and (max-width: 768px) {
    .soglasie_checkbox label {
        font-size: 14px;
    }
    
    .soglasie_checkbox label::before {
        width: 18px;
        height: 18px;
    }
}

/* Адаптивность */
@media screen and (max-height: 1200px) {
    .register_form h2 {
        display: none;
    }
}




@media (max-width: 1200px) {
    .search .blog-item
    {
        width: 25%;
    }
}

@media (max-width: 980px) {
    header .right_menu {
        width: 100%;
        margin: 30px 0px;
        justify-content: space-between;
    }

    header .right_menu .profile
    {
        padding: 0px;
        margin: 0px;
    }
    header .right_menu > div {
        width: calc(100%/5) !important;
    }

    footer .docs a
    {
        width: 100%;
        display: block;
        line-height: 30px;
    }

    .register_form
    {
        position: relative;
        top: auto;
        left: auto;
        transform: none;  
        margin-top: 70px;
        padding: 55px 25px 25px;
    }

    .register_form h2 {
      margin-top: -100px;
      margin-bottom: 45px;
    }

    .register_form .oferta
    {
        margin-bottom: -100px;
    }

    .append_drive
    {
        width: 100%;
    }

    .form-get-travels .form_block_soglasie
    {
        font-size: 14px;
        margin-top: -55px;
    }

    .form-get-travels .form_block_soglasie .soglasie_text
    {
        text-align: left;
        margin-top: -8px;
    }

    .form-get-travels .form-travels__container
    {
        padding-bottom: 70px;
    }
}

@media (max-width: 850px) {
    header .logo {
        background: url('img/logo.png') center center no-repeat;
        background-size: auto;
        width: 285px;
        height: 100px;
        background-size: auto 120%;
    }

    h1 {
        font-size: 24px;
        margin: 20px;
    }

    .no_mobile
    {
        display: none;
    }

    header .right_menu .profile .profile_image
    {
        float: auto;
        margin: 0px auto;
    }

    header .right_menu > div
    {
        line-height: 25px;
    }

    header .right_menu > div .icon
    {
        width: 100%;
    }

    header .right_menu > div:not(.profile) svg
    {
        position: relative;
        margin: 0px auto;
    }


    header .right_menu > div
    {
        width: calc(100%/5);
        padding: 0px;
        margin: 0px;
    }

    header .right_menu > div .text
    {
        text-align: center;
    }

    header .right_menu .profile .profile_image
    {
        margin-top: -10px;
    }
    .right_menu .messages .icon svg {
        width: 32px;
        height: 32px;
        margin: -6px auto;
    }
}

@media (max-width: 800px) {
/*    body
    {
        font-family: 'Finlandica-medium', sans-serif;
    }*/
    .blog {
        padding: 30px 20px;
    }
    .blog .main-image img {
        width: 100%;
        height: auto;
    }
    .blog .description
    {
        padding: 20px 0px;
        line-height: 30px;
    }
    .blog .text
    {
        padding: 0px 20px;
          word-wrap: break-word;
    }
    .search .planet-item
    {
        width: calc(100%/2);
    }
    .search_form form
    {
        display: block;
        padding: 20px;
    }
    .search_form > form > div
    {
        width: 100%;
        margin-bottom: 15px;
    }
    .search_form > form > .input_search_button
    {
        margin-bottom: 0px;
    }
    .search_form .search_result .search_list .search_item
    {
        width: 100%;
        display: block;
    }
    .search_form .search_result .search_list .search_item .image
    {
        width: calc(100% - 55px);
        border-radius: 15px;
        background-size: 35%;
    }
    .search_form .search_result .search_list .search_item .search_item_content
    {
        width: calc(100% - 55px);
        min-height: 250px;
    }
    .search_form .search_result .search_list:not(.travels) .search_item .search_item_content {
        animation: moveCar 4s linear infinite;
    }
    .search_form .search_result .search_list:not(.travels) .search_item .search_item_content::before {
        width: calc(100% - 55px);
        animation: moveCar2 3s linear infinite;
    }
    .search_form .search_result .search_list:not(.travels) .search_item .search_item_content::after {
        animation: moveCar 5s linear infinite;
        width: calc(100% - 110px);
        left: 35px;
        margin-top: 135px;
    }
    .search_form > form > .input_search:nth-child(2) input {
      border-left: 0px solid;
      border-radius: 15px;
      border: 3px solid #e5e5e5;
    }
    .search_form form input
    {
        padding: 15px;
        width: calc(100% - 35px);
        border: 3px solid #e5e5e5;
    }
    .search_form form input[type="submit"]{
        width: 100%;
    }

    .search_form form [type="date"]
    {
        color: black;
    }

    .input_calendar
    {
        width: calc(100% - 6px) !important;
        background: white;
        height: 55px;
        border: 3px solid #e5e5e5;
        overflow: hidden;
    }

    .input_calendar input[type="date"]
    {
        width: calc(100% - 28px); 
        max-width: calc(100% - 28px); 
        border: 0px solid #e5e5e5;
        position: absolute;
        display: block;
        height: 28px;
        opacity: 1;
        -webkit-appearance: none;
        background: none;
        position: relative;
        text-align: left;
    }

    .search_item_header .search_price {
      float: right;
      font-size: 35px;
      margin-top: 0px !important;
      color: #278c47;
      width: 100%;
      padding: 15px 0px;
      text-align: left;
      margin: 0px;
    }
    
    .search_item_footer {
      display: flex;
      padding-top: 15px;
      background: #ffffffe5;
      min-width: 500px;
      overflow-x: auto;
    }

    .register_form h2 {
        display: block;
    }
}

@media (max-width: 700px) {
    header .right_menu
    {
        width: 100%;
        margin: 30px 0px;
    }

    header .right_menu > div
    {
        width: calc(100%/5) !important;
        margin: 0px;
        padding-left: 0px;
        margin-left: 0px;
    }
    header .right_menu .publication
    {
        margin: 0px;
    }
    header .right_menu .right_menu_links
    {
        right: 20px;
        width: calc(100% - 50px);
        margin: 10px auto;
        text-align: center;
        font-size: 18px;
    }
    header .logo {
        width: 100%;
    }
}
@media (max-width: 650px) {
    .register_form {
        max-width: calc(100% - 60px);
        left: 0px;
        top: 50px;
        position: relative;
        transform: none;
        margin-top: 50px;
        padding: 60px 20px 25px;
    }
    .register_form h2 {
        margin-top: -100px;
        margin-bottom: 45px;
        font-size: 20px;
    }
    .register_form .input_register input
    {
        font-size: 18px;
    }
    .register
    {
        height: 85vh;
    }
    .register_form .form_block_soglasie .soglasie_text
    {
        margin-top: 2px;
    }
    .soglasie_checkbox label:hover::after, .soglasie_checkbox input[type="checkbox"]:checked + label::after
    {
        font-size: 38px;
        line-height: 20px;
    }
    .soglasie_checkbox label::before
    {
        width: 24px;
        height: 24px;
    }
    .search
    {
        width: calc(100% - 10px);
        margin: 0px 5px;
    }
    .form-travels__container
    {
        padding: 25px 15px 70px !important;
    }
    .form-get-travels .form_block_soglasie
    {
        margin-top: -60px;
    }
    .success {
        color: #79bd8f;
        font-size: 30px;
        text-align: center;
        line-height: 45px;
    }
    .search_form form
    {
        padding: 20px 15px;
    }
    .form-get-travels .form_block_soglasie {
        font-size: 12px;
        width: 90%;
    }
}
@media (max-width: 600px) {
    .search .planet-item
    {
        width: 100%;
    }
    .search_form .search_result .search_list .search_item .search_item_content::after
    {
        margin-top: 125px;
    }
    .register_form .input_register.error p
    {
        margin-bottom: -18px;
        font-size: 10px;
    }
    header .right_menu > div .text
    {
        font-size: 12px;
    }
}
@media (max-width: 550px) 
{
    .register_form .oferta {
      margin-bottom: -100px;
    }
}
@media (max-width: 480px) 
{
    .register_form .oferta {
      margin-bottom: -105px;
    }
    .register_form .input_register.error p
    {
        margin-bottom: -16px;
        font-size: 8px;
    }
    header .right_menu a
    {
        white-space: wrap;
    }
    .register_form .form_block_soglasie {
      margin: -10px auto 5px;
    }

    .soglasie_checkbox
    {
        margin-bottom: 24px;
    }
}
@media (max-width: 400px) 
{
    .register_form .oferta {
      margin-bottom: -120px;
    }
}
@media (max-width: 380px) 
{
    .register_form .oferta {
      margin-bottom: -100px;
    }
    .register_form {
        margin-bottom: -130px;
        margin: 0px;
        max-width: calc(100% - 54px);
        padding: 20px;
    }
    .register_form h2 {
      margin-top: -55px;
      margin-bottom: 35px;
      font-size: 20px;
    }
}
@media (max-width: 350px) 
{
    .register_form .oferta {
        margin-bottom: -115px;
    }

}
/* Дополнительные улучшения */
@media screen and (max-width: 768px) {
    .top-block {
        background-size: contain; /* Для мобильных устройств */
    }
    .authorize-popup {
      position: fixed;
      right: 0px;
      bottom: 0px;
      padding: 30px;
      width: 100%;
      background: #79bd8f;
      text-align: right;
      border-top: 1px solid;
          -webkit-box-shadow: 0px 0px 1px 2px rgba(255, 255, 255, 0.56);
    -moz-box-shadow: 0px 0px 1px 2px rgba(255, 255, 255, 0.56);
    box-shadow: 0px 0px 1px 2px rgba(255, 255, 255, 0.56);
    }
}

/* Дополнительные улучшения */
@media screen and (max-width: 512px) {
    .top-block {
        background-size: 85%;
    }
}