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

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

html {
  font: 16px/1.5 sans-serif;
  color: #000;
}

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */ /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */ /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently
   supported by Chrome, Edge, Opera and Firefox */
}

.bg-blue {
  background-color: var(--blue) !important;
}

.bg-light-blue {
  background-color: var(--blue3) !important;
}

.text-blue {
  color: var(--blue) !important;
}

.text-grey {
  color: var(--grey3);
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: Outfit, sans-serif;
  color: var(--black-h);
}

h1, .h1 {
  font-size: clamp(2rem, 6vw, 4rem);
  font-weight: 700;
}
h1.h1-content, .h1.h1-content {
  font-size: clamp(1.5rem, 6vw, 3rem);
  font-weight: 500;
}

h2, .h2 {
  font-weight: 700;
}
h2.h2-content, .h2.h2-content {
  font-size: clamp(1.2rem, 3vw, 1.8rem);
  font-weight: 500;
  margin-top: 2rem;
}

.card h2 a {
  text-decoration: none;
  color: var(--bs-heading-color);
}
.card:hover h2 a {
  text-decoration: underline;
}
.card-body {
  color: var(--grey3);
}

:root {
  --black-h: #212529;
  --green: #008131;
  --darkgreen: #007637;
  --yellow: #ffd500;
  --yellow-intensive: #fdbb00;
  --lighgrey2: #eaeaea;
  --lightgrey: #ebedef;
  --white: #ffffff;
  --grey: #c9c9c9;
  --grey2: #b7b7b7;
  --grey3: #5f646b;
  --grey4: #8b9297;
  --transparent: rgba(255,255,255,0);
  --red: #ef3040;
  --blue: #0056af;
  --blue2: #0084c9;
  --blue3: #1c60ab;
  --blue4: #cce3f2;
  --blue5: #f1f7fb;
  --blue6: #ddecf5;
  --blue7: #2dbfdf;
  --greenblue: #048E98;
  --orange: #e9c47d;
  --ligthbrown: #cda14c;
  --warn: var(--yellow-intensive);
  --lightgrey-grad: linear-gradient(90deg, rgba(221,221,221,1) 0%, rgba(236,237,239,1) 25%, rgba(236,237,239,1) 75%, rgba(221,221,221,1) 100%);
  --deg: 0deg;
  --blue-grad: /*#048E98 0%,*/ rgba(0,132,201,1) 0%, rgba(0,86,175,1) 100%;
}

.bg-grad-custom {
  --deg: 0deg;
  --bg-grad: linear-gradient(var(--deg), var(--blue-grad));
  background-image: var(--bg-grad);
}

.bg-custom {
  --bg-color: #fff;
  background-color: var(--bg-color);
}

@keyframes levito {
  50% {
    transform: translateY(-1rem);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes appear {
  0% {
    transform: scale(0);
  }
  90% {
    transform: scale(1.05);
  }
  95% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
.levito-anim {
  --levito-animation-delay: 0;
  animation: levito 5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
  animation-delay: var(--levito-animation-delay);
}

.appear {
  --appear-animation-delay: 0;
  animation: appear 1s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
  animation-delay: var(--appear-animation-delay);
}

@keyframes elasticAppearFromRight {
  0% {
    opacity: 0;
    transform: translateX(10rem) skewX(-15deg);
  }
  55% {
    opacity: 1;
    transform: translateX(0) skewX(-15deg);
  }
  70% {
    transform: skewX(10deg);
  }
  85% {
    transform: skewX(-5deg);
  }
  100% {
    transform: skewX(0deg);
  }
}
@keyframes bgToWhite {
  to {
    background-color: #fff;
  }
}
.bgToWhite {
  background-color: var(--blue2);
  animation-name: bgToWhite;
  animation-timeline: view();
  animation-range: entry 35% cover 30%;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in;
}

@keyframes depth {
  to {
    width: 100%;
  }
}
.depth {
  animation-name: depth;
  animation-timeline: scroll();
}

@keyframes bring {
  from {
    opacity: 0;
    transform: translateX(10rem);
  }
  10% {
    opacity: 0;
    transform: translateX(10rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.bring {
  --b-delay: 0s;
  --b-duration: .3s;
  animation: bring var(--b-duration) var(--b-delay) ease 1 forwards;
}

@keyframes smoothDisappear {}
.g-fx-hide {
  opacity: 0;
  transform: translateY(2rem);
}

.g-fx-smooth-show {
  opacity: 1 !important;
  transform: translateX(0) !important;
  transition: opacity 1s, transform 1s;
}

.h-100dvh {
  height: 100dvh;
}

.h-20dvh {
  height: 20dvh;
}

.h-25dvh {
  height: 25dvh;
}

.h-33dvh {
  height: 33.333333dvh;
}

.h-50dvh {
  height: 50dvh;
}

.h-66dvh {
  height: 66.666666dvh;
}

.h-75dvh {
  height: 75dvh;
}

@media screen and (min-width: 768px) {
  .h-md-50dvh {
    height: 50dvh;
  }
  .h-md-75dvh {
    height: 75dvh;
  }
}
@media screen and (min-width: 992px) {
  .h-lg-50dvh {
    height: 50dvh;
  }
  .h-lg-75dvh {
    height: 75dvh;
  }
}
@media screen and (min-width: 1200px) {
  .h-xl-50dvh {
    height: 50dvh;
  }
  .h-xl-75dvh {
    height: 75dvh;
  }
}
.ge-container-100 {
  width: 100%;
  height: 100%;
  position: relative;
}

.ge-inset {
  --ge-inset-top: 0;
  --ge-inset-bottom: 0;
  --ge-inset-start: 0;
  --ge-inset-end: 0;
  position: absolute;
  inset: var(--ge-inset-top) var(--ge-inset-end) var(--ge-inset-bottom) var(--ge-inset-start);
}
.ge-inset.ge-inset-center {
  height: -moz-max-content;
  height: max-content;
  margin: auto;
}
.ge-inset.ge-inset-bottom-0 {
  --ge-inset-top: auto;
  --ge-inset-bottom: 0;
}
.ge-inset.ge-inset-left {
  --ge-inset-start: 0;
  --ge-inset-end: auto;
}
.ge-inset.ge-inset-right {
  --ge-inset-start: auto;
  --ge-inset-end: 0;
}

.skill-level-basic > div:nth-of-type(1) > div, .skill-level-spec > div:nth-of-type(1) > div, .skill-level-advanced > div:nth-of-type(1) > div, .skill-level-expert > div:nth-of-type(1) > div, .skill-level-spec > div:nth-of-type(2) > div, .skill-level-advanced > div:nth-of-type(2) > div, .skill-level-expert > div:nth-of-type(2) > div, .skill-level-advanced > div:nth-of-type(3) > div, .skill-level-expert > div:nth-of-type(3) > div, .skill-level-expert > div:nth-of-type(4) > div {
  border-color: var(--blue7) !important;
  background-color: var(--blue7);
}

[class^=skill-level] > div > div {
  border-radius: 0 3rem 3rem 3rem !important;
  transform: rotate(45deg);
}

@media screen and (max-width: 991px) {
  .ge-inset.ge-inset-bottom-25 {
    --ge-inset-top: 75%;
    --ge-inset-bottom: 25%;
  }
  .ge-inset.ge-inset-bottom-33 {
    --ge-inset-top: 66.666666%;
    --ge-inset-bottom: 33.333333%;
  }
}
.img-cover, .img-cover-center {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -o-object-fit: cover;
}
.img-cover-center {
  object-position: center;
  -o-object-position: center;
}

.image-gallery {
  --gap: 1rem;
  --br: .25rem;
  text-align: center;
}
.image-gallery > div {
  -moz-columns: var(--cols, 3);
       columns: var(--cols, 3);
  gap: var(--gap);
}
@media (max-width: 48rem) {
  .image-gallery > div {
    --cols: 2;
  }
}
@media (max-width: 32rem) {
  .image-gallery > div {
    --cols: 1;
  }
}
.image-gallery > div img {
  display: block;
  width: 100%;
  border-radius: var(--br);
  margin-bottom: var(--gap);
}

.trip {
  z-index: 100;
}
.trip img {
  transition: 0.4s;
}
.trip h2 a {
  color: whitesmoke;
  text-decoration: none;
}
.trip:hover {
  z-index: 301;
}
.trip:hover img {
  transform: scale(1.15);
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.6);
}

.text-overflow-ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ge-baner .ge-baner-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media screen and (max-width: 991px) {
  .ge-baner .ge-baner-bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: top;
       object-position: top;
  }
}
.slider {
  background-color: whitesmoke;
}
.slider .slider-list, .slider > div:first-child {
  cursor: grab;
}
.slider .slider-list > div, .slider > div:first-child > div {
  min-height: 200px;
}
.slider .slider-list > div *, .slider .slider-list > div img, .slider .slider-list > div a, .slider > div:first-child > div *, .slider > div:first-child > div img, .slider > div:first-child > div a {
  user-drag: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
}
.slider.slider-move .slider-list, .slider.slider-move > div:first-child, .slider.slider-move a {
  cursor: grabbing;
}
.slider .slider-nav-prev, .slider .slider-nav-next, .slider .slider-nav-paginator > div {
  cursor: pointer;
  z-index: 101;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
}
.slider .slider-nav-paginator {
  width: -moz-max-content;
  width: max-content;
}
.slider .slider-nav-paginator > div {
  width: 3rem;
  padding: 0;
}
.slider .slider-nav-paginator > div.active {
  border-color: red;
}

body {
  color: var(--grey3);
  background-size: contain;
  font: 17px/1.7 "Lexend Deca", sans-serif !important;
  font-weight: 300 !important;
}

kbd {
  border: 1px solid;
}

pre {
  font-size: 0.9rem !important;
  color: #4caf50 !important;
}

q::before {
  font-size: 6rem;
}
q::after {
  content: "";
}

* ~ h2 {
  margin-top: 2rem;
}

.parent {
  width: 300px;
  height: 300px;
  position: relative;
  border: 2px solid black;
}
.parent .child {
  position: absolute;
  background-color: blue;
  inset: 1rem 2rem 3rem 4rem;
}
.parent .child-center {
  position: absolute;
  background-color: blue;
  width: 3rem;
  height: 3rem;
  inset: 0;
  margin: auto;
}
.parent .child-text-center {
  position: absolute;
  background-color: whitesmoke;
  color: #000;
  height: -moz-max-content;
  height: max-content;
  inset: 0 2rem;
  margin: auto;
  text-align: center;
}

.logo {
  filter: brightness(0) invert(1);
  width: 22rem;
  transform: translateY(2rem);
  transition: 0.3s;
}
.logo img {
  width: 100%;
}

.main_header {
  z-index: 300;
  transition: 0.5s;
}
.main_header a {
  text-wrap: nowrap;
}
.main_header.mini, .main_header > nav li:hover:not(.logo-li), .main_header.fixed-off, .main_header .open_mobile_nav {
  background-color: var(--white);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
}
.main_header.mini a, .main_header > nav li:hover:not(.logo-li) a, .main_header.fixed-off a, .main_header .open_mobile_nav a {
  color: #000 !important;
}
.main_header.mini .logo, .main_header > nav li:hover:not(.logo-li) .logo, .main_header.fixed-off .logo, .main_header .open_mobile_nav .logo {
  width: 10rem;
  padding: 0.5rem;
  transform: translateY(0);
  filter: brightness(1) invert(0);
}
.main_header.fixed-off {
  position: relative;
}
.main_header.fixed-off + div {
  margin-top: 4rem;
}
.main_header .nav_bn {
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 0;
  right: 0;
}
.main_header nav > ul {
  left: 0;
}
.main_header nav > ul li {
  transition: background 0.4s;
}
.main_header nav > ul li ul {
  display: none;
  position: absolute !important;
}
.main_header nav > ul li:hover {
  z-index: 100;
}
.main_header nav > ul li:hover ul {
  background-color: rgba(255, 255, 255, 0.4) !important;
  -webkit-backdrop-filter: blur(1rem);
          backdrop-filter: blur(1rem);
  display: block;
  box-shadow: 0 0.5rem 0.5rem rgba(0, 0, 0, 0.2);
}
.main_header nav > ul li:hover > a {
  color: var(--blue) !important;
}
.main_header nav .right-0 {
  right: 0;
}
.main_header nav.open_mobile_nav {
  display: block !important;
  width: 100vh;
  height: 100vh !important;
  background: white;
  position: absolute;
  top: 0;
}
.main_header nav.open_mobile_nav a {
  color: #000;
  text-align: left !important;
}
.main_header nav.open_mobile_nav ul {
  flex-direction: column;
}
.main_header nav.open_mobile_nav .logo {
  width: clamp(15rem, 6vw, 20rem);
}

.glued-bottom {
  --bs-text-opacity: 1;
  text-shadow: 0 -0.5rem 0.5rem var(--blue);
  transform: translateY(0.25em);
}

span.material-symbols-outlined {
  vertical-align: middle;
  font-size: 1em;
  transition: 0.3s;
}

a:hover span.material-symbols-outlined:not(.nav-bn-ico) {
  transform: translateX(1rem);
}

table.pricelist {
  position: relative;
  border-collapse: collapse;
}
table.pricelist th, table.pricelist td {
  padding: 0 1rem;
  border: 1px solid whitesmoke;
}
table.pricelist th {
  padding: 0.5rem 1rem;
  text-align: center;
}
table.pricelist th[colspan="4"] {
  text-align: center;
  --deg: 90deg;
  background-image: linear-gradient(var(--deg), var(--blue-grad));
  color: #fff;
  overflow: hidden;
  border-radius: 0.5rem;
}
table.pricelist td[colspan="4"] {
  height: 3rem;
}
table.pricelist thead th {
  font-size: 14px;
}
table.pricelist thead th:nth-of-type(1) {
  background-color: whitesmoke;
}
table.pricelist tbody tr th {
  font-weight: normal;
}
table.pricelist tbody tr td:nth-of-type(1), table.pricelist tbody tr td:nth-of-type(2) {
  text-align: right;
  white-space: nowrap;
}
table.pricelist tbody tr th:nth-of-type(1):not([colspan="4"]) {
  background-color: whitesmoke;
  text-align: left;
}
table.pricelist img {
  max-width: 9rem;
  margin-right: 0.5rem;
}

.decore::after {
  --dec-bg: #d1dfe0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  transform: rotate(6deg);
  border-radius: 0.5rem;
  background-color: var(--dec-bg);
  transition: 0.4s;
}
.decore img {
  z-index: 100;
}

.card:hover .decore::after {
  transform: rotate(0deg);
}

.container-contact {
  width: 100%;
  max-width: 768px;
}

.find-us-on {
  max-width: 320px;
}
.find-us-on svg {
  max-height: 2rem;
  fill: #cbcbcb;
}

footer {
  background-color: var(--grey4);
}
footer a {
  color: #d7d7d7;
  text-decoration: none;
}
footer a:hover {
  color: whitesmoke;
}/*# sourceMappingURL=custom.css.map */