@font-face {
  font-family: "Gotham";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("/src/fonts/Gotham-Book.woff") format("woff"), url("/src/fonts/Gotham-Book.woff2") format("woff2"), url("/src/fonts/Gotham-Book.eot") format("embedded-opentype"), url("/src/fonts/Gotham-Book.ttf") format("truetype");
}
@font-face {
  font-family: "Gotham";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("/src/fonts/Gotham-Medium.woff") format("woff"), url("/src/fonts/Gotham-Medium.woff2") format("woff2"), url("/src/fonts/Gotham-Medium.eot") format("embedded-opentype"), url("/src/fonts/Gotham-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Gotham";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("/src/fonts/Gotham-Bold.woff") format("woff"), url("/src/fonts/Gotham-Bold.woff2") format("woff2"), url("/src/fonts/Gotham-Bold.eot") format("embedded-opentype"), url("/src/fonts/Gotham-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Philosopher";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("/src/fonts/Philosopher-Bold.woff") format("woff"), url("/src/fonts/Philosopher-Bold.woff2") format("woff2"), url("/src/fonts/Philosopher-Bold.eot") format("embedded-opentype"), url("/src/fonts/Philosopher-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Philosopher";
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  src: url("/src/fonts/Philosopher-BoldItalic.woff") format("woff"), url("/src/fonts/Philosopher-BoldItalic.woff2") format("woff2"), url("/src/fonts/Philosopher-BoldItalic.eot") format("embedded-opentype"), url("/src/fonts/Philosopher-BoldItalic.ttf") format("truetype");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("/src/fonts/Montserrat-Regular.woff") format("woff"), url("/src/fonts/Montserrat-Regular.woff2") format("woff2"), url("/src/fonts/Montserrat-Regular.eot") format("embedded-opentype"), url("/src/fonts/Montserrat-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("/src/fonts/Montserrat-Medium.woff") format("woff"), url("/src/fonts/Montserrat-Medium.woff2") format("woff2"), url("/src/fonts/Montserrat-Medium.eot") format("embedded-opentype"), url("/src/fonts/Montserrat-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("/src/fonts/Montserrat-SemiBold.woff") format("woff"), url("/src/fonts/Montserrat-SemiBold.woff2") format("woff2"), url("/src/fonts/Montserrat-SemiBold.eot") format("embedded-opentype"), url("/src/fonts/Montserrat-SemiBold.ttf") format("truetype");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("/src/fonts/Montserrat-Bold.woff") format("woff"), url("/src/fonts/Montserrat-Bold.woff2") format("woff2"), url("/src/fonts/Montserrat-Bold.eot") format("embedded-opentype"), url("/src/fonts/Montserrat-Bold.ttf") format("truetype");
}
body {
  font-family: "Montserrat", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 32px;
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto;
  min-height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #1A2027;
  background-color: #ffffff;
}
@media (width >= 2500px) and (width < 3500px) {
  body {
    zoom: 120%;
  }
}
@media (width >= 3500px) and (width < 4000px) {
  body {
    zoom: 140%;
  }
}
@media (width >= 4000px) {
  body {
    zoom: 150%;
  }
}
img {
  max-width: 100%;
}
a {
  text-decoration: none;
  cursor: pointer;
}
.visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
  transition-duration: 0.3s;
}
*,
*::after,
*::before {
  box-sizing: inherit;
}
ul,
ol {
  padding: 0;
  margin: 0;
}
ul li {
  list-style: none;
}
input,
textarea {
  outline: none;
  font-family: "Montserrat", "Arial", sans-serif;
  border: none;
  background-color: transparent;
  padding: 0;
}
fieldset {
  padding: 0;
  margin: 0;
  border: none;
}
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
}
p {
  padding: 0;
  margin: 0;
}
.seoTags {
  display: none;
}
::-webkit-scrollbar-button {
  height: 0;
  width: 0;
  display: none;
}
* {
  scrollbar-width: thin;
  scrollbar-color: #70808E #ffffff;
}
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-thumb {
  background-color: #70808E;
  border-radius: 5px;
  border: 2px solid #ffffff;
}
::-webkit-scrollbar-track {
  background-color: #70808E;
  border-radius: 5px;
}
.button {
  border: none;
  font-family: "Montserrat", "Arial", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 32px;
  background-color: transparent;
  padding: 0;
  cursor: pointer;
}
.buttonAccent {
  color: #ffffff;
  font-weight: 400;
  border-radius: 50px;
  position: relative;
  z-index: 1;
}
.buttonAccent::before,
.buttonAccent::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  z-index: -1;
  transition: opacity 0.4s ease-in-out;
}
.buttonAccent::before {
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  opacity: 0;
}
.buttonAccent::after {
  background-color: #1A2027;
  opacity: 1;
}
.buttonAccent:hover::before {
  opacity: 1;
}
.buttonAccent:hover::after {
  opacity: 0;
}
.buttonGlass {
  position: relative;
  padding: 16px 24px;
  border-radius: 80px;
  border: 1px solid #ffffff;
  background-color: transparent;
  font-size: 22px;
  font-weight: 500;
  color: #ffffff;
  z-index: 9;
  transition: background-color 0.4s ease-in-out, color 0.4s ease-in-out;
}
.buttonGlass:hover {
  background-color: #ffffff;
  color: #1A2027;
}
.buttonGlassInverse {
  position: relative;
  padding: 16px 24px;
  border-radius: 80px;
  border: 1px solid #1A2027;
  background-color: transparent;
  font-size: 22px;
  font-weight: 500;
  color: #1A2027;
  z-index: 9;
  transition: background-color 0.4s ease-in-out, color 0.4s ease-in-out;
}
.buttonGlassInverse:hover {
  background-color: #1A2027;
  color: #ffffff;
}
.buttonViewAll {
  padding: 16px 24px;
  border-radius: 80px;
  background-color: #1A2027;
  font-size: 22px;
  font-weight: 500;
  color: #ffffff;
  z-index: 9;
  border: 1px solid #1A2027;
  transition: background-color 0.4s ease-in-out, color 0.4s ease-in-out;
}
.buttonViewAll:hover {
  background-color: transparent;
  color: #1A2027;
}
.wrapper {
  max-width: 1800px;
  margin: 0 auto;
  padding: 0 60px;
}
@media (width <= 1300px) {
  .wrapper {
    max-width: 100%;
    padding: 0 40px;
  }
}
@media (width <= 1000px) {
  .wrapper {
    padding: 0 20px;
  }
}
@media (width <= 768px) {
  .wrapper {
    padding: 0 15px;
  }
}
.titleSection {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 36px;
  font-style: normal;
  line-height: normal;
  font-weight: 700;
  color: #1A2027;
}
.titleSub {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 20px;
  line-height: normal;
  font-weight: 700;
  font-style: italic;
  color: #739AB8;
  margin-bottom: 16px;
  display: block;
}
@media (width <= 1000px) {
  .titleSection {
    line-height: 46px;
  }
  .titleSub {
    margin-bottom: 12px;
    text-align: center;
  }
}
@media (width <= 768px) {
  .titleSection {
    font-size: 22px;
    text-align: center;
    line-height: normal;
  }
  .titleSub {
    font-size: 14px;
    line-height: 32px;
    margin-bottom: 18px;
  }
}
.header {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  position: fixed;
  z-index: 1000;
  width: 100%;
  top: 0;
  left: 0;
  padding: 0;
  font-weight: 500;
}
.headerRight {
  width: 25%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 30px;
}
.headerPhone {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #F2F2F2;
  font-weight: 600;
  font-size: 14px;
  transition: color 0.3s ease;
}
.headerPhone svg path {
  fill: #F2F2F2;
  transition: fill 0.3s ease;
}
.headerPhone:hover {
  color: #5BA2D9;
}
.headerPhone:hover svg path {
  fill: #5BA2D9;
}
@media (width < 1400px) {
  .header .wrapper {
    padding: 0 20px;
  }
}
@media (width <= 1300px) {
  .header .wrapper {
    padding: 0 60px;
  }
  .headerRight {
    visibility: hidden;
    opacity: 0;
    height: 24px;
    width: 20%;
  }
}
@media (width <= 1000px) {
  .header .wrapper {
    padding: 0 24px;
  }
  .headerRight {
    display: none;
  }
}
@media (width <= 768px) {
  .header .wrapper {
    padding: 0 15px;
  }
  .headerPhone span {
    display: none;
  }
}
.headerMainNav {
  margin-right: 40px;
}
.headerMainNavList {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
@media (width < 1550px) {
  .headerMainNavList {
    gap: 30px;
  }
}
.headerMainNavLink {
  color: #ffffff;
  padding-bottom: 5px;
  transition: color 0.3s ease;
  border-bottom: 1px solid transparent;
  transition: border 0.3s ease, color 0.3s ease;
  font-size: 16px;
  font-weight: 500;
}
.headerMainNavLink svg path {
  stroke-linecap: round;
}
.headerMainNavLink.scroll {
  color: #1A2027;
}
.headerMainNavLink.scroll svg path {
  stroke: #1A2027;
  transition: stroke 0.3s ease;
}
.headerMainNavLink.scroll:hover {
  color: #2D6EA1;
  border-bottom: 1px solid #2D6EA1;
}
.headerMainNavLink.scroll:hover svg path {
  stroke: #2D6EA1;
}
.headerMainNavLink.scroll.active {
  color: #2D6EA1;
  border-bottom: 1px solid #2D6EA1;
}
.headerMainNavLink.scroll.active svg {
  transform: rotate(180deg);
}
.headerMainNavLink.scroll.active svg path {
  stroke: #2D6EA1;
}
.headerMainNavLink svg {
  transform: rotate(0);
  transition: transform 0.3s ease;
}
.headerMainNavLink svg path {
  stroke: #ffffff;
}
.headerMainNavLink:hover {
  border-bottom: 1px solid #ffffff;
}
.headerMainNavLink.active {
  border-bottom: 1px solid #ffffff;
}
.headerMainNavLink.active svg {
  transform: rotate(180deg);
}
.headerMainNavLink.active svg path {
  stroke: #2D6EA1;
}
.headerMainNavLinkEnciclopedia {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0;
}
@media (width <= 1000px) {
  .headerMainNavList {
    justify-content: flex-end;
  }
}
@media (width <= 768px) {
  .headerMainNavLink {
    font-size: 14px;
  }
  .headerMainNavLink svg {
    margin-left: 5px;
  }
}
.headerTop {
  background: #1A2027;
  padding: 10px 0;
}
.headerTopContent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}
.headerTopNav {
  width: auto;
}
.headerTopNavList {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
@media (width < 1550px) {
  .headerTopNavList {
    gap: 30px;
  }
}
.headerTopNavLink {
  color: #F2F2F2;
  transition: color 0.3s ease;
  font-size: 16px;
  font-weight: 500;
}
.headerTopNavLink svg path {
  stroke-linecap: round;
}
.headerTopNavLink:hover {
  color: #5BA2D9;
}
@media (width <= 1000px) {
  .headerTopNav {
    width: 100%;
  }
  .headerTopNavList {
    justify-content: flex-end;
  }
}
@media (width <= 768px) {
  .headerTop {
    padding: 7px 0;
  }
  .headerTopNav {
    display: none;
  }
}
.headerLogo {
  margin-right: 20px;
  display: flex;
}
@media (width < 1550px) {
  .headerLogo {
    margin-right: 10px;
  }
  .headerLogo img {
    width: 37px;
  }
}
.headerButtons {
  align-items: center;
  gap: 16px;
}
.headerButtonsFull {
  display: flex;
}
@media (width < 1800px) {
  .headerButtonsFull {
    display: none;
  }
}
.headerButtonsMini {
  display: none;
}
@media (width < 1800px) {
  .headerButtonsMini {
    display: flex;
  }
}
.headerButtonsMini .headerButtonTrips {
  padding: 5px;
  position: relative;
  z-index: 2;
}
.headerButtonsMini .headerButtonTrips::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  opacity: 1;
  transition: opacity 0.3s ease;
  z-index: -1;
}
.headerButtonsMini .headerButtonTrips::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #5BA2D9;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}
.headerButtonsMini .headerButtonTrips svg path {
  fill: #ffffff;
}
.headerButtonsMini .headerButtonTrips:hover svg path {
  fill: #ffffff;
}
.headerButtonsMini .headerButtonTrips:hover::after {
  opacity: 1;
}
.headerButtonsMini .headerButtonTrips:hover::before {
  opacity: 0;
}
.headerButtonsMini .headerButtonLoyalty {
  padding: 5px;
}
.headerButtonsMini .headerButtonLoyalty svg path {
  fill: #ffffff;
}
.headerButtonsMini .headerButtonLoyalty:hover svg path {
  fill: #ffffff;
}
.headerButtonsMini .headerButtonsIcon {
  background-color: transparent;
}
.headerButtonsIcon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  background-color: #F6FAFF;
  border-radius: 50%;
}
.headerButton {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  font-weight: 500;
  border-radius: 40px;
  padding: 6px 16px;
  position: relative;
}
.headerButtonMenu {
  padding: 12px 16px;
}
.headerButtonTrips {
  background-color: #407CAB;
  transition: background-color 0.3s ease;
}
.headerButtonTrips svg path {
  fill: #407CAB;
  transition: fill 0.3s ease;
}
.headerButtonTrips:hover {
  background-color: #5BA2D9;
}
.headerButtonTrips:hover svg path {
  fill: #5BA2D9;
}
.headerButtonLoyalty {
  background-color: #1A2027;
  transition: background-color 0.3s ease;
}
.headerButtonLoyalty svg path {
  fill: #1A2027;
  transition: fill 0.3s ease;
}
.headerButtonLoyalty:hover {
  background-color: #3B434E;
}
.headerButtonLoyalty:hover svg path {
  fill: #3B434E;
}
.headerButtonText {
  position: absolute;
  top: calc(100% + 4px);
  left: 50%;
  width: max-content;
  transform: translateX(-50%);
  font-size: 10px;
  line-height: normal;
  color: #1A2027;
  font-weight: 500;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.headerButton:hover .headerButtonText {
  opacity: 1;
  pointer-events: auto;
}
.headerMain {
  padding: 10px 0;
  position: relative;
}
.headerMain::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.4;
  z-index: -1;
  transition: opacity 0.3s ease;
}
.headerMain::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  opacity: 0;
  z-index: -1;
  transition: opacity 0.3s ease;
}
.headerMain.scroll {
  box-shadow: 0 4px 4px rgba(193, 193, 193, 0.15);
}
.headerMain.scroll::before {
  opacity: 0;
}
.headerMain.scroll::after {
  opacity: 1;
}
.headerMainTablet {
  display: none;
}
.headerMainContent {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (width <= 1300px) {
  .headerMain {
    display: none;
  }
  .headerMainTablet {
    display: block;
    position: relative;
    padding: 10px 0;
  }
  .headerMainTablet::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 0.4;
    z-index: -1;
    transition: opacity 0.3s ease;
  }
  .headerMainTablet::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    opacity: 0;
    z-index: -1;
    transition: opacity 0.3s ease;
  }
  .headerMainTablet.scroll {
    box-shadow: 0 4px 4px rgba(193, 193, 193, 0.15);
  }
  .headerMainTablet.scroll::before {
    opacity: 0;
  }
  .headerMainTablet.scroll::after {
    opacity: 1;
  }
  .headerMainTablet.scroll .headerPhone {
    color: #1A2027;
  }
  .headerMainTablet.scroll .headerPhone svg path {
    fill: #1A2027;
  }
  .headerMainTablet.scroll .headerMainToggle svg path {
    fill: #1A2027;
  }
  .headerMainTablet .headerPhone {
    color: #ffffff;
    margin-left: auto;
    margin-right: 22px;
  }
  .headerMainTablet .headerPhone svg path {
    fill: #ffffff;
  }
  .headerMainTablet .headerLogo {
    margin-right: 22px;
  }
  .headerMainTablet .headerLogo img {
    width: 52px;
  }
  .headerMainTablet .headerCatalogRightLink {
    font-size: 14px;
  }
  .headerMainToggle {
    line-height: normal;
    width: 32px;
    display: flex;
    justify-content: flex-end;
  }
  .headerMainToggle svg path {
    fill: #ffffff;
    transition: fill 0.3s ease;
  }
  .headerMainMenu {
    overflow: auto;
    position: fixed;
    top: 117px;
    right: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.3);
    color: #1A2027;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition-duration: 0.4s;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    z-index: -1;
  }
  .headerMainMenu.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .headerMainMenuContent {
    background-color: #ffffff;
    max-width: 730px;
    width: 100%;
    position: absolute;
    right: 0;
    top: 0;
    padding: 40px 60px;
    border: 1px solid #ECECEC;
    border-top: none;
    box-sizing: border-box;
    height: 100%;
    overflow-y: auto;
    padding-bottom: 200px;
    border-radius: 0;
  }
  .headerMainMenu .headerButtonsFull {
    display: flex;
    justify-content: flex-start;
  }
  .headerMainMenu .headerNavList {
    flex-direction: column;
    gap: 0;
    margin-bottom: 60px;
  }
  .headerMainMenu .headerNavItem {
    padding: 20px 0;
    border-bottom: 1px solid #B3C1CD;
    width: 100%;
  }
  .headerMainMenu .headerNavItem:first-child {
    padding-top: 0;
  }
  .headerMainMenu .headerNavItem:last-child {
    border-bottom: none;
  }
  .headerMainMenu .headerMainNav {
    margin: 0;
  }
  .headerMainMenu .headerNavItemMobile {
    display: none;
  }
}
@media (width <= 1000px) {
  .headerMainMenuContent {
    max-width: 623px;
    padding: 40px;
  }
}
@media (width <= 768px) {
  .headerMainMenu {
    top: 104px;
  }
  .headerMainMenuContent {
    max-width: 100%;
    padding: 16px;
    border: none;
    padding-bottom: 200px;
  }
  .headerMainMenuContent .headerNavList {
    margin-bottom: 16px;
  }
  .headerMainMenuContent .headerNavItem {
    padding: 16px 0;
    text-align: center;
  }
  .headerMainMenuContent .headerNavItemMobile {
    display: block;
  }
  .headerMainMenu .headerButtonsFull {
    flex-wrap: wrap;
  }
  .headerMainMenu .headerButtonMenu {
    width: 100%;
  }
  .headerMainTablet .headerPhone {
    margin-right: 10px;
  }
}
.headerSocialList {
  width: 25%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 22px;
}
.headerSocialLink {
  display: flex;
}
.headerSocialLink svg path {
  fill: #ffffff;
  transition: fill 0.3s ease;
}
.headerSocialLink svg path g {
  clip-path: url(#clip0_324_20592);
}
.headerSocialLink:hover svg path {
  fill: #5BA2D9;
}
@media (width <= 1300px) {
  .headerSocialList {
    width: 20%;
  }
}
@media (width <= 1000px) {
  .headerSocialList {
    width: auto;
  }
}
@media (width <= 768px) {
  .headerSocialList {
    width: 100%;
    justify-content: center;
  }
}
.headerLicenses {
  margin-right: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
@media (width < 1550px) {
  .headerLicenses {
    margin-right: 15px;
  }
}
.headerLicensesBlock {
  display: flex;
}
.headerLicensesList {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
.headerLicensesItem {
  position: relative;
}
.headerLicensesText {
  display: flex;
}
.headerLicensesPopup {
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  transform: translateX(-5%);
  max-width: 770px;
  width: max-content;
  padding: 18px 12px;
  border-radius: 10px;
  background-color: #ffffff;
  box-shadow: 0px 4px 40px 0px rgba(173, 204, 232, 0.4);
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
  pointer-events: none;
  z-index: 1;
}
.headerLicensesPopup::before {
  content: '';
  display: block;
  position: absolute;
  top: -12px;
  left: 20px;
  width: 24px;
  height: 20px;
  background-image: url(/src/images/icons/arrow-license.svg);
}
.headerLicensesPopup.active {
  opacity: 1;
  pointer-events: auto;
}
.headerLicensesPopup a {
  color: #2D6EA1;
  font-weight: 700;
}
@media (width <= 768px) {
  .headerLicensesList {
    zoom: 75%;
  }
}
.language {
  position: relative;
}
.languageButton {
  padding: 8px 18px;
  background: #ffffff;
  border-radius: 30px;
  border: 1px solid #407CAB;
  color: #1A2027;
  font-size: 12px;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  z-index: 2;
}
.languageButton svg {
  transition: transform 0.3s ease;
}
.languageButton svgpath {
  stroke-linecap: round;
}
.languageButton.active svg {
  transform: rotate(180deg);
}
.languageBody {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  background-color: #ffffff;
  padding-top: 18px;
  z-index: 1;
}
.languageBody.active {
  opacity: 1;
  pointer-events: auto;
}
.languageItem {
  text-align: center;
  background-color: #ffffff;
  transition: background-color 0.3s ease-in-out;
}
.languageItemButton {
  font-size: 12px;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
}
.languageItem:hover {
  background-color: #EEF1FB;
}
@media (width <= 1300px) {
  .languageMenu .languageButton {
    padding: 12px 36px;
    font-size: 16px;
    line-height: 32px;
    font-weight: 500;
  }
  .languageMenu .languageButton svg:first-of-type {
    width: 22px;
    height: 22px;
  }
  .languageMenu .languageItemButton {
    font-size: 16px;
    line-height: 32px;
    font-weight: 500;
  }
  .languageMenu .languageItem {
    padding: 5px 0;
  }
  .languageMenu .languageBody {
    padding: 0;
    top: 100%;
  }
}
.headerCatalog {
  overflow: auto;
  position: fixed;
  top: 133px;
  right: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.3);
  color: #1A2027;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition-duration: 0.4s;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
@media (width < 1550px) {
  .headerCatalog {
    top: 117px;
  }
}
.headerCatalog.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.headerCatalogContent {
  padding: 68px 200px;
  display: flex;
  justify-content: space-between;
  gap: 64px;
  background-color: #ffffff;
}
@media (width < 1700px) {
  .headerCatalogContent {
    padding: 68px 100px;
  }
}
@media (width < 1500px) {
  .headerCatalogContent {
    padding: 68px 45px;
  }
}
@media (width >= 2500px) and (width < 3500px) {
  .headerCatalogContent {
    padding: 68px 300px;
  }
}
@media (width >= 3500px) and (width < 4000px) {
  .headerCatalogContent {
    padding: 68px 400px;
  }
}
@media (width >= 4000px) {
  .headerCatalogContent {
    padding: 68px 500px;
  }
}
.headerCatalogLeft {
  width: calc(50% - 50px);
}
@media (width < 1700px) {
  .headerCatalogLeft {
    width: calc(60% - 50px);
  }
}
.headerCatalogLeftList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
  row-gap: 20px;
}
.headerCatalogLeftItem {
  max-width: 218px;
  width: 100%;
  margin-right: 20px;
  margin-bottom: 20px;
  text-align: center;
}
.headerCatalogLeftItem:nth-child(3n) {
  margin-right: 0;
}
.headerCatalogLeftItem:nth-last-child(-n +3) {
  margin-bottom: 0;
}
.headerCatalogLeftItem:hover .headerCatalogLeftLink {
  color: #5BA2D9;
}
.headerCatalogLeftItem:hover .headerCatalogLeftImage img {
  transform: scale(1.2);
}
.headerCatalogLeftLink {
  padding: 10px;
  display: block;
  font-weight: 500;
  color: #1A2027;
  transition: color 0.5s ease;
}
.headerCatalogLeftImage {
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  margin-bottom: 6px;
}
.headerCatalogLeftImage img {
  transform: scale(1);
  transition: transform 0.5s ease;
}
.headerCatalogRight {
  flex-grow: 1;
}
.headerCatalogRightTitle {
  font-size: 12px;
  font-weight: 700;
  line-height: 28px;
  color: #6F7478;
  margin-bottom: 10px;
}
.headerCatalogRightList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
}
.headerCatalogRightItem {
  margin-bottom: 8px;
}
.headerCatalogRightLink {
  font-weight: 500;
  color: #1A2027;
  transition: color 0.5s ease;
}
.headerCatalogRightLink:hover {
  color: #5BA2D9;
}
@media (width <= 1300px) {
  .headerCatalogMenu {
    display: none;
    margin-top: 16px;
  }
  .headerCatalogMenu .headerCatalogContent {
    padding: 0;
    flex-direction: column;
  }
  .headerCatalogMenu .headerCatalogLeft {
    width: 100%;
  }
}
@media (width <= 1000px) {
  .headerCatalogMenu .headerCatalogContent {
    gap: 38px;
  }
  .headerCatalogMenu .headerCatalogLeftLink {
    font-size: 14px;
    line-height: 26px;
  }
  .headerCatalogMenu .headerCatalogRightList {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 10px;
  }
}
.main {
  margin-top: 52px;
  overflow: hidden;
}
@media (width <= 768px) {
  .main {
    margin-top: 38px;
  }
}
.hero {
  box-sizing: border-box;
  min-height: 100vh;
  padding-bottom: 60px;
  position: relative;
}
@media (width >= 2500px) {
  .hero {
    min-height: unset;
  }
}
.heroBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.heroBg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(0, 0, 0, 0.3);
  pointer-events: none;
}
.heroVideo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.heroWrapper {
  max-width: 1582px;
  padding: 0 15px;
}
.heroContent {
  position: relative;
  padding-top: 200px;
  min-height: calc(100vh - 140px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (width >= 2500px) {
  .heroContent {
    min-height: 50vh;
  }
}
.heroTitle {
  font-size: 56px;
  text-align: center;
  color: #ffffff;
}
.heroSubtitle {
  font-size: 20px;
  text-align: center;
  font-weight: 400;
  margin: 40px 0;
  color: #ffffff;
}
.heroSearch {
  margin: auto 0;
  width: 100%;
}
@media (width <= 1400px) {
  .heroContent {
    padding-top: 200px;
    min-height: calc(100vh - 200px);
  }
  .heroWrapper {
    padding: 0 78px;
  }
  .heroTitle {
    font-size: 48px;
  }
  .heroSubtitle {
    margin-top: 36px;
    margin-bottom: 0;
    font-size: 16px;
  }
  .heroSearch {
    margin-top: 80px;
    margin-bottom: 200px;
  }
}
@media (width <= 1300px) {
  .heroSearch {
    margin-top: 60px;
    margin-bottom: 72px;
    padding: 0 54px;
  }
}
@media (width <= 1000px) {
  .hero {
    min-height: 100%;
    padding-bottom: 50px;
  }
  .heroWrapper {
    padding: 0 34px;
  }
  .heroTitle {
    font-size: 42px;
  }
  .heroSubtitle {
    margin-top: 24px;
  }
}
@media (width <= 768px) {
  .heroVideo {
    object-position: 70%;
  }
  .heroWrapper {
    padding: 0 15px;
  }
  .heroTitle {
    font-size: 32px;
    line-height: normal;
  }
  .heroSubtitle {
    display: none;
  }
  .heroSearch {
    padding: 0;
  }
}
.heroLogosList {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
@media (width <= 1400px) {
  .heroLogosList {
    padding: 0 73px;
    gap: 32px;
    justify-content: center;
  }
}
@media (width <= 768px) {
  .heroLogosList {
    padding: 0;
    gap: 20px;
  }
  .heroLogosItem {
    width: calc(33.33% - 14px);
    display: flex;
    justify-content: center;
  }
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  margin-top: 32px !important;
  margin-left: -82px !important;
  width: 330px !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}
.flatpickr-calendar.arrowTop:before {
  display: none !important;
}
.flatpickr-calendar.arrowTop:after {
  display: none !important;
}
.formSearchSettings {
  color: #1A2027;
  display: flex;
  align-items: center;
  width: 100%;
  background-color: #fff;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border-bottom: 1px solid #B3C1CD;
}
.formSearchSettingsItem {
  position: relative;
  padding: 30px 36px;
  font-size: 18px;
  line-height: normal;
  font-weight: 400;
  outline: none;
  background-color: #ffffff;
  cursor: pointer;
  z-index: 1;
}
.formSearchSettingsItem.active {
  z-index: 10;
}
.formSearchSettingsItem.active::before {
  opacity: 1;
}
.formSearchSettingsItem.active .formSearchSettingsItemArrow::after {
  transform: rotate(180deg);
}
.formSearchSettingsItem:first-child {
  border-top-left-radius: 20px;
}
.formSearchSettingsItem:first-child::before,
.formSearchSettingsItem:first-child::after {
  border-top-left-radius: 20px;
}
.formSearchSettingsItem:hover:first-child {
  border-top-left-radius: 20px;
}
.formSearchSettingsItem:hover:first-child::before,
.formSearchSettingsItem:hover:first-child::after {
  border-top-left-radius: 20px;
}
.formSearchSettingsItem::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.formSearchSettingsItem::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 1px;
  z-index: -1;
  background-color: #ffffff;
  opacity: 1;
}
.formSearchSettingsItem:hover {
  z-index: 2;
}
.formSearchSettingsItem:hover::before {
  opacity: 1;
}
.formSearchSettingsItemArrow {
  position: relative;
  width: fit-content;
}
.formSearchSettingsItemArrow::after {
  position: absolute;
  top: 0;
  left: calc(100% + 6px);
  content: "";
  width: 24px;
  height: 24px;
  display: block;
  background-image: url(/src/images/icons/fillter_arrow.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  transform: rotate(0deg);
  transition: transform 0.3s ease;
}
.formSearchSettingsBody {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  filter: drop-shadow(0 0 16px rgba(40, 57, 66, 0.14));
  z-index: 5;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease-in-out;
}
.formSearchSettingsBody.active {
  opacity: 1;
  pointer-events: all;
}
.formSearchSettingsBodyLink {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  width: 100%;
  font-size: 20px;
  color: #1A2027;
  background-color: #ffffff;
  transition: background-color 0.4s ease-in-out;
}
.formSearchSettingsBodyLink:hover {
  background-color: #EEF1FB;
}
.formSearchSettingsBodyLink.active {
  background-color: #EEF1FB;
}
.formSearchSettingsBodyLabel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  width: 100%;
  font-size: 20px;
  color: #1A2027;
  background-color: #ffffff;
  transition: background-color 0.4s ease-in-out;
}
.formSearchSettingsBodyLabel:hover {
  background-color: #EEF1FB;
}
.formSearchSettingsBodyLabel.active {
  background-color: #EEF1FB;
}
.formSearchSettingsBodyInput {
  opacity: 0;
  position: absolute;
  pointer-events: none;
}
.formSearchSettingsBodyPassengers {
  width: calc(100% + 240px);
  border: none;
  border-top-right-radius: 10px;
}
.formSearchSettingsType {
  max-width: 220px;
  width: 100%;
}
.formSearchSettingsTitle {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 20px;
}
.formSearchSettingsTitle img {
  margin-right: 18px;
}
.formSearchSettingsTitleStyle {
  color: #1A2027;
}
.formSearchSettingsClass {
  max-width: 330px;
  width: 100%;
}
.formSearchSettingsPassengers {
  max-width: 130px;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 5px;
}
.formSearchSettingsPassengers img {
  margin-right: 6px;
}
.formSearchSettingsPassengersContent {
  border-radius: 0 20px 20px 20px;
  padding: 16px 20px;
  background-color: #ffffff;
  cursor: default;
}
.formSearchSettingsPassengersItem {
  display: flex;
  align-items: center;
}
.formSearchSettingsPassengersItem:not(:last-child) {
  margin-bottom: 18px;
}
.formSearchSettingsPassengersCount {
  display: flex;
  align-items: center;
  margin-left: auto;
}
.formSearchSettingsPassengersCountButton {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #F6F8FF;
  font-size: 0;
  line-height: 0;
  transition: background-color 0.4s ease-in-out;
}
.formSearchSettingsPassengersCountButton svg path {
  transition: stroke 0.4s ease-in-out;
  stroke: #1A2027;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.formSearchSettingsPassengersCountButton:hover {
  background-color: #739AB8;
}
.formSearchSettingsPassengersCountButton:hover svg path {
  stroke: #ffffff;
}
.formSearchSettingsPassengersCountInput {
  width: 50px;
  height: 100%;
  text-align: center;
  font-size: 14px;
}
.formSearchSettingsPassengersTip {
  display: block;
  font-size: 14px;
  line-height: normal;
  color: #6F7478;
}
.formSearchSettingsPassengers img {
  width: 16px;
  margin-right: 26px;
}
.formSearchSettingsMulti {
  border-radius: 20px;
}
.formSearchSettingsMulti .formSearchSettingsItem:first-child {
  border-bottom-left-radius: 20px;
  transition: border-bottom-left-radius 0.3s ease;
}
.formSearchSettingsMulti .formSearchSettingsItem:first-child::before,
.formSearchSettingsMulti .formSearchSettingsItem:first-child::after {
  border-bottom-left-radius: 20px;
  transition: border-bottom-left-radius 0.3s ease;
}
.formSearchSettingsMulti .formSearchSettingsItem:hover:first-child {
  border-bottom-left-radius: 20px;
}
.formSearchSettingsMulti .formSearchSettingsItem:hover:first-child::before,
.formSearchSettingsMulti .formSearchSettingsItem:hover:first-child::after {
  border-bottom-left-radius: 20px;
}
.formSearchSettingsMulti .formSearchSettingsItem.active:first-child {
  border-bottom-left-radius: 0;
}
.formSearchSettingsMulti .formSearchSettingsItem.active:first-child::before,
.formSearchSettingsMulti .formSearchSettingsItem.active:first-child::after {
  border-bottom-left-radius: 0;
}
@media (width <= 1400px) {
  .formSearchSettingsTitle {
    font-size: 16px;
    margin-left: -20px;
  }
  .formSearchSettingsBodyLink {
    padding: 16px 0;
    font-size: 16px;
  }
  .formSearchSettingsInput {
    font-size: 16px;
  }
}
@media (width <= 1300px) {
  .formSearchSettings {
    margin-bottom: 16px;
    border-radius: 20px;
    background-color: transparent;
    border-bottom: none;
  }
  .formSearchSettingsBody.active {
    z-index: 10;
    border: none;
    background-color: #ffffff;
  }
  .formSearchSettingsBodyPassengers {
    width: calc(100% + 100px);
    padding: 18px;
  }
  .formSearchSettingsBodyLabel {
    padding: 18px 0;
    font-size: 16px;
  }
  .formSearchSettingsItem {
    position: relative;
    padding: 24px;
  }
  .formSearchSettingsItem:hover {
    z-index: 6;
  }
  .formSearchSettingsItem:first-child {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    transition: border-radius 0.3s ease;
  }
  .formSearchSettingsItem:first-child::before,
  .formSearchSettingsItem:first-child::after {
    transition: border-radius 0.3s ease;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .formSearchSettingsItem:hover:first-child {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .formSearchSettingsItem:hover:first-child::before,
  .formSearchSettingsItem:hover:first-child::after {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .formSearchSettingsItem:last-child {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    transition: border-radius 0.3s ease;
  }
  .formSearchSettingsItem:last-child::before,
  .formSearchSettingsItem:last-child::after {
    transition: border-radius 0.3s ease;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchSettingsItem:hover:last-child {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchSettingsItem:hover:last-child::before,
  .formSearchSettingsItem:hover:last-child::after {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchSettingsItem.active:first-child {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 0;
  }
  .formSearchSettingsItem.active:first-child::before,
  .formSearchSettingsItem.active:first-child::after {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 0;
  }
  .formSearchSettingsItem.active:last-child {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 0;
  }
  .formSearchSettingsItem.active:last-child::before,
  .formSearchSettingsItem.active:last-child::after {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 0;
  }
  .formSearchSettingsItemArrow::after {
    width: 20px;
    height: 20px;
  }
  .formSearchSettingsType {
    max-width: unset;
    width: 40%;
    display: flex;
    justify-content: center;
  }
  .formSearchSettingsClass {
    max-width: unset;
    width: 40%;
    display: flex;
    justify-content: center;
  }
  .formSearchSettingsPassengers {
    width: 20%;
    max-width: unset;
    justify-content: center;
    border-left: 1px solid #B3C1CD;
    border-right: 1px solid #B3C1CD;
  }
  .formSearchSettingsPassengersContent {
    padding: 0;
  }
  .formSearchSettingsPassengersName {
    font-size: 16px;
  }
  .formSearchSettingsPassengersTip {
    font-size: 12px;
  }
  .formSearchSettingsInput {
    font-size: 16px;
  }
}
@media (width <= 768px) {
  .formSearchSettings {
    margin-bottom: 0;
  }
  .formSearchSettings .formSearchItem.active:first-child {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .formSearchSettings .formSearchItem.active:first-child::before,
  .formSearchSettings .formSearchItem.active:first-child::after {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .formSearchSettings .formSearchItem.active:last-child {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchSettings .formSearchItem.active:last-child::before,
  .formSearchSettings .formSearchItem.active:last-child::after {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchSettings .formSearchBody {
    padding: 0;
    border-radius: 20px;
  }
  .formSearchSettings .formSearchBodyPassengers {
    padding: 10px;
  }
  .formSearchSettingsTitle {
    font-size: 12px;
    line-height: 26px;
    margin-left: 0;
  }
  .formSearchSettingsTitle img {
    width: 17px;
    margin-right: 11px;
  }
  .formSearchSettingsItem {
    padding: 14px;
  }
  .formSearchSettingsItemArrow::after {
    top: 50%;
    transform: translateY(-50%);
  }
  .formSearchSettingsItem.active .formSearchSettingsItemArrow::after {
    transform: rotate(180deg) translateY(50%);
  }
  .formSearchSettingsBodyPassengers {
    width: calc(100% + 240px);
    left: -120px;
    border-radius: 10px;
  }
  .formSearchSettingsBodyLink {
    padding: 10px 0;
    font-size: 12px;
  }
  .formSearchSettingsBodyLabel {
    font-size: 12px;
    padding: 10px 0;
  }
  .formSearchSettingsType {
    width: 39%;
    justify-content: flex-start;
  }
  .formSearchSettingsClass {
    width: 39%;
    justify-content: flex-start;
  }
  .formSearchSettingsPassengers {
    width: 22%;
    justify-content: center;
    gap: 5px;
  }
  .formSearchSettingsPassengersName {
    font-size: 14px;
  }
  .formSearchSettingsPassengers img {
    margin-right: 6px;
  }
  .formSearchSettingsInput {
    font-size: 12px;
  }
}
@media (width <= 450px) {
  .formSearchSettings {
    margin-bottom: 0;
  }
  .formSearchSettings .formSearchItem.active:first-child {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .formSearchSettings .formSearchItem.active:first-child::before,
  .formSearchSettings .formSearchItem.active:first-child::after {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .formSearchSettings .formSearchItem.active:last-child {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchSettings .formSearchItem.active:last-child::before,
  .formSearchSettings .formSearchItem.active:last-child::after {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchSettings .formSearchBody {
    padding: 0;
    border-radius: 20px;
  }
  .formSearchSettings .formSearchBodyPassengers {
    padding: 10px;
  }
  .formSearchSettingsTitle {
    font-size: 12px;
    line-height: 26px;
    margin-left: 0;
  }
  .formSearchSettingsTitle img {
    width: 17px;
    margin-right: 11px;
  }
  .formSearchSettingsItem {
    padding: 14px;
  }
  .formSearchSettingsItemArrow::after {
    top: 50%;
    transform: translateY(-50%);
  }
  .formSearchSettingsItem.active .formSearchSettingsItemArrow::after {
    transform: rotate(180deg) translateY(50%);
  }
  .formSearchSettingsBodyPassengers {
    width: calc(100% + 200px);
    left: -100px;
  }
  .formSearchSettingsType {
    width: 35%;
    justify-content: flex-start;
  }
  .formSearchSettingsClass {
    width: 35%;
    justify-content: flex-start;
  }
  .formSearchSettingsPassengers {
    width: 30%;
    justify-content: center;
    padding: 14px 26px;
  }
  .formSearchSettingsPassengers img {
    width: 12px;
  }
  .formSearchSettingsInput {
    font-size: 12px;
  }
}
.formSearch {
  width: 100%;
  background-color: #ffffff;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
.formSearchBlock {
  display: flex;
}
.formSearchBlock:not(:last-child) {
  border-bottom: 1px solid #B3C1CD;
}
.formSearchBlockMain {
  color: #6F7478;
}
.formSearchBlockMain .formSearchItem {
  border-right: 1px solid #B3C1CD;
  padding: 30px 32px;
}
.formSearchBlockMain .formSearchItem:last-of-type {
  border-right: none;
}
.formSearchBlockMain .formSearchItem:last-of-type::before {
  top: 1px;
  left: 0;
  bottom: 0;
  right: 1px;
}
.formSearchBlockMain .formSearchItem:last-of-type::after {
  right: -60px;
}
.formSearchBlockMain .formSearchItem:first-child {
  border-bottom-left-radius: 20px;
}
.formSearchBlockMain .formSearchItem:first-child::before,
.formSearchBlockMain .formSearchItem:first-child::after {
  border-bottom-left-radius: 20px;
}
.formSearchBlockMain .formSearchItem:hover:first-child {
  border-bottom-left-radius: 20px;
}
.formSearchBlockMain .formSearchItem:hover:first-child::before,
.formSearchBlockMain .formSearchItem:hover:first-child::after {
  border-bottom-left-radius: 20px;
}
.formSearchBlockMain .formSearchReverse {
  padding: 0;
}
.formSearchItem {
  position: relative;
  padding: 30px 36px;
  font-size: 18px;
  line-height: normal;
  font-weight: 400;
  outline: none;
  background-color: #ffffff;
  cursor: pointer;
  z-index: 1;
}
.formSearchItem.active {
  z-index: 10;
}
.formSearchItem.active::before {
  opacity: 1;
}
.formSearchItem::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.formSearchItem::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 1px;
  z-index: -1;
  background-color: #ffffff;
  opacity: 1;
}
.formSearchItem:hover {
  z-index: 2;
}
.formSearchItem:hover::before {
  opacity: 1;
}
.formSearchItemArrow {
  position: relative;
  width: fit-content;
}
.formSearchItemArrow::after {
  position: absolute;
  top: 0;
  left: calc(100% + 6px);
  content: "";
  width: 24px;
  height: 25px;
  display: block;
  background-image: url(/src/images/icons/fillter_arrow.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.formSearchBody {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  filter: drop-shadow(0 0 16px rgba(40, 57, 66, 0.14));
  z-index: 5;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease-in-out;
}
.formSearchBody.active {
  opacity: 1;
  pointer-events: all;
}
.formSearchBodyFrom {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 30px 34px;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  border: none;
  border-bottom-left-radius: 20px;
  gap: 18px;
}
.formSearchBodyFrom::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
  border-bottom-left-radius: 20px;
}
.formSearchBodyFrom::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 1px;
  z-index: -1;
  background-color: #ffffff;
  opacity: 1;
  border-bottom-left-radius: 20px;
}
.formSearchBodyTo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 30px 34px;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  gap: 18px;
  border-radius: 0;
}
.formSearchBodyTo::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
}
.formSearchBodyTo::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 1px;
  z-index: -1;
  background-color: #ffffff;
  opacity: 1;
}
.formSearchWhereFrom {
  min-width: 280px;
  max-width: 330px;
  width: 100%;
}
.formSearchWhereFromButton {
  display: flex;
}
.formSearchWhereTo {
  min-width: 200px;
  max-width: 330px;
  width: 100%;
}
.formSearchWhereToButton {
  display: flex;
}
.formSearchTitle {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 20px;
}
.formSearchTitle img {
  margin-right: 18px;
}
.formSearchTitleStyle {
  color: #1A2027;
}
.formSearchReverse {
  width: 100%;
  max-width: 90px;
  min-width: 90px;
  display: flex;
}
.formSearchReverseButton {
  padding: 30px 32px;
  display: flex;
}
.formSearchCalendar {
  display: flex;
  align-items: center;
  gap: 18px;
}
.formSearchCalendarInput {
  font-size: 20px;
  opacity: 1;
  transition: opacity 0.3s ease;
}
.formSearchCalendarInput::-webkit-input-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.formSearchCalendarInput:-moz-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.formSearchCalendarInput::-moz-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.formSearchCalendarInput:-ms-input-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.formSearchCalendarInput::placeholder {
  color: #6F7478;
  font-size: 20px;
}
.formSearchCalendar img {
  opacity: 1;
  transition: opacity 0.3s ease;
}
.formSearchInput {
  font-size: 20px;
  width: 100%;
}
.formSearchDeparture {
  min-width: 280px;
  max-width: 330px;
  width: 100%;
}
.formSearchReturn {
  min-width: 280px;
  max-width: 330px;
  width: 100%;
}
.formSearchReturnDisabled .formSearchCalendar img {
  opacity: 0.3;
}
.formSearchReturnDisabled .formSearchCalendar .formSearchCalendarInput {
  opacity: 0.6;
}
.formSearchSubmit {
  margin: auto 32px auto auto;
  padding: 16px 36px;
  font-size: 22px;
  z-index: 20;
}
.formSearchResult {
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  width: 600px;
  max-height: 300px;
  overflow: auto;
  border-radius: 0px 0px 6px 6px;
  background-color: #ffffff;
  box-shadow: 0px 0px 16px 0px rgba(167, 196, 231, 0.47);
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease-in-out;
}
.formSearchResult.active {
  opacity: 1;
  pointer-events: all;
}
.formSearchResultItem {
  background-color: #ffffff;
  padding: 14px 32px;
  transition: background-color 0.4s ease-in-out;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.formSearchResultItemChild {
  padding-left: 76px;
}
.formSearchResultItem:hover {
  background-color: #EEF1FB;
}
.formSearchResultIcon {
  font-size: 0;
  line-height: 0;
}
.formSearchResultDestination {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-left: 18px;
}
.formSearchResultName {
  display: block;
  font-size: 20px;
  line-height: normal;
  color: #1A2027;
  margin-bottom: 4px;
}
.formSearchResultSubname {
  font-size: 18px;
  line-height: normal;
  color: #6F7478;
}
.formSearchResultCode {
  font-size: 20px;
  line-height: normal;
  color: #1A2027;
  display: block;
  margin-left: auto;
  text-transform: uppercase;
}
@media (width <= 1400px) {
  .formSearchTitle {
    font-size: 16px;
  }
  .formSearchCalendarInput {
    font-size: 16px;
  }
  .formSearchCalendarInput::-webkit-input-placeholder {
    font-size: 16px;
  }
  .formSearchCalendarInput:-moz-placeholder {
    font-size: 16px;
  }
  .formSearchCalendarInput::-moz-placeholder {
    font-size: 16px;
  }
  .formSearchCalendarInput:-ms-input-placeholder {
    font-size: 16px;
  }
  .formSearchCalendarInput::placeholder {
    font-size: 16px;
  }
  .formSearchBlockMain .formSearchItem {
    padding: 22px 30px;
  }
  .formSearchWhereFrom {
    min-width: 240px;
  }
  .formSearchWhereTo {
    min-width: 240px;
  }
  .formSearchDeparture,
  .formSearchReturn {
    min-width: 200px;
  }
  .formSearchBodyLink {
    padding: 16px 0;
    font-size: 16px;
  }
  .formSearchBodyFrom {
    padding: 22px 30px;
  }
  .formSearchBodyTo {
    padding: 22px 30px;
  }
  .formSearchInput {
    font-size: 16px;
  }
}
@media (width <= 1300px) {
  .formSearch {
    background-color: transparent;
  }
  .formSearchBlock {
    margin-bottom: 16px;
    justify-content: space-between;
  }
  .formSearchBlock:not(:last-child) {
    border-bottom: none;
  }
  .formSearchBlockMain {
    flex-wrap: wrap;
    position: relative;
  }
  .formSearchBlockMain .formSearchItem {
    border: none;
    padding: 18px;
  }
  .formSearchBlockMain .formSearchItem:first-child {
    border-bottom-left-radius: 0;
    border-bottom: 1px solid #B3C1CD;
  }
  .formSearchBlockMain .formSearchItem:hover:first-child {
    border-bottom-left-radius: 0;
  }
  .formSearchBlockMain .formSearchItem:hover:first-child::before,
  .formSearchBlockMain .formSearchItem:hover:first-child::after {
    border-bottom-left-radius: 0;
  }
  .formSearchBlockMain .formSearchItem.formSearchReverse {
    max-width: unset;
    min-width: unset;
    width: 56px;
    height: 56px;
    padding: 0;
    justify-content: center;
    align-items: center;
    border: 1px solid #B3C1CD;
    position: absolute;
  }
  .formSearchBlockMain .formSearchItem.formSearchReverse::before,
  .formSearchBlockMain .formSearchItem.formSearchReverse::after {
    border-radius: 50%;
  }
  .formSearchBlockMain .formSearchItem.formSearchDeparture {
    border-right: 1px solid #B3C1CD;
  }
  .formSearchWhereFrom {
    max-width: 100%;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    margin-top: 16px;
  }
  .formSearchWhereFrom::before,
  .formSearchWhereFrom::after {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }
  .formSearchWhereTo {
    max-width: 100%;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchWhereTo::before,
  .formSearchWhereTo::after {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchDeparture {
    max-width: 50%;
    order: -1;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .formSearchDeparture::before,
  .formSearchDeparture::after {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .formSearchReturn {
    max-width: 50%;
    order: -1;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchReturn::before,
  .formSearchReturn::after {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    right: 0 !important;
  }
  .formSearchReverse {
    max-width: 56px;
    right: 32px;
    bottom: 140px;
    z-index: 2;
    border-radius: 50%;
    transform: rotate(90deg);
  }
  .formSearchReverseButton {
    padding: 0;
  }
  .formSearchBody.active {
    z-index: 10;
    padding: 18px;
    border: none;
    background-color: #ffffff;
  }
  .formSearchBodyFrom {
    border-radius: 20px 20px 0 0;
  }
  .formSearchBodyFrom::before,
  .formSearchBodyFrom::after {
    border-radius: 20px 20px 0 0;
  }
  .formSearchBodyTo {
    border-radius: 0 0 20px 20px;
  }
  .formSearchBodyTo::before,
  .formSearchBodyTo::after {
    border-radius: 0 0 20px 20px;
  }
  .formSearchItem {
    position: relative;
    padding: 24px;
  }
  .formSearchItem:hover {
    z-index: 6;
  }
  .formSearchInput {
    font-size: 16px;
  }
  .formSearchSubmit {
    z-index: 5;
    width: 100%;
    margin: 0;
    margin-top: 32px;
  }
  .formSearchResult {
    width: 550px;
    max-height: 200px;
  }
  .formSearchResultItem {
    padding: 10px 24px;
  }
  .formSearchResultItemChild {
    padding-left: 56px;
  }
  .formSearchResultName {
    font-size: 16px;
  }
  .formSearchResultSubname {
    font-size: 14px;
  }
  .formSearchResultCode {
    font-size: 16px;
  }
}
@media (width <= 768px) {
  .formSearchTitle {
    font-size: 12px;
    line-height: 26px;
  }
  .formSearchTitle img {
    width: 17px;
    margin-right: 11px;
  }
  .formSearchItem {
    padding: 14px;
  }
  .formSearchItemArrow::after {
    left: 100%;
  }
  .formSearchBodyLink {
    padding: 10px 0;
    font-size: 12px;
  }
  .formSearchCalendar {
    gap: 8px;
  }
  .formSearchCalendar img {
    width: 24px;
  }
  .formSearchCalendarInput {
    font-size: 12px;
  }
  .formSearchCalendarInput::-webkit-input-placeholder {
    font-size: 12px;
  }
  .formSearchCalendarInput:-moz-placeholder {
    font-size: 12px;
  }
  .formSearchCalendarInput::-moz-placeholder {
    font-size: 12px;
  }
  .formSearchCalendarInput:-ms-input-placeholder {
    font-size: 12px;
  }
  .formSearchCalendarInput::placeholder {
    font-size: 12px;
  }
  .formSearchInput {
    font-size: 12px;
  }
  .formSearchDeparture {
    order: 0;
    min-width: 50%;
    padding: 11px 24px;
  }
  .formSearchReturn {
    order: 0;
    min-width: 50%;
    padding: 11px 24px;
  }
  .formSearchWhereFrom {
    margin-top: 12px;
  }
  .formSearchWhereFromButton img {
    width: 26px;
    height: 26px;
  }
  .formSearchWhereTo {
    margin-bottom: 12px;
  }
  .formSearchWhereToButton img {
    width: 26px;
    height: 26px;
  }
  .formSearchBlockMain {
    margin-bottom: 0;
  }
  .formSearchBlockMain .formSearchItem {
    padding: 13px 24px;
  }
  .formSearchBlockMain .formSearchItem.formSearchReverse {
    width: 46px;
    height: 46px;
  }
  .formSearchBlockMain .formSearchBody {
    padding: 13px 24px;
  }
  .formSearchReverse {
    right: 20px;
    bottom: 177px;
  }
  .formSearchReverse img {
    width: 18px;
  }
  .formSearchSubmit {
    font-size: 18px;
    line-height: 20px;
  }
}
.formSearchMulti {
  margin-bottom: 60px;
  width: 100%;
}
.formSearchMultiBlock {
  display: flex;
  border-radius: 20px;
  background-color: #ffffff;
  margin: 12px 0 32px;
}
.formSearchMultiBlockBottom .formSearchMultiInput {
  margin-left: 20px;
  height: 90px;
}
.formSearchMultiItem {
  position: relative;
  padding: 30px 36px;
  font-size: 18px;
  line-height: normal;
  font-weight: 400;
  outline: none;
  background-color: #ffffff;
  cursor: pointer;
  z-index: 1;
}
.formSearchMultiItem.active {
  z-index: 10;
}
.formSearchMultiItem.active::before {
  opacity: 1;
}
.formSearchMultiItem::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.formSearchMultiItem::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 1px;
  z-index: -1;
  background-color: #ffffff;
  opacity: 1;
}
.formSearchMultiItem:hover {
  z-index: 2;
}
.formSearchMultiItem:hover::before {
  opacity: 1;
}
.formSearchMultiItemArrow {
  position: relative;
  width: fit-content;
}
.formSearchMultiItemArrow::after {
  position: absolute;
  top: 0;
  left: calc(100% + 6px);
  content: "";
  width: 24px;
  height: 25px;
  display: block;
  background-image: url(/src/images/icons/fillter_arrow.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.formSearchMultiBody {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  filter: drop-shadow(0 0 16px rgba(40, 57, 66, 0.14));
  z-index: 5;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease-in-out;
}
.formSearchMultiBody.active {
  opacity: 1;
  pointer-events: all;
}
.formSearchMultiBodyFrom {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 30px 34px;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  border-bottom-left-radius: 20px;
  border-top-left-radius: 20px;
  gap: 18px;
}
.formSearchMultiBodyFrom::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
  border-bottom-left-radius: 20px;
  border-top-left-radius: 20px;
}
.formSearchMultiBodyFrom::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 1px;
  z-index: -1;
  background-color: #ffffff;
  opacity: 1;
  border-bottom-left-radius: 20px;
  border-top-left-radius: 20px;
}
.formSearchMultiBodyTo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 30px 34px;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  gap: 18px;
}
.formSearchMultiBodyTo::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
}
.formSearchMultiBodyTo::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 1px;
  z-index: -1;
  background-color: #ffffff;
  opacity: 1;
}
.formSearchMultiWhereFrom {
  max-width: 33.33%;
  width: 100%;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  transition: border-radius 0.3s ease;
  border-right: 1px solid #B3C1CD;
}
.formSearchMultiWhereFrom::before {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  transition: opacity 0.4s ease-in-out, border-radius 0.3s ease;
}
.formSearchMultiWhereFrom::after {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  transition: border-radius 0.3s ease;
}
.formSearchMultiWhereFromButton {
  display: flex;
}
.formSearchMultiWhereTo {
  max-width: 33.33%;
  width: 100%;
  border-right: 1px solid #B3C1CD;
}
.formSearchMultiWhereToButton {
  display: flex;
}
.formSearchMultiTitle {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 20px;
}
.formSearchMultiTitle img {
  margin-right: 18px;
}
.formSearchMultiTitleStyle {
  color: #1A2027;
}
.formSearchMultiCalendar {
  display: flex;
  align-items: center;
  gap: 18px;
}
.formSearchMultiCalendarInput {
  font-size: 20px;
}
.formSearchMultiCalendarInput::-webkit-input-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.formSearchMultiCalendarInput:-moz-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.formSearchMultiCalendarInput::-moz-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.formSearchMultiCalendarInput:-ms-input-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.formSearchMultiCalendarInput::placeholder {
  color: #6F7478;
  font-size: 20px;
}
.formSearchMultiInput {
  font-size: 20px;
  width: 100%;
}
.formSearchMultiDeparture {
  max-width: 33.33%;
  width: 100%;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  transition: border-radius 0.3s ease;
}
.formSearchMultiDeparture::before {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
.formSearchMultiDeparture::after {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
.formSearchMultiSubmit {
  margin: 0 32px auto auto;
  padding: 16px 36px;
  z-index: 1;
  font-size: 18px;
  width: 100%;
}
.formSearchMultiResult {
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  width: 600px;
  max-height: 300px;
  overflow: auto;
  border-radius: 0px 0px 6px 6px;
  background-color: #ffffff;
  box-shadow: 0px 0px 16px 0px rgba(167, 196, 231, 0.47);
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease-in-out;
}
.formSearchMultiResult.active {
  opacity: 1;
  pointer-events: all;
}
.formSearchMultiResultItem {
  background-color: #ffffff;
  padding: 14px 32px;
  transition: background-color 0.4s ease-in-out;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.formSearchMultiResultItemChild {
  padding-left: 76px;
}
.formSearchMultiResultItem:hover {
  background-color: #EEF1FB;
}
.formSearchMultiResultIcon {
  font-size: 0;
  line-height: 0;
}
.formSearchMultiResultDestination {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-left: 18px;
}
.formSearchMultiResultName {
  display: block;
  font-size: 20px;
  line-height: normal;
  color: #1A2027;
  margin-bottom: 4px;
}
.formSearchMultiResultSubname {
  font-size: 18px;
  line-height: normal;
  color: #6F7478;
}
.formSearchMultiResultCode {
  font-size: 20px;
  line-height: normal;
  color: #1A2027;
  display: block;
  margin-left: auto;
  text-transform: uppercase;
}
.formSearchMultiAdd {
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #EEF1FB;
  transition: color 0.3s ease;
  margin-left: auto;
  margin-top: -32px;
  margin-right: 20px;
}
.formSearchMultiAdd svg {
  margin-right: 6px;
  fill-rule: evenodd;
  clip-rule: evenodd;
}
.formSearchMultiAdd svg path {
  transition: fill 0.3s ease;
  fill: #EEF1FB;
}
.formSearchMultiAdd:hover {
  color: #739AB8;
}
.formSearchMultiAdd:hover svg path {
  fill: #739AB8;
}
.formSearchMultiRemove {
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #EEF1FB;
  transition: color 0.3s ease;
  margin-left: 20px;
}
.formSearchMultiRemove svg {
  margin-right: 6px;
}
.formSearchMultiRemove svg path {
  transition: fill 0.3s ease;
  fill: #EEF1FB;
}
.formSearchMultiRemove:hover {
  color: #739AB8;
}
.formSearchMultiRemove:hover svg path {
  fill: #739AB8;
}
.formSearchMultiName {
  max-width: 33.33%;
  width: 100%;
  border-right: 1px solid #B3C1CD;
}
.formSearchMultiPhone {
  margin-left: 30px;
  max-width: 33.33%;
  width: 100%;
  display: flex;
  align-items: center;
  border-right: 1px solid #B3C1CD;
  position: relative;
}
.formSearchMultiEmail {
  max-width: 33.33%;
  width: 100%;
}
@media (width <= 1400px) {
  .formSearchMultiTitle {
    font-size: 16px;
  }
  .formSearchMultiCalendarInput {
    font-size: 16px;
  }
  .formSearchMultiCalendarInput::-webkit-input-placeholder {
    font-size: 16px;
  }
  .formSearchMultiCalendarInput:-moz-placeholder {
    font-size: 16px;
  }
  .formSearchMultiCalendarInput::-moz-placeholder {
    font-size: 16px;
  }
  .formSearchMultiCalendarInput:-ms-input-placeholder {
    font-size: 16px;
  }
  .formSearchMultiCalendarInput::placeholder {
    font-size: 16px;
  }
  .formSearchMultiBlockBottom .formSearchMultiInput {
    font-size: 16px;
  }
  .formSearchMultiBodyLink {
    padding: 16px 0;
    font-size: 16px;
  }
  .formSearchMultiBodyFrom {
    padding: 22px 30px;
  }
  .formSearchMultiBodyTo {
    padding: 22px 30px;
  }
  .formSearchMultiInput {
    font-size: 16px;
  }
}
@media (width <= 1300px) {
  .formSearchMultiBlock {
    flex-wrap: wrap;
    background-color: transparent;
  }
  .formSearchMultiBlockBottom {
    background-color: #ffffff;
  }
  .formSearchMultiBlockBottom .formSearchMultiInput {
    height: 66px;
  }
  .formSearchMultiWhereFrom {
    max-width: 100%;
    border-bottom-left-radius: 0;
    border-top-right-radius: 20px;
    border-bottom: 1px solid #B3C1CD;
  }
  .formSearchMultiWhereFrom::before,
  .formSearchMultiWhereFrom::after {
    border-bottom-left-radius: 0;
    border-top-right-radius: 20px;
  }
  .formSearchMultiWhereTo {
    max-width: 100%;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchMultiWhereTo::before,
  .formSearchMultiWhereTo::after {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .formSearchMultiDeparture {
    max-width: 100%;
    order: 1;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    margin-top: 16px;
  }
  .formSearchMultiDeparture::before,
  .formSearchMultiDeparture::after {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .formSearchMultiBody.active {
    z-index: 10;
    padding: 18px;
    border: none;
    background-color: #ffffff;
  }
  .formSearchMultiBodyFrom {
    border-radius: 20px 20px 0 0;
  }
  .formSearchMultiBodyFrom.active {
    padding: 24px;
  }
  .formSearchMultiBodyFrom::before,
  .formSearchMultiBodyFrom::after {
    border-radius: 20px 20px 0 0;
  }
  .formSearchMultiBodyTo {
    border-radius: 0 0 20px 20px;
  }
  .formSearchMultiBodyTo.active {
    padding: 24px;
  }
  .formSearchMultiBodyTo::before,
  .formSearchMultiBodyTo::after {
    border-radius: 0 0 20px 20px;
  }
  .formSearchMultiItem {
    position: relative;
    padding: 24px;
  }
  .formSearchMultiItem:hover {
    z-index: 6;
  }
  .formSearchMultiInput {
    font-size: 16px;
  }
  .formSearchMultiSubmit {
    z-index: 5;
    width: 100%;
    margin: 0;
  }
  .formSearchMultiResult {
    width: 550px;
    max-height: 200px;
  }
  .formSearchMultiResultItem {
    padding: 10px 24px;
  }
  .formSearchMultiResultItemChild {
    padding-left: 56px;
  }
  .formSearchMultiResultName {
    font-size: 16px;
  }
  .formSearchMultiResultSubname {
    font-size: 14px;
  }
  .formSearchMultiResultCode {
    font-size: 16px;
  }
  .formSearchMultiName {
    max-width: 100%;
    border-right: none;
    border-bottom: 1px solid #B3C1CD;
  }
  .formSearchMultiPhone {
    margin-left: 0;
    padding-left: 30px;
    max-width: 100%;
    border-right: none;
    border-bottom: 1px solid #B3C1CD;
  }
  .formSearchMultiEmail {
    max-width: 100%;
  }
}
@media (width <= 768px) {
  .formSearchMulti {
    padding: 0;
  }
  .formSearchMultiTitle {
    font-size: 12px;
    line-height: 26px;
  }
  .formSearchMultiTitle img {
    width: 17px;
    margin-right: 11px;
  }
  .formSearchMultiItem {
    padding: 14px;
  }
  .formSearchMultiItemArrow::after {
    left: 100%;
  }
  .formSearchMultiBodyLink {
    padding: 10px 0;
    font-size: 12px;
  }
  .formSearchMultiCalendar {
    gap: 8px;
  }
  .formSearchMultiCalendar img {
    width: 24px;
  }
  .formSearchMultiCalendarInput {
    font-size: 12px;
  }
  .formSearchMultiCalendarInput::-webkit-input-placeholder {
    font-size: 12px;
  }
  .formSearchMultiCalendarInput:-moz-placeholder {
    font-size: 12px;
  }
  .formSearchMultiCalendarInput::-moz-placeholder {
    font-size: 12px;
  }
  .formSearchMultiCalendarInput:-ms-input-placeholder {
    font-size: 12px;
  }
  .formSearchMultiCalendarInput::placeholder {
    font-size: 12px;
  }
  .formSearchMultiInput {
    font-size: 12px;
  }
  .formSearchMultiDeparture {
    padding: 11px 24px;
  }
  .formSearchMultiWhereFromButton img {
    width: 26px;
    height: 26px;
  }
  .formSearchMultiWhereToButton img {
    width: 26px;
    height: 26px;
  }
  .formSearchMultiBlockBottom .formSearchMultiInput {
    height: 52px;
    font-size: 12px;
    line-height: 26px;
  }
  .formSearchMultiSubmit {
    font-size: 18px;
    line-height: 20px;
  }
  .formSearchMultiPhone {
    padding-left: 20px;
  }
  .formSearchMultiAdd {
    font-size: 12px;
    margin-right: 0;
  }
  .formSearchMultiRemove {
    font-size: 12px;
    margin-left: 0;
  }
}
.tlnBanner {
  background-color: #ffffff;
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
}
.tlnBannerContent {
  display: flex;
  padding: 38px 22px 36px 22px;
}
.tlnBannerImage {
  margin-right: 63px;
}
.tlnBannerBody {
  padding-left: 63px;
  border-left: 1px solid #D9E6F6;
}
.tlnBannerTitle {
  margin-bottom: 8px;
  font-family: "Philosopher", sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 28px;
}
.tlnBannerText {
  font-size: 14px;
  line-height: 24px;
}
@media (width <= 1400px) {
  .tlnBannerContent {
    display: flex;
    padding: 36px 0;
  }
}
@media (width <= 1000px) {
  .tlnBannerContent {
    padding: 40px 20px;
    flex-direction: column;
    align-items: center;
  }
  .tlnBannerImage {
    margin-right: 0;
    margin-bottom: 28px;
  }
  .tlnBannerBody {
    padding-left: 0;
    border-left: none;
    text-align: center;
  }
  .tlnBannerTitle {
    margin-bottom: 22px;
    font-size: 24px;
  }
}
.topOffers {
  margin-top: 45px;
  margin-bottom: 80px;
}
.topOffersContent {
  padding: 0 22px;
}
.topOffersList {
  display: flex;
  flex-direction: column;
  gap: 44px;
  padding: 0 10px;
}
.topOffersHeader {
  display: flex;
  justify-content: space-between;
  margin-bottom: 56px;
}
.topOffersButton {
  padding: 12px 40px;
  font-size: 20px;
}
.topOffersButtonMobile {
  display: none;
}
.topOffersProduct {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 477px;
  z-index: 0;
  border-radius: 16px;
  overflow: hidden;
}
.topOffersProduct:hover .topOffersProductImage img {
  transform: scale(1.2);
}
.topOffersProductImage {
  position: absolute;
  width: 100%;
  height: 477px;
  top: 0;
  z-index: -1;
  overflow: hidden;
  border-radius: 16px;
}
.topOffersProductImage::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: 20%;
  z-index: 1;
}
.topOffersProductImage::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(37, 33, 26, 0) 0%, #1E1A14 100%);
  z-index: 1;
}
.topOffersProductImage img {
  width: inherit;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  position: relative;
  z-index: -2;
  transform: scale(1);
  transition: transform 0.8s ease;
}
.topOffersProductInfo {
  width: 100%;
  height: 477px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.topOffersProductLink {
  position: relative;
  margin-left: auto;
  padding: 8px 18px;
  font-size: 18px;
}
.topOffersProductTitle {
  margin-top: auto;
  font-family: "Philosopher";
  font-size: 26px;
  line-height: normal;
  font-weight: 700;
  font-style: italic;
  margin-bottom: 12px;
  color: #ffffff;
}
.topOffersProductPrice {
  font-size: 28px;
  font-weight: 600;
  line-height: 28px;
  display: block;
  margin-bottom: 12px;
  color: #ffffff;
}
.topOffersProductNotice {
  font-size: 14px;
  font-weight: 400;
  line-height: 26px;
  color: #ffffff;
}
.topOffersSwiper {
  overflow: hidden;
}
.topOffersSlider {
  position: relative;
  width: 100%;
}
.topOffersSliderArrow {
  position: absolute;
  top: 50%;
  font-size: 0;
  line-height: 0;
  background-color: transparent;
  outline: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.topOffersSliderArrow svg path {
  stroke: #B3C1CD;
  transition: stroke 0.3s ease;
}
.topOffersSliderArrow:hover svg path {
  stroke: #70808E;
}
.topOffersSliderArrowLeft {
  left: -34px;
}
.topOffersSliderArrowRight {
  right: -34px;
}
.topOffersSliderScrollbar {
  width: 100%;
  height: 4px;
  background-color: rgba(173, 204, 232, 0.35);
}
.topOffersSliderScrollbar .swiper-scrollbar-drag {
  background-color: #B3C1CD;
}
@media (width <= 1400px) {
  .topOffers {
    margin-top: 42px;
  }
  .topOffersContent {
    padding: 0;
  }
  .topOffersList {
    gap: 59px;
    padding: 0;
  }
  .topOffersProduct {
    height: 377px;
  }
  .topOffersProductImage {
    height: 377px;
  }
  .topOffersProductInfo {
    height: 377px;
  }
  .topOffersSliderArrowLeft {
    left: -24px;
  }
  .topOffersSliderArrowRight {
    right: -24px;
  }
}
@media (width <= 1000px) {
  .topOffers {
    margin-top: 82px;
  }
  .topOffersContent {
    padding: 0 28px;
    text-align: center;
  }
  .topOffersHeader {
    justify-content: center;
  }
  .topOffersButton {
    display: none;
  }
  .topOffersButtonMobile {
    display: inline-block;
    padding: 14px 100px;
    margin-top: 56px;
  }
}
@media (width <= 768px) {
  .topOffers {
    margin-top: 52px;
    margin-bottom: 72px;
  }
  .topOffersContent {
    padding: 0;
    text-align: center;
  }
  .topOffersHeader {
    margin-bottom: 48px;
  }
  .topOffersSubTitle {
    font-size: 18px;
    line-height: 35px;
  }
  .topOffersTitle {
    font-size: 28px;
    line-height: normal;
  }
  .topOffersButtonMobile {
    padding: 14px 0;
    margin-top: 36px;
    width: 100%;
  }
  .topOffersSliderArrow {
    display: none;
  }
  .topOffersSliderScrollbar {
    display: none;
  }
}
.flyLuxury {
  margin-bottom: 105px;
  position: relative;
}
.flyLuxuryTablet {
  display: none;
}
.flyLuxuryContent {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between;
  pointer-events: none;
}
.flyLuxuryContent img:first-child {
  max-width: 50%;
}
.flyLuxuryContent img:nth-child(2) {
  max-width: 10%;
}
.flyLuxuryContent img:last-child {
  max-width: calc(40% - 40px);
  margin-top: 55px;
}
@media (width <= 1000px) {
  .flyLuxury {
    display: none;
  }
  .flyLuxuryTablet {
    display: block;
  }
  .flyLuxuryContent {
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: center;
  }
  .flyLuxuryContent img:first-child {
    max-width: 100%;
  }
  .flyLuxuryContent img:nth-child(2) {
    max-width: 20%;
    order: 1;
    margin-left: 40px;
  }
  .flyLuxuryContent img:last-child {
    max-width: calc(80% - 40px);
    order: 0;
    margin-top: 0;
  }
}
@media (width <= 768px) {
  .flyLuxuryTablet {
    display: block;
  }
  .flyLuxuryTablet .wrapper {
    padding: 0 10px;
  }
  .flyLuxuryContent img:nth-child(2) {
    max-width: 13%;
    margin-left: 28px;
  }
  .flyLuxuryContent img:last-child {
    max-width: calc(87% - 40px);
  }
}
.flyHome {
  position: relative;
  margin-bottom: 107px;
}
.flyHomeContent {
  padding: 0 43px;
  display: flex;
  position: relative;
}
.flyHomeImages {
  max-width: 750px;
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: 454px 454px;
  grid-template-columns: minmax(auto, 454px) minmax(auto, 454px);
  gap: 20px;
  pointer-events: none;
  z-index: 99;
}
.flyHomeImages img {
  border-radius: 20px;
}
.flyHomeImages picture {
  display: grid;
  height: 100%;
}
.flyHomeImage1 {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
.flyHomeImage2 {
  margin-top: -75px;
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
.flyHomeImage3 {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  margin-bottom: 100%;
}
.flyHomeImage4 {
  margin-top: -223px;
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
.flyHomeDescription {
  padding: 28px 0;
  margin-left: 72px;
  max-width: calc(100% - 822px);
  width: 100%;
}
.flyHomeTitle {
  margin-bottom: 62px;
}
.flyHomeText {
  line-height: 28px;
  padding-bottom: 56px;
  margin-bottom: 56px;
  font-size: 20px;
  border-bottom: 1px solid #B3C1CD;
}
.flyHomeList {
  display: flex;
  flex-wrap: wrap;
}
.flyHomeItem {
  max-width: calc(50% - 26px);
  width: 100%;
  margin-bottom: 64px;
}
.flyHomeItem:nth-child(2n) {
  margin-left: auto;
}
.flyHomeItem:nth-last-child(-n+2) {
  margin-bottom: 0;
}
.flyHomeItemTitle {
  display: flex;
  align-items: center;
  font-family: "Philosopher", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  position: relative;
  margin-bottom: 32px;
}
.flyHomeItemTitle::before {
  content: "";
  margin-right: 18px;
  width: 24px;
  height: 24px;
  display: block;
  flex-shrink: 0;
  background-image: url(/src/images/icons/list.svg);
  background-size: 24px 24px;
}
.flyHomeItemDesc {
  line-height: 28px;
}
.flyHomeDesignTop {
  position: absolute;
  right: 0;
  transform: translateX(50%);
  top: -115px;
  pointer-events: none;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background-color: #ADCCE8;
  opacity: 40%;
  filter: blur(100px);
  z-index: -2;
}
.flyHomeDesignLeft {
  position: absolute;
  left: 0;
  top: 100px;
  transform: translateX(-30%);
  pointer-events: none;
  width: 970px;
  height: 970px;
  border-radius: 50%;
  background-color: #ADCCE8;
  opacity: 40%;
  filter: blur(100px);
  z-index: -2;
}
.flyHomeDesignCircle {
  position: absolute;
  top: 250px;
  left: 175px;
  z-index: -1;
  pointer-events: none;
}
@media (width <= 1600px) {
  .flyHomeImages {
    max-width: 532px;
    grid-template-rows: 328px 328px;
    grid-template-columns: minmax(auto, 258px) minmax(auto, 258px);
    gap: 16px;
  }
  .flyHomeImage2 {
    margin-top: -75px;
  }
  .flyHomeImage4 {
    margin-top: -195px;
  }
  .flyHomeDescription {
    max-width: calc(100% - 604px);
  }
  .flyHomeTitle {
    margin-bottom: 28px;
  }
  .flyHomeText {
    padding-bottom: 32px;
    margin-bottom: 32px;
    font-size: 16px;
  }
  .flyHomeItem {
    max-width: calc(50% - 12px);
    margin-bottom: 32px;
  }
  .flyHomeItemTitle {
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 16px;
  }
  .flyHomeDesignTop {
    top: -60px;
  }
  .flyHomeDesignLeft {
    top: -80px;
  }
  .flyHomeDesignCircle {
    top: -80px;
    left: 75px;
  }
}
@media (width <= 1400px) {
  .flyHomeItem {
    max-width: 100%;
    margin-right: 0;
  }
}
@media (width <= 1200px) {
  .flyHomeContent {
    padding: 0;
  }
  .flyHomeDescription {
    margin-left: 40px;
    max-width: calc(100% - 572px);
  }
}
@media (width <= 1000px) {
  .flyHomeContent {
    flex-direction: column-reverse;
  }
  .flyHomeTitle {
    text-align: center;
  }
  .flyHomeImages {
    grid-template-rows: 1fr 348px;
    grid-template-columns: 1fr 1fr;
    max-width: 100%;
  }
  .flyHomeImages img {
    width: 100%;
  }
  .flyHomeImage2 {
    margin-top: -120px;
  }
  .flyHomeImage3 {
    margin-top: 0;
  }
  .flyHomeImage4 {
    margin-top: -88px;
  }
  .flyHomeDescription {
    padding: 0;
    margin-left: 0;
    max-width: 100%;
  }
  .flyHomeTitle {
    margin-bottom: 54px;
  }
  .flyHomeText {
    font-size: 16px;
    text-align: center;
  }
  .flyHomeList {
    margin-bottom: 54px;
  }
  .flyHomeItem {
    max-width: calc(50% - 21px);
    margin-bottom: 48px;
  }
  .flyHomeItem:nth-child(2n) {
    margin-left: auto;
  }
  .flyHomeItem:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
  .flyHomeItemTitle {
    font-size: 28px;
    margin-bottom: 20px;
  }
  .flyHomeItemDesc {
    font-size: 16px;
  }
  .flyHomeDesignLeft {
    top: 900px;
    transform: translateX(10%);
    width: 750px;
    height: 750px;
  }
  .flyHomeDesignCircle {
    top: 650px;
    left: 25%;
  }
}
@media (width <= 768px) {
  .flyHome {
    margin-bottom: 64px;
  }
  .flyHomeText {
    padding-bottom: 14px;
    margin-bottom: 56px;
  }
  .flyHomeSubTitle {
    font-size: 18px;
    line-height: 35px;
  }
  .flyHomeTitle {
    font-size: 28px;
    line-height: normal;
  }
  .flyHomeItem {
    max-width: 100%;
    margin-bottom: 32px;
  }
  .flyHomeItem:nth-child(2n) {
    margin-left: 0;
  }
  .flyHomeItem:nth-last-child(-n+2) {
    margin-bottom: 28px;
  }
  .flyHomeItemTitle {
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 12px;
    flex-direction: column;
    gap: 22px;
  }
  .flyHomeItemTitle::before {
    width: 28px;
    height: 28px;
    background-size: 28px 28px;
  }
  .flyHomeItemDesc {
    font-size: 14px;
    line-height: 26px;
    text-align: center;
  }
  .flyHomeImage2 {
    margin-top: auto;
    margin-bottom: 40px;
  }
  .flyHomeImage4 {
    margin-top: -40px;
    margin-bottom: auto;
  }
  .flyHomeDesignCircle {
    top: unset;
    bottom: -63px;
    left: 0;
  }
}
@media (width <= 450px) {
  .flyHomeImages {
    display: flex;
    flex-direction: column;
  }
  .flyHomeImage2,
  .flyHomeImage3,
  .flyHomeImage4 {
    margin-top: 0;
    margin-bottom: 0;
  }
}
.bookingSteps {
  margin-bottom: 100px;
}
.bookingStepsHeader {
  text-align: center;
  margin-bottom: 80px;
}
.bookingStepsContent {
  position: relative;
}
.bookingStepsContent::after {
  content: "";
  position: absolute;
  right: 0;
  top: -75px;
  pointer-events: none;
  width: 100%;
  height: 435px;
  border-radius: 50%;
  background-color: #ADCCE8;
  opacity: 40%;
  filter: blur(100px);
  z-index: -2;
}
.bookingStepsList {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 80px;
}
.bookingStepsItem {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 375px;
  width: 100%;
  flex-direction: column;
  position: relative;
}
.bookingStepsItem:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50px;
  right: -100px;
  width: 100px;
  height: 1px;
  display: block;
  background-color: #B3C1CD;
}
.bookingStepsItemBody {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.bookingStepsItemTitle {
  margin-top: 48px;
  font-family: "Philosopher", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  display: block;
}
.bookingStepsItemDesc {
  margin-top: 28px;
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
}
.bookingStepsIcon {
  position: relative;
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  border-radius: 100%;
  filter: drop-shadow(0px 4px 40px rgba(173, 204, 232, 0.4));
  z-index: 99;
}
.bookingStepsFindFlight {
  text-align: center;
}
.bookingStepsButton {
  padding: 18px 28px;
  font-size: 24px;
}
@media (width <= 1400px) {
  .bookingSteps {
    margin-bottom: 80px;
  }
  .bookingStepsList {
    gap: 48px;
  }
  .bookingStepsItem {
    max-width: 296px;
  }
  .bookingStepsItem:not(:last-child)::after {
    top: 40px;
    right: -50px;
    width: 48px;
  }
  .bookingStepsItemTitle {
    margin-top: 36px;
  }
  .bookingStepsItemDesc {
    margin-top: 12px;
    font-size: 16px;
  }
  .bookingStepsIcon {
    width: 80px;
    height: 80px;
  }
  .bookingStepsButton {
    padding: 12px 24px;
    font-size: 20px;
  }
}
@media (width <= 1000px) {
  .bookingStepsContent::after {
    top: 0;
    width: 100%;
    height: 100%;
  }
  .bookingStepsList {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-bottom: 72px;
  }
  .bookingStepsItem {
    max-width: 100%;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom: 50px;
  }
  .bookingStepsItem:not(:last-child)::after {
    top: calc(100% + 10px);
    right: 50%;
    width: 1px;
    height: 72px;
  }
  .bookingStepsItem:nth-child(2n) .bookingStepsIcon {
    order: 1;
    margin-left: auto;
    margin-right: 0;
  }
  .bookingStepsItem:nth-child(2n) .bookingStepsItemBody {
    padding-right: 0;
    padding-left: 40px;
    order: 2;
  }
  .bookingStepsItemBody {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-right: 40px;
    max-width: calc(50% - 80px);
    width: 100%;
  }
  .bookingStepsIcon {
    order: 2;
    margin-right: auto;
  }
  .bookingStepsButton {
    padding: 14px 80px;
  }
}
.reviews {
  position: relative;
  padding: 0 30px;
  padding-bottom: 128px;
}
.reviews::before {
  content: '';
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
  height: 620px;
  z-index: -1;
  background-image: url(/src/images/bg/map-decor.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.reviewsHeader {
  text-align: center;
  margin-bottom: 72px;
}
.reviewsContent {
  height: 500px;
  width: 100%;
}
@media (width <= 768px) {
  .reviews {
    padding: 0;
    padding-bottom: 32px;
  }
  .reviews::before {
    height: 220px;
  }
  .reviewsHeader {
    margin-bottom: 48px;
  }
  .reviewsContent {
    height: 200px;
  }
}
.blog {
  margin-bottom: 90px;
  padding: 0 20px;
  position: relative;
}
.blog::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 300px;
  pointer-events: none;
  width: 1440px;
  height: 510px;
  border-radius: 50%;
  background-color: #ADCCE8;
  opacity: 40%;
  filter: blur(100px);
  z-index: -2;
}
.blogTop {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 56px;
}
.blogList {
  display: flex;
}
.blogItem {
  display: flex;
  flex-direction: column;
  margin-right: 26px;
  max-width: 33%;
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
  transition: box-shadow 0.4s ease-in-out;
}
.blogItem:last-child {
  margin-right: 0;
}
.blogItem:hover {
  box-shadow: none;
}
.blogItemButton {
  position: absolute;
  top: 20px;
  right: 24px;
  padding: 8px 18px;
  font-size: 18px;
}
.blogItemBody {
  padding: 20px 24px;
}
.blogItemTitle {
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  font-family: "Philosopher";
  color: #1A2027;
  transition: color 0.4s ease-in-out;
}
.blogItemTitle:hover {
  color: #5BA2D9;
}
.blogImage {
  position: relative;
  font-size: 0;
  border-radius: 16px 16px 0 0;
  line-height: 0;
  overflow: hidden;
  height: 204px;
}
.blogImage::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 16px 16px 0 0;
  background: rgba(0, 0, 0, 0.15);
  pointer-events: none;
  z-index: 1;
}
.blogImage::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 16px 16px 0 0;
  background: #432E19;
  opacity: 0.37;
  pointer-events: none;
  z-index: 1;
}
.blogImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.3s ease;
}
.blogImage img:hover {
  transform: scale(1.2);
}
.blogDate {
  display: block;
  font-size: 14px;
  line-height: 26px;
  color: #6F7478;
  margin-bottom: 4px;
}
.blogButton {
  padding: 10px 17px;
  font-size: 20px;
}
.blogButtonMobile {
  display: none;
}
@media (width <= 1400px) {
  .blog {
    padding: 0;
  }
  .blog::before {
    top: 0;
  }
  .blogImage {
    height: 250px;
  }
}
@media (width <= 1200px) {
  .blog {
    text-align: center;
  }
  .blogTop {
    justify-content: center;
  }
  .blogList {
    flex-wrap: wrap;
    margin-bottom: 42px;
  }
  .blogItem {
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .blogItemBody {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    padding: 24px;
  }
  .blogItemTitle {
    max-width: 70%;
    text-align: left;
  }
  .blogDate {
    margin-left: auto;
  }
  .blogImage {
    height: 350px;
  }
  .blogButton {
    display: none;
  }
  .blogButtonMobile {
    display: inline-block;
    padding: 14px 80px;
  }
}
@media (width <= 1000px) {
  .blog::before {
    width: 100%;
    height: 100%;
  }
  .blogImage {
    height: 250px;
  }
}
.faq {
  position: relative;
  margin-bottom: 82px;
}
.faqContent {
  padding: 60px 50px;
  border-radius: 30px;
  background-color: #ffffff;
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
}
.faqHeader {
  text-align: center;
  margin-bottom: 70px;
}
.faqItem {
  padding-bottom: 20px;
  margin-bottom: 28px;
  border-bottom: 1px solid #B3C1CD;
}
.faqItem:last-child {
  margin-bottom: 0;
  border-bottom: none;
}
.faqItemHeader {
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.faqItemHeader span {
  padding-right: 25px;
}
.faqItemIcon {
  margin-left: auto;
  transform: rotate(90deg);
  transition: transform 0.4s ease-in-out;
  flex-shrink: 0;
}
.faqItemIcon.active {
  transform: rotate(0deg);
}
.faqItemBody {
  display: none;
  margin-top: 26px;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
}
@media (width <= 1000px) {
  .faq {
    position: relative;
    margin-bottom: 80px;
  }
  .faqContent {
    padding: 30px;
  }
  .faqItem {
    padding-bottom: 32px;
    margin-bottom: 32px;
  }
  .faqItemHeader {
    font-size: 18px;
  }
  .faqItemBody {
    font-size: 18px;
  }
}
.instagram {
  margin-bottom: 40px;
}
.instagramHeader {
  margin-bottom: 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.instagramButton {
  padding: 10px 20px;
  font-size: 20px;
}
.instagramSwiper {
  overflow: hidden;
}
.instagramProduct:hover .instagramProductImage img {
  transform: scale(1.2);
}
.instagramProductImage {
  height: 268px;
  display: block;
  margin-bottom: 28px;
}
.instagramProductImageLink {
  display: block;
  border-radius: 16px;
  overflow: hidden;
  height: inherit;
}
.instagramProductImage img {
  width: 100%;
  border-radius: 16px;
  height: inherit;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.4s ease-in-out;
}
.instagramProductImage video {
  width: 100%;
  border-radius: 16px;
  height: inherit;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.4s ease-in-out;
}
.instagramProductText {
  height: 112px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  text-align: center;
  font-size: 14px;
  line-height: 28px;
  margin-bottom: 24px;
}
.instagramProductLink {
  text-align: center;
}
.instagramLink {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: transparent;
}
.instagramLink span {
  display: inline-block;
  font-weight: 600;
  font-size: 16px;
  line-height: normal;
  position: relative;
  z-index: 1;
}
.instagramLink::before,
.instagramLink::after {
  content: attr(data-link);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  font-weight: 600;
  font-size: 16px;
  line-height: normal;
  pointer-events: none;
  transition: opacity 0.4s ease-in-out;
  z-index: 0;
}
.instagramLink::before {
  content: "Open on Instagram";
  color: #1A2027;
  opacity: 1;
}
.instagramLink::after {
  content: "Open on Instagram";
  background: linear-gradient(to bottom, #3975A5 0%, #2D6EA1 22%, #DEEFFD 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0;
}
.instagramLink:hover::before {
  opacity: 0;
}
.instagramLink:hover::after {
  opacity: 1;
}
.customCheckbox {
  display: flex;
  align-items: flex-start;
}
.customCheckboxInput {
  display: none;
}
.customCheckboxInput:checked ~ .customCheckboxCustom {
  background-image: url(/src/images/icons/check2.svg);
}
.customCheckboxCustom {
  width: 28px;
  height: 28px;
  background-image: url(/src/images/icons/check1.svg);
  background-size: contain;
  flex-shrink: 0;
  cursor: pointer;
  display: block;
  margin-top: 3px;
  transition: background-image 0.3s ease;
}
.customCheckboxText {
  margin-left: 15px;
  font-size: 18px;
  font-style: normal;
  text-align: center;
}
@media (width <= 1000px) {
  .customCheckboxCustom {
    width: 24px;
    height: 24px;
  }
  .customCheckboxText {
    margin-left: 20px;
    font-size: 14px;
    line-height: 28px;
    text-align: left;
  }
}
@media (width <= 1400px) {
  .customCheckboxText {
    font-size: 14px;
    line-height: 28px;
  }
}
.customCheckbox2 {
  display: flex;
  align-items: center;
}
.customCheckbox2Input {
  display: none;
}
.customCheckbox2Input:checked ~ .customCheckbox2Custom {
  background-image: url(/src/images/icons/check4.svg);
}
.customCheckbox2Custom {
  width: 32px;
  height: 32px;
  background-image: url(/src/images/icons/check3.svg);
  flex-shrink: 0;
  cursor: pointer;
  display: block;
  margin-top: 3px;
  transition: background-image 0.3s ease;
}
.customCheckbox2Text {
  margin-left: 15px;
  font-size: 18px;
  font-style: normal;
  text-align: center;
}
.subscribe {
  position: relative;
  margin-top: 60px;
  margin-bottom: 80px;
  padding: 98px 0 0px;
  background-color: #ffffff;
  box-shadow: 0px -30px 20px 0px rgba(167, 196, 231, 0.47);
  z-index: 99;
}
.subscribeLeft {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.subscribeRight {
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
}
.subscribeContent {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.subscribeLogo {
  margin-bottom: 68px;
}
.subscribeTitle {
  font-size: 28px;
  line-height: normal;
  text-align: center;
  margin-bottom: 36px;
}
.subscribeText {
  text-align: center;
}
.subscribeForm {
  margin-top: 56px;
  max-width: 1100px;
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
.subscribeFormItem {
  max-width: 380px;
  width: 100%;
  margin-right: 16px;
  border-radius: 20px;
  padding: 16px 24px;
  border: 1px solid #B3C1CD;
  position: relative;
}
.subscribeFormItemPolicy {
  max-width: 100%;
  width: 100%;
  margin-top: 36px;
  border: none;
  border-radius: 0;
}
.subscribeFormItemPolicy a {
  color: #739AB8;
  transition: color 0.3s ease;
}
.subscribeFormItemPolicy a:hover {
  color: #1A2027;
}
.subscribeFormItemDialCode {
  display: flex;
  align-items: center;
  gap: 10px;
}
.subscribeFormItemDialCode .subscribeInput {
  line-height: 32px;
}
.subscribeInput {
  position: relative;
  width: 100%;
  font-size: 16px;
  line-height: 28px;
  color: #1A2027;
  outline: none;
}
.subscribeInput::placeholder {
  color: #6F7478;
}
.subscribeButton {
  padding: 14px 22px;
  font-size: 18px;
  margin-left: 4px;
}
.subscribeButton::before {
  border-radius: 16px;
}
.subscribeButton::after {
  border-radius: 16px;
}
@media (width <= 1000px) {
  .subscribe {
    padding: 70px 0 0px;
  }
  .subscribeLogo {
    margin-bottom: 56px;
  }
  .subscribeTitle {
    font-size: 32px;
    line-height: 44px;
  }
  .subscribeText {
    padding: 0 30px;
  }
  .subscribeForm {
    margin-top: 48px;
    padding: 0 40px;
  }
  .subscribeFormItem {
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 16px;
  }
  .subscribeFormItemPolicy {
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 28px;
  }
  .subscribeButton {
    order: 1;
    margin-top: 28px;
    padding: 14px 22px;
    font-size: 20px;
    margin-left: 0;
    width: 100%;
  }
}
@media (width <= 768px) {
  .subscribe {
    padding: 58px 0 0px;
  }
  .subscribeLogo {
    margin-bottom: 64px;
  }
  .subscribeTitle {
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 20px;
  }
  .subscribeText {
    padding: 0;
    font-size: 14px;
    line-height: 26px;
  }
  .subscribeInput {
    font-size: 14px;
    line-height: 26px;
  }
  .subscribeInput::placeholder {
    font-size: 14px;
    line-height: 26px;
  }
  .subscribeForm {
    margin-top: 28px;
    padding: 0;
  }
  .subscribeFormItem {
    margin-bottom: 12px;
  }
  .subscribeFormItemPolicy {
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 24px;
  }
  .subscribeButton {
    margin-top: 20px;
    padding: 16px 0;
    text-align: center;
    font-size: 18px;
    line-height: 20px;
    width: 100%;
  }
}
.popup {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  color: #1A2027;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  opacity: 0;
  pointer-events: none;
  z-index: 10000;
}
.popup.active {
  opacity: 1;
  pointer-events: all;
}
.popupWrapper {
  height: 100%;
}
.popupInner {
  height: 100%;
  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;
}
.popupBody {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  background-color: #ffffff;
  border-radius: 25px;
  padding: 48px 60px;
  max-width: 830px;
  box-sizing: border-box;
  overflow: hidden;
  box-shadow: 0 0 10px 0 rgba(161, 161, 161, 0.25);
}
.popupCloseButton {
  position: absolute;
  top: 16px;
  right: 16px;
  border: none;
  background-color: transparent;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.popupDecorTop {
  position: absolute;
  top: 0;
  left: 0;
}
.popupDecorBot {
  position: absolute;
  bottom: -15px;
  right: 0;
}
.popupImage {
  margin-bottom: 20px;
}
.popupTitle {
  font-size: 44px;
  margin-bottom: 35px;
}
.popupText {
  text-align: center;
  font-weight: 500;
  color: #70808E;
}
.popupTextBlue {
  color: #407CAB;
  margin-bottom: 20px;
}
.popupHr {
  margin-top: 38px;
  margin-bottom: 30px;
  width: 100%;
  height: 1px;
  background: url("/src/images/icons/popup/popup-designhr.svg") no-repeat center;
  padding: 0 30px;
}
.popupButton {
  margin-top: 40px;
  padding: 11px 60px;
  font-size: 20px;
}
@media (width <= 768px) {
  .popupWrapper {
    overflow-y: auto;
  }
  .popupInner {
    height: auto;
    align-items: flex-start;
  }
  .popupBody {
    padding: 48px 16px;
    margin: 35px 0;
  }
  .popupTitle {
    font-size: 32px;
    margin-bottom: 22px;
  }
  .popupText {
    font-size: 14px;
  }
  .popupTextBlue {
    color: #407CAB;
    margin-bottom: 12px;
  }
  .popupHr {
    margin-top: 16px;
    margin-bottom: 16px;
    padding: 0;
  }
  .popupButton {
    margin-top: 26px;
  }
}
.footer {
  padding-top: 68px;
  border-top: 1px solid #B3C1CD;
  overflow: hidden;
}
.footerTop {
  display: flex;
  margin-bottom: 120px;
}
.footerContacts {
  max-width: 300px;
  width: 100%;
}
.footerNav {
  margin: 0 auto;
  margin-top: 69px;
  display: flex;
  justify-content: center;
  width: 100%;
}
.footerNavBlock {
  max-width: 270px;
  width: 100%;
}
.footerNavItem {
  text-align: center;
}
.footerNavItem:not(:last-child) {
  margin-bottom: 20px;
}
.footerNavLink {
  color: #1A2027;
  font-size: 20px;
  line-height: 32px;
  letter-spacing: 0.6px;
  border-bottom: 1px solid #ffffff;
  transition: border-color 0.4s ease-in-out;
}
.footerNavLink:hover {
  border-color: #1A2027;
}
.footerSocial {
  margin-left: 60px;
}
.footerTitle {
  margin-bottom: 42px;
  font-family: "Philosopher", sans-serif;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
.footerItem {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.footerItem:not(:last-child) {
  margin-bottom: 20px;
}
.footerItem a {
  font-size: 18px;
  color: #1A2027;
  transition: color 0.3s ease-in-out;
}
.footerItem a:hover {
  color: #6F7478;
}
.footerCopytext {
  padding-bottom: 42px;
  color: #B0B0B0;
  text-align: center;
  font-size: 18px;
}
.footerCopytext a {
  font-weight: 500;
  color: #B0B0B0;
}
@media (width <= 1400px) {
  .footerNav {
    flex-wrap: wrap;
  }
  .footerNavBlock {
    max-width: 100%;
    margin-bottom: 20px;
  }
  .footerNavLink {
    font-size: 16px;
  }
  .footerCopytext {
    font-size: 14px;
    line-height: 28px;
  }
}
@media (width <= 1000px) {
  .footer {
    padding-top: 54px;
    margin-top: 70px;
  }
  .footerTop {
    margin-bottom: 72px;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .footerContacts {
    max-width: 250px;
    order: -1;
    margin-left: 40px;
  }
  .footerNav {
    gap: 20px;
    margin-top: 54px;
    padding-top: 72px;
    position: relative;
  }
  .footerNav::before {
    content: "";
    position: absolute;
    top: 0;
    left: -20px;
    width: calc(100% + 40px);
    height: 1px;
    background-color: #B3C1CD;
  }
  .footerNavBlock {
    max-width: 100%;
  }
  .footerNavLink {
    font-weight: 500;
    font-size: 18px;
  }
  .footerSocial {
    max-width: 300px;
    margin-left: 0;
    order: -1;
    margin-right: 40px;
  }
  .footerTitle {
    margin-bottom: 36px;
    font-size: 24px;
    line-height: 28px;
  }
  .footerCopytext {
    padding: 0 40px 48px 40px;
  }
}
@media (width <= 768px) {
  .footer {
    padding-top: 45px;
    margin-top: 45px;
  }
  .footerTop {
    justify-content: center;
    gap: 48px;
  }
  .footerContacts {
    max-width: 100%;
    margin-left: 0;
  }
  .footerNav {
    gap: 20px;
    margin-top: 0;
    padding-top: 56px;
    flex-wrap: wrap;
  }
  .footerNavBlock {
    max-width: 100%;
  }
  .footerNavLink {
    font-weight: 500;
    font-size: 18px;
  }
  .footerSocial {
    max-width: 100%;
    justify-content: center;
    margin-right: 0;
    gap: 20px;
  }
  .footerItem {
    justify-content: center;
    gap: 12px;
  }
  .footerTitle {
    margin-bottom: 32px;
    font-size: 22px;
    text-align: center;
  }
  .footerCopytext {
    padding: 48px 0 42px 0;
    font-size: 12px;
    line-height: 24px;
  }
}
.bannersList {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 50px;
}
.bannersLink {
  display: block;
  transform: scale(1);
  transition: transform 0.4s ease-in-out;
}
.bannersLink:hover {
  transform: scale(1.05);
}
.bannersLink img {
  height: 35px;
}
@media (width <= 1000px) {
  .bannersList {
    padding: 0 80px;
    flex-wrap: wrap;
    gap: 36px;
    justify-content: center;
  }
}
@media (width <= 768px) {
  .bannersList {
    padding: 0;
    gap: 32px;
    margin-bottom: 48px;
  }
}
.socialList {
  display: flex;
  align-items: center;
}
.socialItem:not(:last-child) {
  margin-right: 24px;
}
.socialLink {
  width: 36px;
  height: 36px;
  display: block;
  font-size: 0;
  line-height: 0;
  border-radius: 100%;
  box-shadow: none;
  transition: box-shadow 0.4s ease-in-out;
}
.socialLink:hover {
  box-shadow: 0px 4px 4px 0px rgba(173, 204, 232, 0.4);
}
.dialCode img {
  width: 21px;
  height: 16px;
  object-fit: cover;
  border-radius: 2px;
}
.dialCodeButton {
  color: #1A2027;
  font-size: 20px;
  font-weight: 400;
  line-height: 32px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  z-index: 2;
  width: max-content;
}
.dialCodeButton svg path {
  stroke-linecap: round;
}
.dialCodeButton .dialCodeArrow {
  transform: rotate(0);
  transition: transform 0.3s ease;
  width: 10px;
  height: 6px;
}
.dialCodeButtonCode {
  font-size: 20px;
}
.dialCodeButton.active .dialCodeArrow {
  transform: rotate(180deg);
}
.dialCodeBody {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  width: 100%;
  border-radius: 20px;
  background-color: #ffffff;
  box-shadow: 0px 4px 20px rgba(167, 196, 231, 0.47);
  z-index: 3;
  overflow: hidden;
}
.dialCodeBody.active {
  opacity: 1;
  pointer-events: auto;
}
.dialCodeBodyMulti {
  width: 100%;
}
.dialCodeList {
  overflow-y: auto;
  height: 195px;
}
.dialCodeItem {
  text-align: left;
  background-color: #ffffff;
  padding: 16px;
  transition: background-color 0.3s ease;
  border-bottom: 1px solid #B3C1CD;
}
.dialCodeItem:last-child {
  border-bottom: none;
}
.dialCodeItem:hover {
  background-color: rgba(179, 193, 205, 0.2);
}
.dialCodeItemButton {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  display: flex;
  gap: 10px;
  align-items: center;
  line-height: normal;
}
.dialCodeCode {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
}
@media (width <= 768px) {
  .dialCodeButton {
    font-size: 14px;
    line-height: 26px;
  }
  .dialCodeButtonCode {
    font-size: 14px;
  }
}
.infoBlock {
  display: flex;
  gap: 20px;
  max-height: 570px;
  margin-bottom: 30px;
}
.infoBlockText {
  background-color: #F6F9FD;
  border-radius: 16px;
  padding: 48px 40px;
  max-width: 660px;
  width: 100%;
}
.infoBlockImage {
  width: 100%;
  position: relative;
}
.infoBlockImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.infoBlockTitle {
  margin-bottom: 30px;
}
.infoBlockDesc {
  font-size: 20px;
  font-weight: 400;
  line-height: 32px;
}
.infoBlockButton {
  padding: 18px 26px;
  font-size: 22px;
  margin-top: 65px;
  display: inline-block;
}
@media (width <= 1300px) {
  .infoBlock {
    flex-direction: column;
    max-height: 100%;
    gap: 32px;
    margin-bottom: 32px;
  }
  .infoBlockText {
    padding: 40px;
    max-width: fit-content;
  }
  .infoBlockTitle {
    margin-bottom: 24px;
  }
  .infoBlockDesc {
    font-size: 16px;
  }
  .infoBlockImage img {
    max-height: 415px;
  }
  .infoBlockButton {
    margin-top: 26px;
  }
}
@media (width <= 768px) {
  .infoBlock {
    gap: 32px;
    margin-bottom: 22px;
  }
  .infoBlockText {
    padding: 20px 8px;
  }
  .infoBlockSubtitle {
    text-align: center;
    padding: 0 12px;
  }
  .infoBlockTitle {
    margin-bottom: 22px;
    padding: 0 12px;
    text-align: center;
  }
  .infoBlockDesc {
    font-size: 14px;
    line-height: 28px;
    padding: 0 12px;
    text-align: center;
  }
  .infoBlockImage img {
    max-height: 187px;
  }
  .infoBlockButton {
    width: 100%;
    font-size: 18px;
    line-height: 20px;
    padding: 16px 0;
    text-align: center;
  }
}
.destinations {
  margin: 0;
}
.destinationsHero {
  padding: 400px 0;
}
.destinationsInfoHeader {
  text-align: center;
  max-width: 1040px;
  width: 100%;
  padding: 60px 0;
  margin: 0 auto;
}
.destinationsInfoTitle {
  margin-bottom: 30px;
}
.destinationsInfoText {
  font-size: 20px;
  font-weight: 400;
}
.destinationsList {
  margin-top: 60px;
}
.destinationsItem {
  margin-bottom: 90px;
}
.destinationsNav {
  margin-top: 60px;
}
.destinationsNavList {
  padding: 0 67px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
.destinationsNavLink {
  padding: 14px 32px;
  background-color: #DEEFFD;
  border-radius: 40px;
  color: #1A2027;
  font-size: 20px;
  font-weight: 500;
  display: block;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.destinationsNavLink:hover {
  background-color: #5BA2D9;
  color: #ffffff;
}
@media (width <= 1000px) {
  .destinationsHero {
    padding-top: 580px;
    padding-bottom: 440px;
  }
  .destinationsInfoText {
    font-size: 16px;
    line-height: 28px;
  }
  .destinationsItem {
    margin-bottom: 32px;
  }
  .destinationsNavList {
    padding: 0;
    justify-content: flex-start;
    gap: 20px;
  }
  .destinationsNavLink {
    padding: 12px 28px;
    font-size: 16px;
  }
}
@media (width <= 768px) {
  .destinationsHero {
    padding-top: 384px;
    padding-bottom: 292px;
  }
  .destinationsInfoHeader {
    padding: 32px 0;
  }
  .destinationsInfoTitle {
    margin-bottom: 16px;
  }
  .destinationsInfoText {
    font-size: 14px;
    line-height: 26px;
  }
  .destinationsItem {
    margin-bottom: 14px;
  }
  .destinationsNav {
    margin-top: 32px;
  }
  .destinationsNavList {
    gap: 14px;
  }
  .destinationsNavLink {
    padding: 10px 28px;
    font-size: 14px;
    line-height: 26px;
  }
  .destinationsList {
    margin-top: 32px;
  }
}
.destinationsCountryTitle {
  font-size: 20px;
  font-weight: 500;
  background: linear-gradient(to bottom, #3975A5 0%, #2D6EA1 22%, #DEEFFD 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.destinationsCountryList {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
}
.destinationsCountryItem {
  width: calc(16.66% - 15px);
  margin-right: 18px;
  margin-bottom: 18px;
}
.destinationsCountryItem:nth-child(6n) {
  margin-right: 0;
}
.destinationsCountryLink {
  display: block;
  width: 100%;
  border-radius: 16px;
  text-align: center;
  color: #ffffff;
  position: relative;
  overflow: hidden;
  box-shadow: none;
  transition: box-shadow 0.3s ease;
}
.destinationsCountryLink::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 150%;
  height: 150%;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  border-radius: 16px;
  z-index: -1;
}
.destinationsCountryLink:hover {
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
}
.destinationsCountryName {
  font-size: 20px;
  font-weight: 500;
  display: block;
  padding-bottom: 12px;
}
.destinationsCountryImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}
@media (width <= 1000px) {
  .destinationsCountryList {
    margin-top: 16px;
  }
  .destinationsCountryItem {
    width: calc(33.33% - 14px);
    margin-right: 20px;
    margin-bottom: 20px;
  }
  .destinationsCountryItem:nth-child(3n) {
    margin-right: 0;
  }
  .destinationsCountryName {
    font-size: 16px;
    line-height: 28px;
    padding-bottom: 10px;
  }
}
@media (width <= 768px) {
  .destinationsCountryTitle {
    font-size: 14px;
    line-height: 28px;
  }
  .destinationsCountryList {
    margin-top: 12px;
  }
  .destinationsCountryItem {
    width: calc(50% - 9px);
    margin-right: 18px;
    margin-bottom: 18px;
  }
  .destinationsCountryItem:nth-child(3n) {
    margin-right: 18px;
  }
  .destinationsCountryItem:nth-child(2n) {
    margin-right: 0;
  }
  .destinationsCountryName {
    font-size: 12px;
    line-height: 20px;
  }
}
.infoHero {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.infoHeroContent {
  text-align: center;
}
.infoHeroContentCrm {
  display: flex;
  align-items: center;
  margin-top: 52px;
  padding-top: 115px;
  padding-bottom: 30px;
}
.infoHeroContentTitle {
  width: calc(100% - 526px);
  padding: 178px 180px 312px 180px;
}
.infoHeroTitle {
  font-family: "Philosopher", "Arial", sans-serif;
  color: #ffffff;
  font-size: 80px;
  line-height: normal;
  font-weight: 700;
  margin-bottom: 4px;
}
.infoHeroTitleSecond {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 36px;
  line-height: 64px;
  font-weight: 700;
  color: #ffffff;
}
.infoHeroTitleSecondSpecial {
  font-family: "Montserrat", "Arial", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 32px;
}
.infoHeroSubtitle {
  color: #ffffff;
  display: block;
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 500;
}
.infoHeroInfo {
  margin-top: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.infoHeroInfoItem {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  padding: 14px 20px;
  background-color: rgba(255, 255, 255, 0.32);
  border-radius: 40px;
  line-height: normal;
}
@media (width <= 1000px) {
  .infoHeroTitle {
    font-size: 42px;
  }
  .infoHeroTitleSecond {
    font-size: 22px;
  }
}
@media (width <= 768px) {
  .infoHeroSubtitle {
    font-size: 14px;
  }
  .infoHeroTitle {
    font-size: 28px;
    margin-bottom: 16px;
  }
  .infoHeroTitleSecond {
    font-size: 20px;
    line-height: 30px;
  }
}
.exploreTemplate {
  margin: 0;
}
.exploreTemplateHero {
  padding: 366px 0;
}
.exploreTemplateCountry {
  margin: 60px 0;
}
.exploreTemplateContent {
  margin-bottom: 90px;
}
.exploreTemplateContentHeader {
  text-align: center;
  padding-bottom: 57px;
}
.exploreTemplateInfo {
  margin-top: 60px;
  display: flex;
  gap: 60px;
  align-items: center;
}
.exploreTemplateInfoText {
  padding: 75px 0;
  max-width: 620px;
  width: 100%;
}
.exploreTemplateInfoTextColor {
  background-color: #F6F9FD;
  border-radius: 16px;
  padding: 48px 40px;
}
.exploreTemplateInfoImage {
  max-width: 100%;
  width: 100%;
  height: 560px;
}
.exploreTemplateInfoImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.exploreTemplateSubtitle {
  text-align: left;
  color: #6F7478;
  font-size: 20px;
}
.exploreTemplateTitle {
  margin-top: 20px;
  margin-bottom: 42px;
}
.exploreTemplateDesc {
  text-align: left;
  font-size: 20px;
}
.exploreTemplateOffers {
  margin-bottom: 90px;
}
.exploreTemplateOffersSlider {
  position: relative;
}
.exploreTemplateOffersSliderArrow {
  position: absolute;
  top: 50%;
  font-size: 0;
  line-height: 0;
  outline: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  width: 46px;
  height: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: transparent;
  border: 1px solid #EEF1FB;
  transition: background-color 0.3s ease;
}
.exploreTemplateOffersSliderArrow:hover {
  background-color: #EEF1FB;
}
.exploreTemplateOffersSliderArrowLeft {
  left: -52px;
}
.exploreTemplateOffersSliderArrowRight {
  right: -52px;
}
.exploreTemplateOffersSliderScrollbar {
  width: calc(100% - 40px);
  margin-left: 20px;
  height: 4px;
  background-color: rgba(173, 204, 232, 0.35);
}
.exploreTemplateOffersSliderScrollbar .swiper-scrollbar-drag {
  background-color: #B3C1CD;
}
.exploreTemplateOffersSwiper {
  overflow: hidden;
  margin-bottom: 16px;
  padding: 20px;
}
.exploreTemplateOffersLink {
  padding: 10px 36px;
  font-size: 20px;
}
.exploreTemplateOffersLinkMobile {
  display: none;
}
.exploreTemplateOffersTop {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
  padding: 0 20px;
}
@media (width <= 1000px) {
  .exploreTemplateHero {
    padding-top: 548px;
    padding-bottom: 406px;
  }
  .exploreTemplateContent {
    margin-bottom: 60px;
  }
  .exploreTemplateInfo {
    margin-top: 60px;
    flex-direction: column-reverse;
    gap: 22px;
  }
  .exploreTemplateInfo:nth-child(2n) {
    flex-direction: column;
  }
  .exploreTemplateInfoText {
    padding: 0;
    max-width: 100%;
  }
  .exploreTemplateInfoImage {
    height: 408px;
  }
  .exploreTemplateTitle {
    margin-top: 12px;
    margin-bottom: 20px;
  }
  .exploreTemplateDesc {
    font-size: 16px;
  }
  .exploreTemplateOffers {
    margin-bottom: 60px;
  }
  .exploreTemplateOffersSliderArrowLeft {
    left: calc(50% - 32px);
    transform: translateX(-50%);
    bottom: -86px;
    top: unset;
  }
  .exploreTemplateOffersSliderArrowRight {
    left: calc(50% + 32px);
    transform: translateX(-50%);
    bottom: -86px;
    top: unset;
  }
  .exploreTemplateOffersSliderScrollbar {
    width: 100%;
    margin-left: 0;
    margin-bottom: 80px;
  }
  .exploreTemplateOffersSwiper {
    margin-bottom: 20px;
    padding: 0;
  }
  .exploreTemplateOffersLink {
    display: none;
  }
  .exploreTemplateOffersLinkMobile {
    display: block;
    padding: 16px 120px;
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
  }
  .exploreTemplateOffersTop {
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    padding: 0;
  }
  .exploreTemplateOptions .infoBlockImage img {
    max-height: 516px;
  }
}
@media (width <= 768px) {
  .exploreTemplateHero {
    padding-top: 366px;
    padding-bottom: 264px;
  }
  .exploreTemplateCountry {
    margin: 32px 0;
  }
  .exploreTemplateContent {
    margin-bottom: 30px;
  }
  .exploreTemplateInfo {
    margin-top: 32px;
    gap: 20px;
  }
  .exploreTemplateInfoImage {
    height: 184px;
  }
  .exploreTemplateSubtitle {
    font-size: 14px;
    line-height: 32px;
  }
  .exploreTemplateDesc {
    font-size: 14px;
    line-height: 26px;
  }
  .exploreTemplateOffers {
    margin-bottom: 32px;
  }
  .exploreTemplateOffersLinkMobile {
    width: 100%;
    padding: 16px 0;
  }
  .exploreTemplateOptions .infoBlockImage img {
    max-height: 100%;
    height: 330px;
  }
  .exploreTemplateOptions .infoBlockSubtitle,
  .exploreTemplateOptions .infoBlockTitle {
    text-align: left;
  }
  .exploreTemplateOptions .infoBlockDesc {
    text-align: left;
  }
}
.offer {
  position: relative;
  border-radius: 16px;
  transition: box-shadow 0.3s ease;
  display: block;
}
.offer:hover {
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
}
.offerImage {
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  overflow: hidden;
  display: block;
  width: 100%;
  height: 224px;
  cursor: pointer;
}
.offerImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.offerStickers {
  position: absolute;
  top: 28px;
  left: 28px;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 13px;
}
.offerStickersCountry {
  padding: 8px 12px;
  background-color: #ffffff;
  border-radius: 40px;
  color: #1A2027;
  line-height: 20px;
}
.offerStickersSpecials {
  padding: 8px 12px;
  background-color: #1A2027;
  border-radius: 40px;
  color: #ffffff;
}
.offerInfo {
  padding-top: 24px;
  border: 1px solid #B3C1CD;
  border-bottom-right-radius: 16px;
  border-bottom-left-radius: 16px;
  height: 350px;
  display: flex;
  flex-direction: column;
}
@media (width <= 1750px) {
  .offerInfo {
    height: 440px;
  }
}
.offerTitle {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 16px;
  padding: 0 22px;
  color: #1A2027;
  cursor: pointer;
  min-height: 64px;
}
.offerDate {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 22px;
  margin-top: auto;
  margin-bottom: 22px;
}
.offerBottom {
  padding: 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to bottom, rgba(179, 193, 205, 0.2) 0%, rgba(179, 193, 205, 0.3) 100%);
  border-bottom-right-radius: 16px;
  border-bottom-left-radius: 16px;
  overflow: hidden;
  margin-top: auto;
  color: #1A2027;
}
.offerDuration {
  font-size: 18px;
  font-weight: 500;
  text-transform: uppercase;
}
.offerPrice b {
  font-size: 20px;
}
.offerPlaces {
  padding: 0 22px;
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 500;
  color: #2D6EA1;
}
.offerDesc {
  padding: 0 22px;
  margin-bottom: 16px;
  min-height: 100px;
  color: #1A2027;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (width <= 1000px) {
  .offerStickers {
    top: 16px;
    left: 16px;
  }
  .offerStickersCountry {
    font-size: 14px;
  }
  .offerStickersSpecials {
    font-size: 14px;
  }
  .offerInfo {
    padding-top: 18px;
    height: 370px;
    display: flex;
    flex-direction: column;
  }
  .offerInfoHight {
    height: 350px;
  }
  .offerTitle {
    font-size: 22px;
    margin-bottom: 12px;
    padding: 0 18px;
  }
  .offerDate {
    gap: 10px;
    padding: 0 18px;
    margin-bottom: 18px;
    font-size: 14px;
  }
  .offerBottom {
    padding: 18px;
  }
  .offerPlaces {
    padding: 0 22px;
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 500;
    color: #2D6EA1;
  }
  .offerDesc {
    padding: 0 22px;
    margin-bottom: 16px;
    min-height: 100px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .offerDuration {
    font-size: 16px;
  }
  .offerPrice {
    font-size: 14px;
  }
  .offerPrice b {
    font-size: 16px;
  }
}
@media (width <= 768px) {
  .offerStickers {
    top: 10px;
    left: 10px;
    grid-area: 10px;
  }
  .offerStickersCountry {
    font-size: 12px;
  }
  .offerStickersSpecials {
    font-size: 12px;
  }
  .offerInfo {
    padding-top: 18px;
    height: 265px;
  }
  .offerTitle {
    margin-bottom: 10px;
    padding: 0 14px;
    font-size: 20px;
  }
  .offerDate {
    padding: 0 14px;
    margin-bottom: 18px;
  }
  .offerBottom {
    padding: 10px 18px;
  }
  .offerPlaces {
    padding: 0 14px;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 32px;
  }
  .offerDesc {
    padding: 0 14px;
    margin-bottom: 0;
    font-size: 12px;
    min-height: 70px;
  }
}
@media (width <= 500px) {
  .offerInfo {
    padding-top: 18px;
    height: 300px;
  }
}
@media (width <= 500px) {
  .offerInfo {
    padding-top: 18px;
    height: 330px;
  }
}
.travelHeader {
  text-align: center;
  padding: 57px 0;
  margin-bottom: 60px;
  margin-top: 90px;
  position: relative;
}
.travelHeader::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 100%;
  height: 338px;
  border-radius: 50%;
  background-color: #ADCCE8;
  opacity: 40%;
  filter: blur(100px);
  z-index: -2;
}
.travelHeaderSubtitle {
  text-align: center;
  display: block;
  font-size: 20px;
  color: #6F7478;
  margin-bottom: 20px;
}
.travelHeaderTitle {
  margin-bottom: 30px;
}
.travelHeaderDesc {
  text-align: center;
  font-size: 20px;
}
.travelHeaderDesc a {
  color: #2D6EA1;
  font-weight: 500;
}
@media (width <= 1000px) {
  .travelHeader {
    padding: 0;
    margin: 0;
  }
  .travelHeader::before {
    height: 294px;
  }
  .travelHeaderTitle {
    margin-bottom: 20px;
  }
  .travelHeaderDesc {
    font-size: 16px;
    line-height: 28px;
  }
}
@media (width <= 768px) {
  .travelHeader::before {
    height: 400px;
  }
  .travelHeaderSubtitle {
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 16px;
  }
  .travelHeaderTitle {
    margin-bottom: 16px;
  }
  .travelHeaderDesc {
    font-size: 14px;
    line-height: 26px;
  }
}
.travelOptions {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 563px;
  height: 358px;
}
.travelOptionsItem {
  position: absolute;
  width: 531px;
  transition: transform 0.5s ease;
  padding: 42px 42px 34px;
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
}
.travelOptionsItem1 {
  top: 0;
  left: 0;
  z-index: 3;
  transform: translate(0, 0);
}
.travelOptionsItem2 {
  top: 0;
  left: 0;
  z-index: 2;
  transform: translate(16px, 16px);
}
.travelOptionsItem3 {
  top: 0;
  left: 0;
  z-index: 1;
  transform: translate(32px, 32px);
}
.travelOptionsTitle {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 46px;
  color: #2D6EA1;
  margin-bottom: 20px;
}
.travelOptionsDesc {
  font-size: 20px;
  margin-bottom: 40px;
}
.travelOptionsButtons {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.travelOptionsLink {
  padding: 14px 32px;
  font-size: 18px;
  line-height: 20px;
}
.travelOptionsButton {
  display: flex;
  justify-content: center;
  align-items: center;
}
.travelOptionsButton svg path {
  transition: fill 0.3s ease;
}
.travelOptionsButton:hover svg path {
  fill: #2D6EA1;
}
@media (width <= 1000px) {
  .travelOptions {
    width: 530px;
    height: 325px;
    top: 46%;
  }
  .travelOptionsItem {
    width: inherit;
    padding: 42px;
  }
  .travelOptionsTitle {
    margin-bottom: 12px;
  }
  .travelOptionsDesc {
    font-size: 16px;
  }
}
@media (width <= 768px) {
  .travelOptions {
    width: 270px;
    height: 288px;
    top: 48%;
    left: calc(50% - 10px);
  }
  .travelOptionsItem {
    width: inherit;
    padding: 18px;
  }
  .travelOptionsItem1 {
    top: 0;
    left: 0;
    z-index: 3;
    transform: translate(0, 0);
  }
  .travelOptionsItem2 {
    top: -5px;
    left: 0px;
    right: 5px;
  }
  .travelOptionsItem3 {
    top: -10px;
    left: 0px;
    right: 10px;
  }
  .travelOptionsTitle {
    margin-bottom: 10px;
    font-size: 21px;
    line-height: 30px;
  }
  .travelOptionsDesc {
    font-size: 14px;
    line-height: 28px;
    margin-bottom: 32px;
  }
}
.travelStories {
  margin: 90px 0;
}
.travelStoriesTop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}
.travelStoriesViewAll {
  padding: 12px 36px;
  font-size: 20px;
}
.travelStoriesViewAllMobile {
  display: none;
}
.travelStoriesList {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.travelStoriesItem {
  width: calc(33.33% - 18px);
  margin-right: 26px;
}
.travelStoriesItem:last-child {
  margin-right: 0;
}
.travelStoriesItemTitle {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 16px;
  min-height: 64px;
}
.travelStoriesPost {
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
  position: relative;
  border-radius: 16px;
}
.travelStoriesImage {
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  overflow: hidden;
  width: 100%;
  height: 224px;
}
.travelStoriesImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.travelStoriesStickers {
  position: absolute;
  top: 28px;
  left: 28px;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 13px;
}
.travelStoriesSticker {
  padding: 8px 12px;
  background-color: #ffffff;
  border-radius: 40px;
  color: #1A2027;
  line-height: 20px;
}
.travelStoriesInfo {
  padding: 26px 33px 26px 28px;
  border-bottom-right-radius: 16px;
  border-bottom-left-radius: 16px;
}
.travelStoriesDesc {
  margin-bottom: 16px;
  min-height: 100px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.travelStoriesLink {
  display: inline-block;
  font-size: 18px;
  line-height: 20px;
  padding: 14px 32px;
  margin-top: auto;
}
@media (width <= 1600px) {
  .travelStoriesInfo {
    height: 280px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (width <= 1000px) {
  .travelStories {
    margin: 60px 0;
  }
  .travelStoriesTop {
    justify-content: flex-start;
  }
  .travelStoriesSubTitle {
    text-align: left;
  }
  .travelStoriesViewAll {
    display: none;
  }
  .travelStoriesViewAllMobile {
    display: block;
    padding: 16px 120px;
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
  }
  .travelStoriesList {
    flex-direction: column;
    gap: 30px;
    margin-bottom: 52px;
  }
  .travelStoriesItem {
    width: 100%;
    margin-right: 0;
  }
  .travelStoriesItemTitle {
    min-height: auto;
  }
  .travelStoriesDesc {
    margin-bottom: 18px;
  }
  .travelStoriesLink {
    border: 1px solid #1A2027;
    background-color: transparent;
    color: #1A2027;
    transition: background-color 0.4s ease-in-out, color 0.4s ease-in-out;
  }
  .travelStoriesLink:hover {
    background-color: #1A2027;
    color: #ffffff;
  }
  .travelStoriesInfo {
    height: auto;
  }
}
@media (width <= 768px) {
  .travelStories {
    margin: 30px 0;
  }
  .travelStoriesTop {
    justify-content: center;
    margin-bottom: 22px;
  }
  .travelStoriesSubTitle {
    text-align: center;
  }
  .travelStoriesTitle {
    text-align: center;
  }
  .travelStoriesViewAllMobile {
    width: 100%;
    padding: 16px 0;
  }
  .travelStoriesList {
    margin-bottom: 30px;
  }
  .travelStoriesStickers {
    top: 16px;
    left: 16px;
  }
  .travelStoriesSticker {
    font-size: 14px;
  }
  .travelStoriesInfo {
    padding: 18px;
  }
  .travelStoriesDesc {
    margin-bottom: 16px;
  }
  .travelStoriesLink {
    width: 100%;
    padding: 14px 0;
    text-align: center;
  }
}
.cruises {
  margin: 0;
}
.cruisesHero {
  padding: 415px 0;
}
.cruisesContent {
  margin-bottom: 90px;
}
.cruisesContentHeader {
  padding: 85px 0;
}
.cruisesContentHeaderDesc {
  padding: 0 170px;
}
.cruisesInfo {
  margin-top: 60px;
  display: flex;
  gap: 80px;
  align-items: center;
}
.cruisesInfoText {
  width: calc(100% - 740px);
}
.cruisesInfoTitle {
  line-height: 46px;
  margin-bottom: 42px;
}
.cruisesInfoSubtitle {
  text-align: left;
  font-size: 20px;
  color: #6F7478;
  display: block;
  margin-bottom: 20px;
}
.cruisesInfoDesc {
  text-align: left;
  font-size: 20px;
}
.cruisesInfoDesc a {
  font-weight: 500;
  color: #2D6EA1;
}
.cruisesInfoImage {
  max-width: 660px;
  width: 100%;
  height: 454px;
}
.cruisesInfoImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.cruisesInfoButton {
  display: inline-block;
  margin-top: 42px;
}
.cruisesFiltersContent {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cruisesFiltersResults {
  font-size: 20px;
}
.cruisesFiltersResultsCount {
  font-weight: 500;
}
.cruisesForm .vacationForm {
  margin: 60px 0 50px 0;
}
.cruises .sortForm {
  margin-left: auto;
  margin-right: 25px;
}
.cruises .sortFormHeader {
  padding: 17px 85px;
  width: auto;
  box-shadow: none;
  border: 1px solid #B3C1CD;
}
.cruises .sortFormHeader.active {
  border-radius: 16px;
}
.cruises .sortFormTitle {
  font-size: 16px;
  line-height: 26px;
}
.cruises .sortFormBody {
  margin-top: 8px;
  border-radius: 16px;
}
.vacationForm {
  padding: 0 30px 0 16px;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
  display: flex;
  width: 100%;
  background-color: #ffffff;
}
.vacationFormTitle {
  font-size: 20px;
  color: #6F7478;
}
.vacationFormTitlePassengers {
  font-size: 20px;
  color: #1A2027;
}
.vacationFormItem {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 30px 32px;
  cursor: pointer;
  position: relative;
}
.vacationFormItem svg {
  transform: rotate(0);
  transition: transform 0.3s ease;
}
.vacationFormItem svg path {
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}
.vacationFormItem.active {
  z-index: 10;
}
.vacationFormItem.active::before {
  opacity: 1;
}
.vacationFormItem.active svg {
  transform: rotate(0);
  transition: transform 0.3s ease;
}
.vacationFormItem::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.vacationFormItem::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 1px;
  z-index: -1;
  background-color: #ffffff;
  opacity: 1;
}
.vacationFormItem:hover {
  z-index: 2;
}
.vacationFormItem:hover::before {
  opacity: 1;
}
.vacationFormBody {
  position: absolute;
  top: 100%;
  left: 0;
  width: calc(100% - 2px);
  filter: drop-shadow(0 0 16px rgba(40, 57, 66, 0.14));
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.vacationFormBody.active {
  opacity: 1;
  pointer-events: all;
}
.vacationFormBodyPassengers {
  width: calc(100% + 140px);
}
.vacationFormBodySearch {
  width: 100%;
}
.vacationFormBodySearch::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  box-shadow: 0px 4px 20px 0px rgba(167, 196, 231, 0.47);
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
}
.vacationFormBodySearch::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 1px;
  z-index: -1;
  background-color: #ffffff;
  opacity: 1;
}
.vacationFormPassengers {
  max-width: 148px;
  width: 100%;
  padding: 30px 36px;
  gap: 10px;
  justify-content: center;
}
.vacationFormPassengers img {
  margin-right: 6px;
}
.vacationFormPassengersContent {
  border-radius: 0 20px 20px 20px;
  padding: 16px 20px;
  background-color: #ffffff;
  cursor: default;
}
.vacationFormPassengersItem {
  display: flex;
  align-items: center;
}
.vacationFormPassengersItem:not(:last-child) {
  margin-bottom: 18px;
}
.vacationFormPassengersCount {
  display: flex;
  align-items: center;
  margin-left: auto;
}
.vacationFormPassengersCountButton {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #F6F8FF;
  font-size: 0;
  line-height: 0;
  transition: background-color 0.3s ease;
}
.vacationFormPassengersCountButton svg path {
  transition: stroke 0.3s ease;
  stroke: #1A2027;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.vacationFormPassengersCountButton:hover {
  background-color: #739AB8;
}
.vacationFormPassengersCountButton:hover svg path {
  stroke: #ffffff;
}
.vacationFormPassengersCountInput {
  width: 50px;
  height: 100%;
  text-align: center;
  font-size: 14px;
}
.vacationFormPassengersTip {
  display: block;
  font-size: 14px;
  line-height: normal;
  color: #6F7478;
}
.vacationFormCalendar {
  max-width: 330px;
  width: 100%;
}
.vacationFormCalendarButton {
  display: flex;
  align-items: center;
  gap: 18px;
}
.vacationFormCalendarInput {
  font-size: 20px;
}
.vacationFormCalendarInput::-webkit-input-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.vacationFormCalendarInput:-moz-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.vacationFormCalendarInput::-moz-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.vacationFormCalendarInput:-ms-input-placeholder {
  color: #6F7478;
  font-size: 20px;
}
.vacationFormCalendarInput::placeholder {
  color: #6F7478;
  font-size: 20px;
}
.vacationFormSearch {
  max-width: 400px;
  width: 100%;
  border-left: 1px solid #B3C1CD;
}
.vacationFormSearchList {
  max-height: 500px;
  overflow-y: auto;
}
.vacationFormSearchItem {
  position: relative;
}
.vacationFormSearchItemSearch {
  padding: 30px 32px 4px 32px;
}
.vacationFormSearchItemSearchField {
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  border-radius: 6px;
  z-index: 0;
}
.vacationFormSearchItemSearchField::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -2;
  border-radius: 6px;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  opacity: 1;
  transition: opacity 0.4s ease-in-out;
}
.vacationFormSearchItemSearchField::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 1px;
  z-index: -1;
  background-color: #ffffff;
  opacity: 1;
  border-radius: 6px;
}
.vacationFormSearchItemCheckbox {
  margin: 0px 1px;
}
.vacationFormSearchItemCheckboxBody {
  max-height: 0;
  overflow: auto;
  opacity: 0;
  transition: all 0.3s ease;
  margin-right: 30px;
  padding-left: 32px;
}
.vacationFormSearchItemCheckboxBody.active {
  max-height: 200px;
  opacity: 1;
}
.vacationFormSearchItemCheckboxBodyItem {
  padding: 0 10px 15px 20px;
}
.vacationFormSearchItemCheckboxBodyItem label span {
  color: #6F7478;
  font-size: 20px;
}
.vacationFormSearchItemCheckboxBodyItem label:hover span {
  color: #2D6EA1;
}
.vacationFormSearchItemHeader {
  display: block;
  padding: 8px 32px;
  font-size: 16px;
  color: #6F7478;
}
.vacationFormSearchItemLabel {
  padding: 30px 32px;
  background-color: #ffffff;
  transition: background-color 0.3s ease;
}
.vacationFormSearchItemLabel:hover {
  background-color: #EEF1FB;
}
.vacationFormSearchItemLabelText {
  color: #6F7478;
  font-size: 20px;
}
.vacationFormSearchInput {
  font-size: 16px;
  line-height: 28px;
  color: #1A2027;
  padding-top: 4px;
  width: 100%;
}
.vacationFormSearchInput::-webkit-input-placeholder {
  color: #1A2027;
  font-size: 16px;
}
.vacationFormSearchInput:-moz-placeholder {
  color: #1A2027;
  font-size: 16px;
}
.vacationFormSearchInput::-moz-placeholder {
  color: #1A2027;
  font-size: 16px;
}
.vacationFormSearchInput:-ms-input-placeholder {
  color: #1A2027;
  font-size: 16px;
}
.vacationFormSearchInput::placeholder {
  color: #1A2027;
  font-size: 16px;
}
.vacationFormSearchButton {
  position: absolute;
  top: 20px;
  right: 30px;
  padding: 10px;
}
.vacationFormSearchResult {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-height: 240px;
  overflow: auto;
  border-radius: 6px;
  background-color: #ffffff;
  box-shadow: 0px 0px 16px 0px rgba(167, 196, 231, 0.47);
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.vacationFormSearchResult.active {
  opacity: 1;
  pointer-events: all;
}
.vacationFormSearchResultItem {
  background-color: #ffffff;
  padding: 14px 32px;
  transition: background-color 0.3s ease;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.vacationFormSearchResultItem:hover {
  background-color: #EEF1FB;
}
.vacationFormSubmit {
  margin: 18px 16px 18px auto;
  padding: 16px 36px;
  font-size: 22px;
}
.vacationFormContent {
  display: flex;
  gap: 20px;
  margin: 60px 0;
}
.sortForm {
  background-color: #ffffff;
  border-radius: 16px;
  position: relative;
}
.sortForm.active {
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
}
.sortFormHeader {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  transition: border-radius 0.3s ease, border 0.3s ease;
}
.sortFormHeader svg {
  transform: rotate(0);
  transition: transform 0.3s ease;
}
.sortFormHeader.active {
  box-shadow: none;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border: 1px solid #B3C1CD;
}
.sortFormHeader.active svg {
  transform: rotate(180deg);
}
.sortFormTitle {
  font-size: 22px;
  line-height: 26px;
  font-weight: 400;
}
.sortFormBody {
  position: absolute;
  top: 100%;
  left: 1px;
  width: 100%;
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  background-color: #ffffff;
  border-bottom-right-radius: 16px;
  border-bottom-left-radius: 16px;
  overflow: hidden;
  transition: opacity 0.3s ease;
}
.sortFormBody.active {
  opacity: 1;
  pointer-events: all;
}
.sortFormBodyButton {
  padding: 16px 0;
  text-align: center;
  width: 100%;
  font-weight: 400;
  line-height: 26px;
  background-color: #ffffff;
  transition: background-color 0.3s ease;
}
.sortFormBodyButton:hover {
  background-color: #EEF1FB;
}
.filtersForm {
  display: flex;
  align-items: center;
  gap: 25px;
}
.filtersFormItem {
  padding: 14px 20px;
  border-radius: 16px;
  border: 1px solid #B3C1CD;
}
.catalogOffers {
  margin: 50px 0 60px 0;
}
.catalogOffersList {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  width: 0;
  height: 0;
  transition: opacity 0.3s ease;
}
.catalogOffersList.active {
  width: auto;
  height: auto;
  visibility: visible;
  opacity: 1;
  pointer-events: all;
}
.catalogOffersListNoresults {
  justify-content: center;
  align-items: center;
  padding: 80px 0;
  position: relative;
}
.catalogOffersListNoresults::before {
  content: "Блок, если нет результатов поиска";
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  pointer-events: none;
}
.catalogOffersListNoresults:hover::before {
  opacity: 1;
  pointer-events: all;
}
.catalogOffersItem {
  width: calc(33.33% - 18px);
  margin-right: 26px;
  margin-bottom: 26px;
}
.catalogOffersItem:nth-child(3n) {
  margin-right: 0;
}
.catalogOffersItemNoresults {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 28px;
  line-height: 56px;
  color: #B0B0B0;
}
.pagination {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 40px;
}
.paginationButton {
  padding: 0;
  border: none;
  font-family: "Montserrat", "Arial", sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 32px;
  background-color: transparent;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 52px;
}
.paginationButton.active {
  border: 1px solid #B3C1CD;
  border-radius: 50%;
}
.paginationButton svg path {
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #70808E;
}
.paginationButton.disabled svg path {
  stroke: #B3C1CD;
}
.paginationList {
  display: flex;
  align-items: center;
  gap: 40px;
}
.vacationsHero {
  padding: 400px 0;
}
.vacationsOffers {
  margin-bottom: 90px;
}
.vacationsOffersSlider {
  position: relative;
}
.vacationsOffersSliderArrow {
  position: absolute;
  top: 50%;
  font-size: 0;
  line-height: 0;
  outline: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  width: 46px;
  height: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: transparent;
  border: 1px solid #EEF1FB;
  transition: background-color 0.3s ease;
}
.vacationsOffersSliderArrow:hover {
  background-color: #EEF1FB;
}
.vacationsOffersSliderArrowLeft {
  left: -52px;
}
.vacationsOffersSliderArrowRight {
  right: -52px;
}
.vacationsOffersSliderScrollbar {
  width: calc(100% - 40px);
  margin-left: 20px;
  height: 4px;
  background-color: rgba(173, 204, 232, 0.35);
}
.vacationsOffersSliderScrollbar .swiper-scrollbar-drag {
  background-color: #B3C1CD;
}
.vacationsOffersSwiper {
  overflow: hidden;
  margin-bottom: 16px;
  padding: 20px;
}
.vacationsOffersLink {
  padding: 10px 36px;
  font-size: 20px;
}
.vacationsOffersTop {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
  padding: 0 20px;
}
.vacationsCatalog {
  margin-top: 60px;
  margin-bottom: 70px;
}
.vacationsCatalogTitle {
  margin-bottom: 60px;
}
.vacationsCatalogLink {
  padding: 10px 32px;
  font-size: 20px;
}
.vacationsCatalogList {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.vacationsCatalogItem {
  width: calc(33.33% - 18px);
  margin-right: 26px;
  margin-bottom: 26px;
}
.vacationsCatalogItem:nth-child(3n) {
  margin-right: 0;
}
.vacationsCatalogItemLink {
  display: block;
  border-radius: 16px;
  border: 1px solid #B3C1CD;
  transition: box-shadow 0.3s ease;
}
.vacationsCatalogItemLink:hover {
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
}
.vacationsCatalogItemImage {
  width: 100%;
  height: 541px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  overflow: hidden;
}
.vacationsCatalogItemImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vacationsCatalogItemContent {
  border-top: 1px solid #B3C1CD;
  padding: 28px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.vacationsCatalogItemTitle {
  font-size: 18px;
  color: #1A2027;
}
.vacationsCatalogItemArrow {
  margin-left: auto;
}
.vacationsCatalogShowMore {
  padding: 10px 17px;
  font-size: 20px;
  display: block;
  margin: 0 auto;
}
.travelWays {
  margin-bottom: 70px;
}
.travelWaysTitle {
  text-align: center;
  margin-bottom: 60px;
}
.travelWaysList {
  display: flex;
  flex-wrap: wrap;
}
.travelWaysItem {
  width: calc(50% - 13px);
  margin-right: 26px;
  margin-bottom: 20px;
}
.travelWaysItem:nth-child(2n) {
  margin-right: 0;
}
.travelWaysItemTitle {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 6px;
}
.travelWaysItemDesc {
  font-size: 14px;
  line-height: 28px;
  margin-bottom: 10px;
  min-height: 90px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.travelWaysItemLink {
  padding: 14px 32px;
  font-size: 18px;
  line-height: 20px;
}
.travelWaysContent {
  display: flex;
  gap: 20px;
  padding: 20px;
  box-shadow: 0 4px 20px rgba(167, 196, 231, 0.47);
  border-radius: 16px;
}
.travelWaysImage {
  width: 300px;
  height: 180px;
  border-radius: 16px;
  overflow: hidden;
}
.travelWaysImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.travelWaysBody {
  width: calc(100% - 320px);
}
@media (width <= 1500px) {
  .travelWaysImage {
    width: 200px;
  }
  .travelWaysBody {
    width: calc(100% - 220px);
  }
}
@media (width <= 1200px) {
  .travelWaysImage {
    width: 160px;
  }
  .travelWaysBody {
    width: calc(100% - 220px);
  }
}
@media (width <= 1000px) {
  .travelWaysImage {
    width: 300px;
  }
  .travelWaysBody {
    width: calc(100% - 320px);
  }
  .travelWaysItem {
    width: 100%;
    margin-right: 0;
  }
}
@media (width <= 768px) {
  .travelWays {
    margin-bottom: 56px;
  }
  .travelWaysTitle {
    margin-bottom: 30px;
  }
  .travelWaysContent {
    flex-direction: column;
    padding: 14px;
  }
  .travelWaysImage {
    width: 100%;
  }
  .travelWaysBody {
    width: 100%;
  }
  .travelWaysItem {
    width: 100%;
  }
  .travelWaysItemLink {
    display: inline-block;
    width: 100%;
    padding: 14px 0;
    text-align: center;
  }
}
.countryTemplate {
  margin: 0;
}
.countryTemplateHero {
  padding: 366px 0;
}
.countryTemplateOverview {
  margin: 60px 0;
}
.countryTemplateOverviewContent {
  display: flex;
  gap: 80px;
}
.countryTemplateOverviewInfo {
  width: calc(60% - 80px);
}
.countryTemplateOverviewInfoSubtitle {
  font-size: 20px;
  color: #6F7478;
}
.countryTemplateOverviewInfoTitle {
  margin-top: 20px;
  margin-bottom: 42px;
}
.countryTemplateOverviewInfoDesc {
  font-size: 20px;
  margin-bottom: 20px;
}
.countryTemplateOverviewInfoDescWrapper {
  max-height: 320px;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.countryTemplateOverviewInfoDescWrapper.active {
  max-height: 100%;
}
.countryTemplateOverviewInfoDesc a {
  color: #2D6EA1;
  font-weight: 500;
}
.countryTemplateOverviewTable {
  width: 40%;
  position: relative;
}
.countryTemplateOverviewTable::before {
  content: '';
  position: absolute;
  top: 52px;
  left: 0;
  width: 100%;
  height: 274px;
  pointer-events: none;
  border-radius: 50%;
  background-color: #ADCCE8;
  opacity: 40%;
  filter: blur(100px);
  z-index: -2;
}
.countryTemplateOverviewButton {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 32px;
  font-size: 18px;
  line-height: 20px;
}
.countryTemplateTableInfo {
  position: relative;
  top: 180px;
}
.countryTemplateOffers {
  margin-bottom: 90px;
}
.countryTemplateOffersSlider {
  position: relative;
}
.countryTemplateOffersSliderArrow {
  position: absolute;
  top: 50%;
  font-size: 0;
  line-height: 0;
  outline: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  width: 46px;
  height: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: transparent;
  border: 1px solid #EEF1FB;
  transition: background-color 0.3s ease;
}
.countryTemplateOffersSliderArrow:hover {
  background-color: #EEF1FB;
}
.countryTemplateOffersSliderArrowLeft {
  left: -52px;
}
.countryTemplateOffersSliderArrowRight {
  right: -52px;
}
.countryTemplateOffersSliderScrollbar {
  width: calc(100% - 40px);
  margin-left: 20px;
  height: 4px;
  background-color: rgba(173, 204, 232, 0.35);
}
.countryTemplateOffersSliderScrollbar .swiper-scrollbar-drag {
  background-color: #B3C1CD;
}
.countryTemplateOffersSwiper {
  overflow: hidden;
  margin-bottom: 16px;
  padding: 20px;
}
.countryTemplateOffersLink {
  padding: 10px 36px;
  font-size: 20px;
}
.countryTemplateOffersLinkMobile {
  display: none;
}
.countryTemplateOffersTop {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
  padding: 0 20px;
}
.countryTemplateOptions {
  margin-bottom: 90px;
}
.countryTemplateInfo {
  margin-top: 60px;
  display: flex;
  gap: 80px;
  align-items: center;
}
@media (width <= 1600px) {
  .countryTemplateInfo {
    align-items: flex-start;
  }
}
.countryTemplateInfoWrapper {
  max-height: 560px;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
@media (width <= 1600px) {
  .countryTemplateInfoWrapper {
    max-height: 300px;
  }
}
.countryTemplateInfoWrapper.active {
  max-height: 100%;
}
.countryTemplateInfoText {
  width: calc(100% - 740px);
}
.countryTemplateInfoButton {
  margin-top: 20px;
}
.countryTemplateInfoTitle {
  line-height: 46px;
  margin-bottom: 30px;
}
.countryTemplateInfoDesc {
  text-align: left;
  font-size: 20px;
  margin-bottom: 20px;
}
.countryTemplateInfoImage {
  max-width: 660px;
  width: 100%;
  height: 454px;
}
.countryTemplateInfoImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.countryTemplateTravelWaysSubtitle {
  text-align: center;
}
.countryTemplateTravelWaysTitle {
  padding: 0 500px;
}
@media (width <= 1700px) {
  .countryTemplateTravelWaysTitle {
    padding: 0 400px;
  }
}
@media (width <= 1500px) {
  .countryTemplateTravelWaysTitle {
    padding: 0 300px;
  }
}
@media (width <= 1200px) {
  .countryTemplateTravelWaysTitle {
    padding: 0 100px;
  }
}
.countryTemplateTravelWaysButton {
  text-align: center;
  margin-top: 40px;
}
.countryTemplateTravelWaysLink {
  padding: 14px 32px;
  font-size: 18px;
}
.countryTemplateImages {
  margin-bottom: 90px;
}
@media (width <= 1300px) {
  .countryTemplateOffersSliderArrowLeft {
    left: -32px;
  }
  .countryTemplateOffersSliderArrowRight {
    right: -32px;
  }
  .countryTemplateInfo {
    gap: 60px;
  }
  .countryTemplateInfoWrapper {
    max-height: 30px;
  }
  .countryTemplateInfoText {
    width: calc(100% - 560px);
  }
  .countryTemplateInfoImage {
    max-width: 500px;
  }
}
@media (width <= 1200px) {
  .countryTemplateOverviewContent {
    flex-direction: column;
    gap: 60px;
  }
  .countryTemplateOverviewInfo {
    width: 100%;
  }
  .countryTemplateOverviewInfoTitle {
    margin-bottom: 20px;
  }
  .countryTemplateOverviewInfoDesc {
    font-size: 16px;
  }
  .countryTemplateOverviewInfoDescWraper {
    max-height: 300px;
  }
  .countryTemplateOverviewButton {
    margin-top: 0;
  }
  .countryTemplateOverviewTable {
    width: 100%;
  }
  .countryTemplateOverviewTable::before {
    top: -40px;
  }
  .countryTemplateTableInfo {
    top: 0;
  }
  .countryTemplateOffersSliderArrowLeft {
    left: -30px;
  }
  .countryTemplateOffersSliderArrowRight {
    right: -30px;
  }
}
@media (width <= 1000px) {
  .countryTemplateHero {
    padding-top: 477px;
    padding-bottom: 477px;
  }
  .countryTemplateOffers {
    margin-bottom: 60px;
  }
  .countryTemplateOffersSliderArrowLeft {
    left: calc(50% - 32px);
    transform: translateX(-50%);
    bottom: -86px;
    top: unset;
  }
  .countryTemplateOffersSliderArrowRight {
    left: calc(50% + 32px);
    transform: translateX(-50%);
    bottom: -86px;
    top: unset;
  }
  .countryTemplateOffersSliderScrollbar {
    width: 100%;
    margin-left: 0;
    margin-bottom: 80px;
  }
  .countryTemplateOffersSwiper {
    margin-bottom: 20px;
    padding: 0;
  }
  .countryTemplateOffersLink {
    display: none;
  }
  .countryTemplateOffersLinkMobile {
    display: block;
    padding: 16px 120px;
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
  }
  .countryTemplateOffersTop {
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    padding: 0;
  }
  .countryTemplateOptions .infoBlockImage img {
    max-height: 516px;
  }
  .countryTemplateInfo {
    gap: 22px;
    flex-direction: column;
  }
  .countryTemplateInfoText {
    width: 100%;
  }
  .countryTemplateInfoTitle {
    margin-bottom: 20px;
  }
  .countryTemplateInfoDesc {
    font-size: 16px;
  }
  .countryTemplateInfoDesc:last-child {
    margin-bottom: 0;
  }
  .countryTemplateInfoImage {
    max-width: 100%;
    height: 408px;
  }
  .countryTemplateTravelWaysTitle {
    padding: 0;
  }
  .countryTemplateTravelWaysButton {
    margin-top: 30px;
  }
  .countryTemplateTravelWaysLink {
    padding: 16px 60px;
  }
  .countryTemplateImages {
    margin-bottom: 60px;
  }
}
@media (width <= 768px) {
  .countryTemplateHero {
    padding-top: 330px;
    padding-bottom: 330px;
  }
  .countryTemplateOverview {
    margin: 30px 0;
  }
  .countryTemplateOverviewContent {
    gap: 30px;
  }
  .countryTemplateOverviewInfoTitle {
    margin-bottom: 16px;
    margin-top: 16px;
    font-size: 22px;
  }
  .countryTemplateOverviewInfoSubtitle {
    font-size: 16px;
  }
  .countryTemplateOverviewInfoDesc {
    font-size: 14px;
    line-height: 26px;
  }
  .countryTemplateOverviewInfoDescWraper {
    max-height: 490px;
  }
  .countryTemplateOffers {
    margin-bottom: 30px;
  }
  .countryTemplateOffersLinkMobile {
    display: block;
    padding: 16px 0;
    text-align: center;
    width: 100%;
    margin: 0;
  }
  .countryTemplateOptions .infoBlockImage img {
    max-height: 100%;
    height: 330px;
  }
  .countryTemplateOptions .infoBlockSubtitle,
  .countryTemplateOptions .infoBlockTitle {
    text-align: left;
  }
  .countryTemplateOptions .infoBlockDesc {
    text-align: left;
  }
  .countryTemplateInfo {
    gap: 16px;
  }
  .countryTemplateInfoText {
    width: 100%;
  }
  .countryTemplateInfoTitle {
    margin-bottom: 16px;
    font-size: 22px;
    line-height: 30px;
    text-align: left;
  }
  .countryTemplateInfoDesc {
    font-size: 14px;
    line-height: 26px;
  }
  .countryTemplateInfoImage {
    height: 184px;
  }
  .countryTemplateTravelWaysButton {
    margin-top: 34px;
  }
  .countryTemplateTravelWaysLink {
    padding: 16px 0;
    width: 100%;
    display: inline-block;
  }
  .countryTemplateImages {
    margin-bottom: 40px;
  }
}
.grid4Images {
  display: grid;
  grid-template-columns: 660px 1fr 1fr;
  grid-template-rows: 528px 490px;
  gap: 20px;
}
.grid4ImagesItem {
  position: relative;
}
.grid4ImagesItem1 {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}
.grid4ImagesItem2 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
.grid4ImagesItem3 {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
}
.grid4ImagesItem4 {
  grid-column: 2 / 4;
  grid-row: 2 / 3;
}
.grid4ImagesItemText {
  font-size: 14px;
  line-height: 28px;
  color: #1A2027;
}
.grid4ImagesLocation {
  position: absolute;
  right: 16px;
  bottom: 16px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 25px;
  padding: 4px 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}
.grid4ImagesImage {
  width: 100%;
  height: 100%;
}
.grid4ImagesImage img {
  border-radius: 16px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (width <= 1000px) {
  .grid4Images {
    grid-template-columns: 230px 1fr 1fr;
    grid-template-rows: 243px 187px;
  }
}
@media (width <= 768px) {
  .grid4Images {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 172px 176px 172px;
    gap: 14px;
  }
  .grid4ImagesItem {
    position: relative;
  }
  .grid4ImagesItem1 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }
  .grid4ImagesItem2 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .grid4ImagesItem3 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }
  .grid4ImagesItem4 {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
  }
  .grid4ImagesItemText {
    font-size: 12px;
    line-height: 20px;
  }
  .grid4ImagesLocation {
    right: 8px;
    bottom: 10px;
    border-radius: 25px;
    padding: 3px 11px;
  }
}
.tableInfo {
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  border: 1px solid #B3C1CD;
}
.tableInfoItem {
  padding: 16px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 20px;
  position: relative;
}
.tableInfoItem::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 40px;
  width: calc(100% - 80px);
  height: 1px;
  background-color: #B3C1CD;
}
.tableInfoItem:last-child::before {
  display: none;
}
.tableInfoItemHeader {
  font-weight: 500;
  box-shadow: 0 0 10px 1px rgba(90, 161, 216, 0.25);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}
.tableInfoItemHeader::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #B3C1CD;
}
@media (width <= 768px) {
  .tableInfoItem {
    padding: 12px 10px;
    font-size: 14px;
  }
  .tableInfoItem::before {
    left: 0;
    width: 100%;
  }
}
.vacationTemplate {
  margin: 0;
}
.vacationTemplateHero {
  padding: 400px 0;
}
.vacationTemplateInfo {
  margin-top: 60px;
  display: flex;
  gap: 80px;
  align-items: flex-start;
}
.vacationTemplateInfoText {
  width: calc(100% - 740px);
}
.vacationTemplateInfoTitle {
  line-height: 46px;
  margin-bottom: 42px;
}
.vacationTemplateInfoDesc {
  text-align: left;
  font-size: 20px;
}
.vacationTemplateInfoDesc a {
  font-weight: 500;
  color: #2D6EA1;
}
.vacationTemplateInfoImage {
  max-width: 660px;
  width: 100%;
  height: 454px;
}
.vacationTemplateInfoImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.vacationTemplateForm .vacationForm {
  width: calc(80% - 20px);
}
.vacationTemplateForm .sortForm {
  width: 20%;
}
.vacationTemplateFiltersContent {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.vacationTemplateFiltersResults {
  font-size: 20px;
}
.vacationTemplateFiltersResultsCount {
  font-weight: 500;
}
.vacationTemplateOffers .offerDuration {
  text-transform: uppercase;
}
.vacationTemplateFood {
  margin: 0;
}
.vacationTemplateFoodHero {
  padding: 400px 0;
}
.vacationTemplateFoodInfo {
  margin-top: 60px;
  display: flex;
  gap: 80px;
  align-items: flex-start;
}
.vacationTemplateFoodInfoText {
  width: calc(100% - 740px);
}
.vacationTemplateFoodInfoTitle {
  line-height: 46px;
  margin-bottom: 42px;
}
.vacationTemplateFoodInfoDesc {
  text-align: left;
  font-size: 20px;
}
.vacationTemplateFoodInfoDesc a {
  font-weight: 500;
  color: #2D6EA1;
}
.vacationTemplateFoodInfoImage {
  max-width: 660px;
  width: 100%;
  height: 454px;
}
.vacationTemplateFoodInfoImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.vacationTemplateFoodForm .vacationForm {
  width: calc(80% - 20px);
}
.vacationTemplateFoodForm .sortForm {
  width: 20%;
}
.vacationTemplateFoodFiltersContent {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.vacationTemplateFoodFiltersResults {
  font-size: 20px;
}
.vacationTemplateFoodFiltersResultsCount {
  font-weight: 500;
}
.vacationTemplateFoodOffers .offerDuration {
  text-transform: uppercase;
}
.transport {
  margin: 0;
}
.transportHero {
  padding: 400px 0;
}
.transportInfo {
  margin-top: 60px;
  display: flex;
  gap: 80px;
  align-items: center;
}
.transportInfoText {
  width: calc(100% - 740px);
}
.transportInfoTitle {
  line-height: 46px;
  margin-bottom: 42px;
}
.transportInfoDesc {
  text-align: left;
  font-size: 20px;
}
.transportInfoDesc a {
  font-weight: 500;
  color: #2D6EA1;
}
.transportInfoImage {
  max-width: 660px;
  width: 100%;
  height: 454px;
}
.transportInfoImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.transportInfoButton {
  display: inline-block;
  margin-top: 42px;
}
.transportContent .grid4Images {
  margin: 90px 0;
}
.offersTemplate {
  margin: 0;
}
.offersTemplateHero {
  padding: 386px 0;
}
.offersTemplateContent {
  margin: 85px 0;
}
.offersTemplateText {
  font-size: 20px;
  text-align: center;
  position: relative;
}
.offersTemplateText::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 100%;
  height: 150px;
  border-radius: 50%;
  background-color: #ADCCE8;
  opacity: 40%;
  filter: blur(100px);
  z-index: -2;
}
.offersTemplateFiltersContent {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.offersTemplateFiltersResults {
  font-size: 20px;
}
.offersTemplateFiltersResultsCount {
  font-weight: 500;
}
.offersTemplateForm .vacationForm {
  margin: 60px 0 50px 0;
}
.offersTemplate .sortForm {
  margin-left: auto;
  margin-right: 25px;
}
.offersTemplate .sortFormHeader {
  padding: 17px 60px;
  width: auto;
  box-shadow: none;
  border: 1px solid #B3C1CD;
}
.offersTemplate .sortFormHeader.active {
  border-radius: 16px;
}
.offersTemplate .sortFormTitle {
  font-size: 16px;
  line-height: 26px;
}
.offersTemplate .sortFormBody {
  margin-top: 8px;
  border-radius: 16px;
}
.offerTemplate {
  margin: 0;
}
.offerTemplateHero {
  padding-top: 420px;
  padding-bottom: 286px;
}
.offerTemplateContent {
  margin-top: 60px;
  margin-bottom: 40px;
}
.offerTemplateAttributes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 40px;
  margin-top: 36px;
}
.offerTemplateAttributesItem {
  padding: 8px 12px;
  border-radius: 40px;
  background-color: #DEEFFD;
  color: #1A2027;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.offerTemplateAttributesItem:hover {
  background-color: #5BA2D9;
  color: #ffffff;
}
.offerTemplateOverview {
  display: flex;
  gap: 20px;
}
.offerTemplateOverviewSubtitle {
  font-size: 20px;
  color: #6F7478;
}
.offerTemplateOverviewTitle {
  margin-top: 20px;
}
.offerTemplateOverviewInfo {
  width: calc(100% - 680px);
}
.offerTemplateOverviewInfoDesc {
  font-size: 20px;
  margin-bottom: 14px;
}
.offerTemplateOverviewInfoDesc:first-child {
  font-weight: 500;
}
.offerTemplateOverviewInfoDescWrapper {
  max-height: 400px;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.offerTemplateOverviewInfoDescWrapper.active {
  max-height: 100%;
}
.offerTemplateOverviewInfoDesc a {
  color: #2D6EA1;
  font-weight: 500;
}
.offerTemplateOverviewMap {
  width: 660px;
  border-radius: 16px;
  overflow: hidden;
}
.offerTemplateOverviewButton {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 32px;
  font-size: 18px;
  line-height: 20px;
}
.offerTemplatePlan {
  margin-bottom: 90px;
}
.offerTemplatePlanHeader {
  padding: 48px;
  background-color: #F6F9FD;
  border-radius: 16px;
  text-align: center;
  margin-bottom: 34px;
}
.offerTemplatePlanHeaderTitle {
  margin-bottom: 22px;
}
.offerTemplatePlanHeaderItinerary {
  font-size: 20px;
  color: #739AB8;
  font-weight: 500;
}
.offerTemplatePlanHeaderButtons {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.offerTemplatePlanHeaderButton {
  font-size: 18px;
  line-height: 20px;
  padding: 14px 32px;
}
.offerTemplatePlanList {
  list-style: none;
  counter-reset: list-counter;
  position: relative;
  --before-height: calc(100% - 60px);
}
.offerTemplatePlanList::before {
  content: '';
  position: absolute;
  left: 37px;
  top: 25px;
  width: 1px;
  height: var(--before-height);
  background: repeating-linear-gradient(to bottom, #B3C1CD, #B3C1CD 7px, transparent 10px, transparent 20px);
  z-index: -1;
}
.offerTemplateTabsList {
  display: flex;
  align-items: center;
  gap: 32px;
}
.offerTemplateTabsItem {
  padding: 10px;
  font-size: 20px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border: 1px solid #B3C1CD;
  background-color: #ffffff;
  color: #1A2027;
  cursor: pointer;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.offerTemplateTabsItem.active {
  background-color: #F6F9FD;
  color: #739AB8;
  font-weight: 500;
  border-bottom: none;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  position: relative;
  z-index: 2;
}
.offerTemplateTabsContent {
  margin-top: -1px;
  position: relative;
}
.offerTemplateTabsContentItem {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background-color: #F6F9FD;
  border-radius: 16px;
  border-top-left-radius: 0;
  border: 1px solid #B3C1CD;
  transition: opacity 0.3s ease;
}
.offerTemplateTabsContentItem.active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  position: relative;
}
.offerTemplateTabsContentItemTitle {
  margin-bottom: 32px;
}
.offerTemplateTabsContentItemDescription {
  margin-bottom: 14px;
}
.offerTemplateTabsContentItemDescriptionSpecial {
  color: #2D6EA1;
}
.offerTemplateTabsContentItemItem {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}
.offerTemplateTabsContentFlex {
  display: flex;
  gap: 20px;
}
.offerTemplateTabsContentText {
  padding: 40px;
  padding-right: 0;
}
.offerTemplateTabsContentImage {
  max-width: 660px;
  width: 100%;
  height: auto;
  border-bottom-right-radius: 16px;
  border-top-right-radius: 16px;
  overflow: hidden;
}
.offerTemplateTabsContentImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.offerPlan {
  counter-increment: list-counter;
  position: relative;
  padding: 40px 45px;
  margin-left: 110px;
  border-bottom: 1px solid #B3C1CD;
  cursor: pointer;
}
.offerPlan::before {
  content: counter(list-counter);
  position: absolute;
  left: -110px;
  top: 24px;
  font-weight: 400;
  font-size: 20px;
  width: 72px;
  height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 1px solid #B3C1CD;
  background-color: #ffffff;
  z-index: 1;
  opacity: 1;
  transition: opacity 0.1s ease;
}
.offerPlan::after {
  content: counter(list-counter);
  position: absolute;
  left: -110px;
  top: 24px;
  font-weight: 400;
  font-size: 20px;
  width: 72px;
  height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: linear-gradient(-180deg, #2D6EA1 22%, #DEEFFD 100%);
  color: #ffffff;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.1s ease;
}
.offerPlan.active::before {
  opacity: 0;
}
.offerPlan.active::after {
  opacity: 1;
}
.offerPlan.active .offerPlanTitle {
  font-weight: 500;
  padding-bottom: 28px;
}
.offerPlan.active .offerPlanArrow {
  transform: rotate(180deg);
}
.offerPlanTitle {
  font-size: 20px;
  font-weight: 400;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: padding-bottom 0.8s ease;
}
.offerPlanBody {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.8s ease, border-top 0.8s ease;
}
.offerPlanBody.active {
  max-height: 800px;
  border-top: 1px solid #B3C1CD;
  cursor: default;
}
.offerPlanBodyItem {
  padding: 28px 0;
  border-bottom: 1px solid #B3C1CD;
}
.offerPlanBodyItem:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.offerPlanTop {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.offerPlanTop span {
  font-size: 14px;
  line-height: normal;
  color: #B3C1CD;
}
.offerPlanName {
  font-size: 16px;
  margin-bottom: 10px;
}
.offerPlanNameSpecial {
  color: #2D6EA1;
  margin-bottom: 10px;
}
.offerPlanDescription {
  font-size: 14px;
}
.offerPlanContent {
  display: flex;
  justify-content: space-between;
  gap: 50px;
}
.offerPlanContentLeft {
  width: calc(100% - 450px);
}
.offerPlanContentRight {
  width: 300px;
  text-align: right;
}
.offerPlanContentRight .offerPlanTop {
  justify-content: flex-end;
  margin-bottom: 14px;
}
.offerPlanContentRight .offerPlanTop span {
  font-size: 16px;
  line-height: 32px;
  color: #1A2027;
}
.offerPlanButtonMap {
  font-size: 14px;
  color: #B3C1CD;
  padding: 6px 10px;
  border-radius: 40px;
  font-weight: 400;
  line-height: normal;
  border: 1px solid #B3C1CD;
}
.offerPlanImage {
  border-radius: 8px;
  margin-top: 43px;
  max-width: 288px;
  max-height: 224px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.offerPlanArrow {
  transform: rotate(0);
  transition: transform 0.3s ease;
}
.cityTemplate {
  margin: 0;
}
.cityTemplateHero {
  padding: 366px 0;
}
.cityTemplateOverview {
  margin: 60px 0;
}
.cityTemplateOverviewContent {
  display: flex;
  gap: 80px;
}
.cityTemplateOverviewInfo {
  width: calc(60% - 80px);
}
.cityTemplateOverviewInfoSubtitle {
  font-size: 20px;
  color: #6F7478;
}
.cityTemplateOverviewInfoTitle {
  margin-top: 20px;
  margin-bottom: 42px;
}
.cityTemplateOverviewInfoDesc {
  font-size: 20px;
  margin-bottom: 20px;
}
.cityTemplateOverviewInfoDescWrapper {
  max-height: 195px;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.cityTemplateOverviewInfoDescWrapper.active {
  max-height: 100%;
}
.cityTemplateOverviewInfoDesc a {
  color: #2D6EA1;
  font-weight: 500;
}
.cityTemplateOverviewTable {
  width: 40%;
  position: relative;
}
.cityTemplateOverviewTable::before {
  content: '';
  position: absolute;
  top: 52px;
  left: 0;
  width: 100%;
  height: 274px;
  pointer-events: none;
  border-radius: 50%;
  background-color: #ADCCE8;
  opacity: 40%;
  filter: blur(100px);
  z-index: -2;
}
.cityTemplateOverviewButton {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 32px;
  font-size: 18px;
  line-height: 20px;
}
.cityTemplateTableInfo {
  position: relative;
  top: 180px;
}
.cityTemplateOffers {
  margin-bottom: 90px;
}
.cityTemplateOffersSlider {
  position: relative;
}
.cityTemplateOffersSliderArrow {
  position: absolute;
  top: 50%;
  font-size: 0;
  line-height: 0;
  outline: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  width: 46px;
  height: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: transparent;
  border: 1px solid #EEF1FB;
  transition: background-color 0.3s ease;
}
.cityTemplateOffersSliderArrow:hover {
  background-color: #EEF1FB;
}
.cityTemplateOffersSliderArrowLeft {
  left: -52px;
}
.cityTemplateOffersSliderArrowRight {
  right: -52px;
}
.cityTemplateOffersSliderScrollbar {
  width: calc(100% - 40px);
  margin-left: 20px;
  height: 4px;
  background-color: rgba(173, 204, 232, 0.35);
}
.cityTemplateOffersSliderScrollbar .swiper-scrollbar-drag {
  background-color: #B3C1CD;
}
.cityTemplateOffersSwiper {
  overflow: hidden;
  margin-bottom: 16px;
  padding: 20px;
}
.cityTemplateOffersLink {
  padding: 10px 36px;
  font-size: 20px;
}
.cityTemplateOffersLinkMobile {
  display: none;
}
.cityTemplateOffersTop {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
  padding: 0 20px;
}
.cityTemplateOptions {
  margin-bottom: 90px;
}
.cityTemplateInfo {
  margin-top: 60px;
  display: flex;
  gap: 80px;
  align-items: flex-start;
}
.cityTemplateInfoText {
  width: calc(100% - 740px);
}
.cityTemplateInfoTitle {
  line-height: 46px;
  margin-bottom: 30px;
}
.cityTemplateInfoDesc {
  text-align: left;
  font-size: 20px;
  margin-bottom: 20px;
}
.cityTemplateInfoImage {
  max-width: 660px;
  width: 100%;
  height: 454px;
}
.cityTemplateInfoImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.cityTemplateImages {
  margin-bottom: 90px;
}
@media (width <= 1000px) {
  .cityTemplateHero {
    padding-top: 548px;
    padding-bottom: 406px;
  }
  .cityTemplateOverviewContent {
    flex-direction: column;
    gap: 60px;
  }
  .cityTemplateOverviewInfo {
    width: 100%;
  }
  .cityTemplateOverviewInfoTitle {
    margin-bottom: 20px;
  }
  .cityTemplateOverviewInfoDesc {
    font-size: 16px;
  }
  .cityTemplateOverviewTable {
    width: 100%;
  }
  .cityTemplateOverviewTable::before {
    top: -40px;
  }
  .cityTemplateTableInfo {
    top: 0;
  }
  .cityTemplateOffers {
    margin-bottom: 60px;
  }
  .cityTemplateOffersSliderArrowLeft {
    left: calc(50% - 32px);
    transform: translateX(-50%);
    bottom: -86px;
    top: unset;
  }
  .cityTemplateOffersSliderArrowRight {
    left: calc(50% + 32px);
    transform: translateX(-50%);
    bottom: -86px;
    top: unset;
  }
  .cityTemplateOffersSliderScrollbar {
    width: 100%;
    margin-left: 0;
    margin-bottom: 80px;
  }
  .cityTemplateOffersSwiper {
    margin-bottom: 20px;
    padding: 0;
  }
  .cityTemplateOffersLink {
    display: none;
  }
  .cityTemplateOffersLinkMobile {
    display: block;
    padding: 16px 120px;
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
  }
  .cityTemplateOffersTop {
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    padding: 0;
  }
  .cityTemplateOptions .infoBlockImage img {
    max-height: 516px;
  }
  .cityTemplateInfo {
    gap: 22px;
    flex-direction: column;
  }
  .cityTemplateInfoText {
    width: 100%;
  }
  .cityTemplateInfoTitle {
    margin-bottom: 20px;
  }
  .cityTemplateInfoDesc {
    font-size: 16px;
  }
  .cityTemplateInfoImage {
    max-width: 100%;
    height: 408px;
  }
  .cityTemplateTravelWaysTitle {
    padding: 0;
  }
  .cityTemplateTravelWaysButton {
    margin-top: 30px;
  }
  .cityTemplateTravelWaysLink {
    padding: 16px 60pxpx;
  }
  .cityTemplateImages {
    margin-bottom: 60px;
  }
}
.toursCountryTemplate {
  margin: 0;
}
.toursCountryTemplateHero {
  padding: 366px 0;
}
.toursCountryTemplateContent {
  margin-bottom: 30px;
}
.toursCountryTemplateContentHeader {
  padding: 35px 0;
  margin-top: 60px;
}
.toursCountryTemplateContentHeader::before {
  height: 146px;
}
.toursCountryTemplateContentInfo {
  display: flex;
  gap: 20px;
}
.toursCountryTemplateContentInfoList {
  width: 320px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 16px;
  background-color: #ffffff;
  border: 1px solid #B3C1CD;
}
.toursCountryTemplateContentInfoListTitle {
  display: block;
  width: 100%;
  padding: 16px;
  font-weight: 500;
  border-bottom: 1px solid #B3C1CD;
  box-sizing: border-box;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  background-color: #ffffff;
  box-shadow: 0 0 10px 1px rgba(167, 196, 231, 0.47);
}
.toursCountryTemplateContentInfoButton {
  width: calc(100% - 16px);
  padding: 16px 0;
  text-align: left;
  margin-left: 16px;
  border-bottom: 1px solid #B3C1CD;
  font-weight: 400;
}
.toursCountryTemplateContentInfoButton:last-child {
  border-bottom: none;
}
.toursCountryTemplateContentMap {
  width: calc(100% - 340px);
  border-radius: 16px;
  overflow: hidden;
}
.toursCountryTemplateContentMap iframe {
  width: 100%;
  height: 100%;
}
.toursCountryTemplateOffers {
  margin-bottom: 90px;
}
.toursCountryTemplateOffersSlider {
  position: relative;
}
.toursCountryTemplateOffersSliderArrow {
  position: absolute;
  top: 50%;
  font-size: 0;
  line-height: 0;
  outline: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  width: 46px;
  height: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: transparent;
  border: 1px solid #EEF1FB;
  transition: background-color 0.3s ease;
}
.toursCountryTemplateOffersSliderArrow:hover {
  background-color: #EEF1FB;
}
.toursCountryTemplateOffersSliderArrowLeft {
  left: -52px;
}
.toursCountryTemplateOffersSliderArrowRight {
  right: -52px;
}
.toursCountryTemplateOffersSliderScrollbar {
  width: calc(100% - 40px);
  margin-left: 20px;
  height: 4px;
  background-color: rgba(173, 204, 232, 0.35);
}
.toursCountryTemplateOffersSliderScrollbar .swiper-scrollbar-drag {
  background-color: #B3C1CD;
}
.toursCountryTemplateOffersSwiper {
  overflow: hidden;
  margin-bottom: 16px;
  padding: 20px;
}
.toursCountryTemplateOffersLink {
  padding: 10px 36px;
  font-size: 20px;
}
.toursCountryTemplateOffersLinkMobile {
  display: none;
}
.toursCountryTemplateOffersTop {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
  padding: 0 20px;
}
.toursCountryTemplateOptions {
  margin-bottom: 90px;
}
.toursCountryTemplateInfo {
  margin-top: 60px;
  display: flex;
  gap: 80px;
  align-items: flex-start;
}
.toursCountryTemplateInfoText {
  width: calc(100% - 740px);
}
.toursCountryTemplateInfoTitle {
  line-height: 46px;
  margin-bottom: 30px;
}
.toursCountryTemplateInfoDesc {
  text-align: left;
  font-size: 20px;
  margin-bottom: 20px;
}
.toursCountryTemplateInfoImage {
  max-width: 660px;
  width: 100%;
  height: 454px;
}
.toursCountryTemplateInfoImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.toursCountryTemplateFiltersForm {
  margin-bottom: 30px;
}
.toursCountryTemplateFiltersFormName {
  font-size: 20px;
}
.toursCountryTemplateFiltersButton {
  font-size: 20px;
  font-weight: 400;
  margin-left: 60px;
}
.toursCountryTemplateFiltersButton.active {
  color: #2D6EA1;
  font-weight: 500;
}
@media (width <= 1000px) {
  .toursCountryTemplateHero {
    padding-top: 548px;
    padding-bottom: 406px;
  }
  .toursCountryTemplateOverviewContent {
    flex-direction: column;
    gap: 60px;
  }
  .toursCountryTemplateOverviewInfo {
    width: 100%;
  }
  .toursCountryTemplateOverviewInfoTitle {
    margin-bottom: 20px;
  }
  .toursCountryTemplateOverviewInfoDesc {
    font-size: 16px;
  }
  .toursCountryTemplateOverviewTable {
    width: 100%;
  }
  .toursCountryTemplateOverviewTable::before {
    top: -40px;
  }
  .toursCountryTemplateTableInfo {
    top: 0;
  }
  .toursCountryTemplateOffers {
    margin-bottom: 60px;
  }
  .toursCountryTemplateOffersSliderArrowLeft {
    left: calc(50% - 32px);
    transform: translateX(-50%);
    bottom: -86px;
    top: unset;
  }
  .toursCountryTemplateOffersSliderArrowRight {
    left: calc(50% + 32px);
    transform: translateX(-50%);
    bottom: -86px;
    top: unset;
  }
  .toursCountryTemplateOffersSliderScrollbar {
    width: 100%;
    margin-left: 0;
    margin-bottom: 80px;
  }
  .toursCountryTemplateOffersSwiper {
    margin-bottom: 20px;
    padding: 0;
  }
  .toursCountryTemplateOffersLink {
    display: none;
  }
  .toursCountryTemplateOffersLinkMobile {
    display: block;
    padding: 16px 120px;
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
  }
  .toursCountryTemplateOffersTop {
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    padding: 0;
  }
  .toursCountryTemplateOptions .infoBlockImage img {
    max-height: 516px;
  }
  .toursCountryTemplateInfo {
    gap: 22px;
    flex-direction: column;
  }
  .toursCountryTemplateInfoText {
    width: 100%;
  }
  .toursCountryTemplateInfoTitle {
    margin-bottom: 20px;
  }
  .toursCountryTemplateInfoDesc {
    font-size: 16px;
  }
  .toursCountryTemplateInfoImage {
    max-width: 100%;
    height: 408px;
  }
  .toursCountryTemplateTravelWaysTitle {
    padding: 0;
  }
  .toursCountryTemplateTravelWaysButton {
    margin-top: 30px;
  }
  .toursCountryTemplateTravelWaysLink {
    padding: 16px 60pxpx;
  }
  .toursCountryTemplateImages {
    margin-bottom: 60px;
  }
}
.transportOfferTemplate {
  margin: 0;
}
.transportOfferTemplateContent {
  margin-top: 60px;
  margin-bottom: 40px;
}
.transportOfferTemplateAttributes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 100px;
  align-items: center;
  margin: 102px 0;
  position: relative;
}
.transportOfferTemplateAttributes::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 100%;
  height: 322px;
  border-radius: 50%;
  background-color: #ADCCE8;
  opacity: 40%;
  filter: blur(100px);
  z-index: -2;
}
.transportOfferTemplateAttributesItem {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.transportOfferTemplateAttributesIcon {
  width: 120px;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 4px 35px 0 rgba(173, 204, 232, 0.4);
  margin-bottom: 26px;
}
.transportOfferTemplateAttributesSep {
  width: 48px;
  height: 1px;
  background-color: #B3C1CD;
}
.transportOfferTemplateOverview {
  display: flex;
  gap: 70px;
  margin-bottom: 60px;
}
.transportOfferTemplateOverviewMap {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
}
.transportOfferTemplateOverviewImage {
  width: 660px;
  border-radius: 16px;
  overflow: hidden;
}
.transportOfferTemplateOverviewImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.transportOfferTemplateOverviewInfo {
  width: calc(100% - 730px);
  text-align: center;
}
.transportOfferTemplateOverviewDesc {
  font-size: 20px;
}
.transportOfferTemplateOverviewDesc:not(:last-child) {
  margin-bottom: 18px;
}
.transportOfferTemplatePlan {
  margin-bottom: 90px;
}
.transportOfferTemplatePlanHeader {
  padding: 48px;
  background-color: #F6F9FD;
  border-radius: 16px;
  text-align: center;
  margin-bottom: 34px;
}
.transportOfferTemplatePlanHeaderTitle {
  margin-bottom: 22px;
}
.transportOfferTemplatePlanHeaderItinerary {
  font-size: 20px;
  color: #739AB8;
  font-weight: 500;
}
.transportOfferTemplatePlanHeaderButtons {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.transportOfferTemplatePlanHeaderButton {
  font-size: 18px;
  line-height: 20px;
  padding: 14px 32px;
}
.transportOfferTemplatePlanList {
  list-style: none;
  counter-reset: list-counter;
  position: relative;
  --before-height: calc(100% - 60px);
}
.transportOfferTemplatePlanList::before {
  content: '';
  position: absolute;
  left: 37px;
  top: 25px;
  width: 1px;
  height: var(--before-height);
  background: repeating-linear-gradient(to bottom, #B3C1CD, #B3C1CD 7px, transparent 10px, transparent 20px);
  z-index: -1;
}
.transportOfferTemplateTabsList {
  display: flex;
  align-items: center;
  gap: 32px;
}
.transportOfferTemplateTabsItem {
  padding: 10px;
  font-size: 20px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border: 1px solid #B3C1CD;
  background-color: #ffffff;
  color: #1A2027;
  cursor: pointer;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.transportOfferTemplateTabsItem.active {
  background-color: #F6F9FD;
  color: #739AB8;
  font-weight: 500;
  border-bottom: none;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  position: relative;
  z-index: 2;
}
.transportOfferTemplateTabsContent {
  margin-top: -1px;
  position: relative;
}
.transportOfferTemplateTabsContentItem {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background-color: #F6F9FD;
  border-radius: 16px;
  border-top-left-radius: 0;
  border: 1px solid #B3C1CD;
  transition: opacity 0.3s ease;
}
.transportOfferTemplateTabsContentItem.active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  position: relative;
}
.transportOfferTemplateTabsContentItemTitle {
  margin-bottom: 32px;
}
.transportOfferTemplateTabsContentItemDescription {
  margin-bottom: 14px;
}
.transportOfferTemplateTabsContentItemDescriptionSpecial {
  color: #2D6EA1;
}
.transportOfferTemplateTabsContentItemItem {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}
.transportOfferTemplateTabsContentFlex {
  display: flex;
  gap: 20px;
}
.transportOfferTemplateTabsContentText {
  padding: 40px;
  padding-right: 0;
}
.transportOfferTemplateTabsContentImage {
  max-width: 660px;
  width: 100%;
  height: auto;
  border-bottom-right-radius: 16px;
  border-top-right-radius: 16px;
  overflow: hidden;
}
.transportOfferTemplateTabsContentImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.crmForm {
  width: 526px;
  background-color: #ffffff;
  border-radius: 16px;
  padding: 36px;
}
.crmFormTop {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}
.crmFormTopPhone {
  margin-left: auto;
  display: flex;
  gap: 13px;
  align-items: center;
  color: #1A2027;
  font-weight: 500;
  font-size: 16px;
  line-height: 28px;
}
.crmFormTopHeader {
  text-align: left;
}
.crmFormHeaderImage {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  overflow: hidden;
}
.crmFormSubtitle {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 16px;
  line-height: 28px;
  color: #739AB8;
}
.crmFormTitle {
  font-family: "Philosopher", "Arial", sans-serif;
  font-size: 24px;
  line-height: 36px;
}
.crmFormText {
  font-size: 16px;
  line-height: 26px;
  color: #70808E;
  margin-bottom: 22px;
}
.crmFormForm {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.crmFormFormItem {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 6px 20px;
  border-radius: 12px;
  border: 1px solid #B3C1CD;
  position: relative;
}
.crmFormFormItemCity,
.crmFormFormItemPassengers {
  width: calc(50% - 6px);
}
.crmFormFormItemDial {
  display: flex;
  align-self: center;
  gap: 10px;
  width: 100%;
}
.crmFormFormItem.active .crmFormSelectHeaderArrow {
  transform: rotate(180deg);
}
.crmFormFormLabel {
  font-size: 12px;
  line-height: 18px;
  color: #6F7478;
}
.crmFormFormInput {
  line-height: 26px;
  font-size: 14px;
}
.crmFormFormInput::placeholder {
  line-height: 26px;
  font-size: 14px;
}
.crmFormFormSubmit {
  width: 100%;
  padding: 12px;
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
  border-radius: 12px;
  margin-top: 8px;
}
.crmFormFormSubmit::before {
  border-radius: 12px;
}
.crmFormFormSubmit::after {
  border-radius: 12px;
}
.crmFormSelectHeader {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.crmFormSelectHeaderText {
  font-size: 14px;
  line-height: 26px;
  font-weight: 500;
}
.crmFormSelectHeaderArrow {
  display: flex;
  transform: rotate(0);
  transition: transform 0.3s ease;
}
.crmFormSelectBody {
  position: absolute;
  margin-top: 12px;
  top: 100%;
  left: -1px;
  width: calc(100% + 2px);
  max-height: 207px;
  overflow: auto;
  opacity: 0;
  z-index: 5;
  visibility: hidden;
  transition: opacity 0.3s ease;
  pointer-events: none;
  background-color: #ffffff;
  border-radius: 12px;
}
.crmFormSelectBody.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  box-shadow: 0px 4px 16px rgba(40, 57, 66, 0.14);
}
.crmFormSelectBodyList {
  padding: 12px;
}
.crmFormSelectBodyPassengers {
  width: 300px;
  right: -1px;
  left: unset;
  max-height: 215px;
}
.crmFormSelectBodyButton {
  font-weight: 400;
  width: 100%;
  border-radius: 16px;
  background-color: #ffffff;
  transition: background-color 0.3s ease;
}
.crmFormSelectBodyButton:hover {
  background-color: #F6F8FF;
}
.crmFormPassengersContent {
  border-radius: 20px;
  padding: 16px;
  background-color: #ffffff;
  cursor: default;
}
.crmFormPassengersItem {
  display: flex;
  align-items: center;
}
.crmFormPassengersItem:not(:last-child) {
  margin-bottom: 18px;
}
.crmFormPassengersName {
  text-align: left;
}
.crmFormPassengersCount {
  display: flex;
  align-items: center;
  margin-left: auto;
}
.crmFormPassengersCountButton {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #F6F8FF;
  font-size: 0;
  line-height: 0;
  transition: background-color 0.3s ease;
}
.crmFormPassengersCountButton svg path {
  transition: stroke 0.3s ease;
  stroke: #1A2027;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.crmFormPassengersCountButton:hover {
  background-color: #739AB8;
}
.crmFormPassengersCountButton:hover svg path {
  stroke: #ffffff;
}
.crmFormPassengersCountInput {
  width: 50px;
  height: 100%;
  text-align: center;
  font-size: 14px;
}
.crmFormPassengersTip {
  display: block;
  font-size: 14px;
  line-height: normal;
  color: #6F7478;
}
.crmFormTip {
  margin-top: 20px;
  font-size: 12px;
  line-height: 22px;
  text-align: left;
}
.newsAll {
  margin: 0;
}
.newsAllHero {
  padding-top: 500px;
  padding-bottom: 366px;
}
.newsAllContent {
  margin-top: 60px;
  position: relative;
}
.newsAllContent::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 100%;
  height: 122px;
  border-radius: 50%;
  background-color: #ADCCE8;
  opacity: 40%;
  filter: blur(100px);
  z-index: -2;
}
.newsAllContentHeader {
  padding: 40px 0 20px 0;
}
.newsTemplate {
  margin: 0;
}
.newsTemplateHero {
  padding-top: 396px;
  padding-bottom: 397px;
  position: relative;
}
.newsTemplateHeroInfo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  position: absolute;
  bottom: 40px;
  right: 120px;
}
.newsTemplateHeroInfoItem {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  padding: 14px 20px;
  background-color: rgba(255, 255, 255, 0.32);
  border-radius: 40px;
  line-height: normal;
}
.newsTemplateContentDesc:not(:last-child) {
  margin-bottom: 22px;
}
.newsTemplateContentHeader {
  margin: 90px 0;
  padding: 0;
}
.newsTemplatePost {
  margin-bottom: 90px;
}
.newsTemplatePostTitle {
  margin-top: 22px;
  margin-bottom: 32px;
}
.newsTemplatePostDesc {
  font-size: 20px;
  margin-bottom: 20px;
}
.newsTemplatePostDesc a {
  font-weight: 500;
  color: #2D6EA1;
}
.newsTemplatePostImage {
  width: 100%;
  border-radius: 16px;
  margin-bottom: 20px;
}
.newsTemplatePostLocation {
  display: block;
  font-size: 20px;
}
.hotelsContent {
  margin-top: 60px;
  margin-bottom: 40px;
}
.hotelsHeroContent {
  margin-top: 0;
}
.hotelsHeroContentSubtitle {
  font-weight: 400;
  font-family: "Montserrat", "Arial", sans-serif;
  font-size: 20px;
  line-height: 32px;
  margin-top: 44px;
  margin-bottom: 100px;
}
.hotelsHeroContentFeatures {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px;
}
.hotelsHeroContentFeaturesItem {
  max-width: 178px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hotelsHeroContentFeaturesItem img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  margin-bottom: 28px;
}
.hotelsHeroContentFeaturesItem span {
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  text-transform: uppercase;
}
.hotelsHeroContentTitle {
  padding: 0 130px;
}
.hotelsFly {
  margin-top: 60px;
  margin-bottom: 90px;
}
.hotelsFlyContent {
  padding: 0;
}
.hotelsFlyImage {
  display: block;
  max-width: 660px;
  margin-top: 28px;
}
.hotelsFlyImage img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.hotelsFlyDescription {
  max-width: calc(100% - 722px);
}
/*# sourceMappingURL=style.css.map */