

/* Start:/local/templates/tgv/js/swiper/swiper-bundle.min.css?177937405917907*/
/**
 * Swiper 9.1.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 16, 2023
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide,swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/* End */


/* Start:/local/templates/tgv/js/wow/animate.css?177937405957095*/
@charset "UTF-8";


/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license

Copyright (c) 2013 Daniel Eden

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
}

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}

@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  40% {
    -webkit-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  60% {
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  80% {
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  100% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }

  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }

  100% {
    -webkit-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg);
  }

  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg);
  }

  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg);
  }

  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg);
  }

  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg);
  }

  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
  }

  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg);
  }

  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg);
  }

  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg);
  }

  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg);
  }

  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg);
  }

  100% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.3);
    transform: scale(.3);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  70% {
    -webkit-transform: scale(.9);
    transform: scale(.9);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.3);
    -ms-transform: scale(.3);
    transform: scale(.3);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
  }

  70% {
    -webkit-transform: scale(.9);
    -ms-transform: scale(.9);
    transform: scale(.9);
  }

  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
  }

  80% {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
  }

  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }

  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -ms-transform: translateX(30px);
    transform: translateX(30px);
  }

  80% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }

  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    transform: translateX(-30px);
  }

  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  80% {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  25% {
    -webkit-transform: scale(.95);
    transform: scale(.95);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(.3);
    transform: scale(.3);
  }
}

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  25% {
    -webkit-transform: scale(.95);
    -ms-transform: scale(.95);
    transform: scale(.95);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(.3);
    -ms-transform: scale(.3);
    transform: scale(.3);
  }
}

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
}

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  -ms-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  100% {
    -webkit-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40% {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  100% {
    -webkit-transform: translateY(700px);
    -ms-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0;
  }
}

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
}

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
}

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg);
  }
}

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    -ms-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg);
  }
}

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

/* End */


/* Start:/local/templates/tgv/js/fancybox/fancybox.css?177937405925343*/
:root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, 0.1);--f-spinner-color-2: rgba(17, 24, 28, 0.8);--f-spinner-stroke: 2.75}.f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}.f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}.f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}.f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}.f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{100%{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.f-throwOutUp{animation:var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutUp}.f-throwOutDown{animation:var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0, calc(var(--f-throw-out-distance, 150px) * -1), 0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0, var(--f-throw-out-distance, 150px), 0);opacity:0}}.f-zoomInUp{animation:var(--f-transition-duration, 0.2s) ease .1s both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, 0.2s) ease both f-zoomOutDown}@keyframes f-zoomInUp{from{transform:scale(0.975) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(0.975) translate3d(0, 16px, 0);opacity:0}}.f-fadeIn{animation:var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeOut{100%{opacity:0}}.f-fadeFastIn{animation:var(--f-transition-duration, 0.2s) ease-out both f-fadeFastIn;z-index:2}.f-fadeFastOut{animation:var(--f-transition-duration, 0.1s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}100%{opacity:1}}@keyframes f-fadeFastOut{100%{opacity:0}}.f-fadeSlowIn{animation:var(--f-transition-duration, 0.5s) ease both f-fadeSlowIn;z-index:2}.f-fadeSlowOut{animation:var(--f-transition-duration, 0.5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeSlowOut{100%{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, 0.2s) ease-out both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, 0.2s)*.5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-crossfadeOut{100%{opacity:0}}.f-slideIn.from-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNext}.f-slideIn.from-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrev}.f-slideOut.to-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNext}.f-slideOut.to-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translateX(100%)}100%{transform:translate3d(0, 0, 0)}}@keyframes f-slideInNext{0%{transform:translateX(-100%)}100%{transform:translate3d(0, 0, 0)}}@keyframes f-slideOutNext{100%{transform:translateX(-100%)}}@keyframes f-slideOutPrev{100%{transform:translateX(100%)}}.f-classicIn.from-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInNext;z-index:2}.f-classicIn.from-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInPrev;z-index:2}.f-classicOut.to-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutNext;z-index:1}.f-classicOut.to-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translateX(-75px);opacity:0}100%{transform:translate3d(0, 0, 0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translateX(75px);opacity:0}100%{transform:translate3d(0, 0, 0);opacity:1}}@keyframes f-classicOutNext{100%{transform:translateX(-75px);opacity:0}}@keyframes f-classicOutPrev{100%{transform:translateX(75px);opacity:0}}:root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all 0.15s ease;--f-button-transform: none;--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-disabled-opacity: 0.65}.f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media(hover: hover){.f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}.f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}.f-button:focus:not(:focus-visible){outline:none}.f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}.f-button[disabled]{cursor:default}.f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}.f-carousel__nav .f-button.is-prev,.f-carousel__nav .f-button.is-next,.fancybox__nav .f-button.is-prev,.fancybox__nav .f-button.is-next{position:absolute;z-index:1}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,.is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translateX(-50%)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-prev svg,.is-vertical .f-carousel__nav .f-button.is-next svg,.is-vertical .fancybox__nav .f-button.is-prev svg,.is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}.f-carousel__nav .f-button:disabled,.fancybox__nav .f-button:disabled{pointer-events:none}html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}html.with-fancybox body{touch-action:none}html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));overflow:hidden !important;overscroll-behavior-y:none}.fancybox__container{--fancybox-color: #dbdbdb;--fancybox-hover-color: #fff;--fancybox-bg: rgba(24, 24, 27, 0.98);--fancybox-slide-gap: 10px;--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-color-1: rgba(255, 255, 255, 0.1);--f-spinner-color-2: #bbb;--f-spinner-stroke: 3.65;position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:visible;z-index:var(--fancybox-zIndex, 1050);outline:none;transform-origin:top left;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;-ms-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after{box-sizing:inherit}.fancybox__container::backdrop{background-color:rgba(0,0,0,0)}.fancybox__backdrop{position:fixed;top:0;left:0;bottom:0;right:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity, 1);will-change:opacity}.fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}.fancybox__viewport{width:100%;height:100%}.fancybox__viewport.is-draggable{cursor:move;cursor:grab}.fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}.fancybox__track{display:flex;margin:0 auto;height:100%}.fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;overscroll-behavior:contain;transform:translate3d(0, 0, 0);backface-visibility:hidden}.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}.fancybox__slide.has-iframe,.fancybox__slide.has-video,.fancybox__slide.has-html5video{overflow:hidden}.fancybox__slide.has-image{overflow:hidden}.fancybox__slide.has-image.is-animating,.fancybox__slide.has-image.is-selected{overflow:visible}.fancybox__slide::before,.fancybox__slide::after{content:"";flex:0 0 0;margin:auto}.fancybox__backdrop:empty,.fancybox__viewport:empty,.fancybox__track:empty,.fancybox__slide:empty{display:block}.fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);cursor:default;border-radius:0;z-index:20}.is-loading .fancybox__content{opacity:0}.is-draggable .fancybox__content{cursor:move;cursor:grab}.can-zoom_in .fancybox__content{cursor:zoom-in}.can-zoom_out .fancybox__content{cursor:zoom-out}.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__content [data-selectable],.fancybox__content [contenteditable]{cursor:auto}.fancybox__slide.has-image>.fancybox__content{padding:0;background:rgba(0,0,0,0);min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translate3d(0, 0, 0);backface-visibility:hidden}.fancybox__slide.has-image>.fancybox__content>picture>img{width:100%;height:auto;max-height:100%}.is-animating .fancybox__content,.is-dragging .fancybox__content{will-change:transform,width,height}.fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;object-fit:contain;user-select:none;filter:blur(0px)}.fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px 0;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);cursor:auto;visibility:visible}.is-loading .fancybox__caption,.is-closing .fancybox__caption{opacity:0;visibility:hidden}.is-compact .fancybox__caption{padding-bottom:0}.f-button.is-close-btn{--f-button-svg-stroke-width: 2;position:absolute;top:0;right:8px;z-index:40}.fancybox__content>.f-button.is-close-btn{--f-button-width: 34px;--f-button-height: 34px;--f-button-border-radius: 4px;--f-button-color: var(--fancybox-color, #fff);--f-button-hover-color: var(--fancybox-color, #fff);--f-button-bg: transparent;--f-button-hover-bg: transparent;--f-button-active-bg: transparent;--f-button-svg-width: 22px;--f-button-svg-height: 22px;position:absolute;top:-38px;right:0;opacity:.75}.is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}.is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}.fancybox__content>.f-button.is-close-btn:hover{opacity:1}.fancybox__footer{padding:0;margin:0;position:relative}.fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity, 1);transition:all .25s ease}.is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:rgba(24,24,27,.5)}.is-compact .fancybox__footer .fancybox__caption{padding:12px}.is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius: 50%;--f-button-color: #fff;--f-button-hover-color: #fff;--f-button-outline-color: #000;--f-button-bg: rgba(0, 0, 0, 0.6);--f-button-active-bg: rgba(0, 0, 0, 0.6);--f-button-hover-bg: rgba(0, 0, 0, 0.6);--f-button-svg-width: 18px;--f-button-svg-height: 18px;--f-button-svg-filter: none;top:5px;right:5px}.fancybox__nav{--f-button-width: 50px;--f-button-height: 50px;--f-button-border: 0;--f-button-border-radius: 50%;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: transparent;--f-button-hover-bg: rgba(24, 24, 27, 0.3);--f-button-active-bg: rgba(24, 24, 27, 0.5);--f-button-shadow: none;--f-button-transition: all 0.15s ease;--f-button-transform: none;--f-button-svg-width: 26px;--f-button-svg-height: 26px;--f-button-svg-stroke-width: 2.5;--f-button-svg-fill: none;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.5));--f-button-svg-disabled-opacity: 0.65;--f-button-next-pos: 1rem;--f-button-prev-pos: 1rem;opacity:var(--fancybox-opacity, 1)}.fancybox__nav .f-button:before{position:absolute;content:"";top:-30px;right:-20px;left:-20px;bottom:-30px;z-index:1}.is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}.is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top, calc(var(--f-spinner-width) * -0.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -0.5));z-index:30;cursor:pointer}.fancybox-protected{position:absolute;top:0;left:0;right:0;bottom:0;z-index:40;user-select:none}.fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;object-fit:contain;z-index:40;user-select:none;pointer-events:none}.fancybox-focus-guard{outline:none;opacity:0;position:fixed;pointer-events:none}.fancybox__container:not([aria-hidden]){opacity:0}.fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-enter-duration, 0.25s) ease .1s backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:var(--f-backdrop-enter-duration, 0.35s) ease backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-exit-duration, 0.15s) ease forwards f-fadeOut}.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:var(--f-backdrop-exit-duration, 0.35s) ease forwards f-fadeOut}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}.fancybox__container.is-compact .has-iframe .fancybox__content,.fancybox__container.is-compact .has-map .fancybox__content,.fancybox__container.is-compact .has-pdf .fancybox__content{width:100%;height:100%}.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:rgba(0,0,0,0)}.fancybox-placeholder{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.f-carousel__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-outline: 0;--f-thumb-outline-color: #5eb0ef;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1;--f-thumb-border-radius: 2px;--f-thumb-offset: 0px;--f-button-next-pos: 0;--f-button-prev-pos: 0}.f-carousel__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: 0.5;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1}.f-carousel__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px}.f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);user-select:none;perspective:1000px;transform:translateZ(0)}.f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2, #e2e8f0);z-index:-1}.f-thumbs .f-spinner svg{display:none}.f-thumbs.is-vertical{height:100%}.f-thumbs__viewport{width:100%;height:auto;overflow:hidden;transform:translate3d(0, 0, 0)}.f-thumbs__track{display:flex}.f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}.f-thumbs__slide.is-loading img{opacity:0}.is-classic .f-thumbs__viewport{height:100%}.is-modern .f-thumbs__track{width:max-content}.is-modern .f-thumbs__track::before{content:"";position:absolute;top:0;bottom:0;left:calc((var(--f-thumb-clip-width, 0))*-0.5);width:calc(var(--width, 0)*1px + var(--f-thumb-clip-width, 0));cursor:pointer}.is-modern .f-thumbs__slide{width:var(--f-thumb-clip-width);transform:translate3d(calc(var(--shift, 0) * -1px), 0, 0);transition:none;pointer-events:none}.is-modern.is-resting .f-thumbs__slide{transition:transform .33s ease}.is-modern.is-resting .f-thumbs__slide__button{transition:clip-path .33s ease}.is-using-tab .is-modern .f-thumbs__slide:focus-within{filter:drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))}.f-thumbs__slide__button{appearance:none;width:var(--f-thumb-width);height:100%;margin:0 -100% 0 -100%;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:rgba(0,0,0,0);outline:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}.f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}.f-thumbs__slide__button:focus:not(:focus-visible){outline:none}.f-thumbs__slide__button:focus-visible{outline:none;opacity:var(--f-thumb-selected-opacity)}.is-modern .f-thumbs__slide__button{--clip-path: inset( 0 calc( ((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0))) * (1 - var(--progress, 0)) * 0.5 ) round var(--f-thumb-border-radius, 0) );clip-path:var(--clip-path)}.is-classic .is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}.is-classic .is-nav-selected .f-thumbs__slide__button::after{content:"";position:absolute;top:0;left:0;right:0;height:auto;bottom:0;border:var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}.f-thumbs__slide__img{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;object-fit:cover;border-radius:var(--f-thumb-border-radius)}.f-thumbs.is-horizontal .f-thumbs__track{padding:8px 0 12px 0}.f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}.f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;padding:0 8px}.f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}.fancybox__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-border-radius: 2px;--f-thumb-outline: 2px;--f-thumb-outline-color: #ededed;position:relative;opacity:var(--fancybox-opacity, 1);transition:max-height .35s cubic-bezier(0.23, 1, 0.32, 1)}.fancybox__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: 0.5;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))}.fancybox__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))}.fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}.fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}.is-compact .fancybox__thumbs{--f-thumb-width: 64px;--f-thumb-clip-width: 32px;--f-thumb-height: 48px;--f-thumb-extra-gap: 10px}.fancybox__thumbs.is-masked{max-height:0px !important}.is-closing .fancybox__thumbs{transition:none !important}.fancybox__toolbar{--f-progress-color: var(--fancybox-color, rgba(255, 255, 255, 0.94));--f-button-width: 46px;--f-button-height: 46px;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: rgba(24, 24, 27, 0.65);--f-button-hover-bg: rgba(70, 70, 73, 0.65);--f-button-active-bg: rgba(90, 90, 93, 0.65);--f-button-border-radius: 0;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.5;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.15));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: 0.65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Adjusted","Segoe UI","Liberation Sans",sans-serif;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.5));pointer-events:none;z-index:20}.fancybox__toolbar :focus-visible{z-index:1}.fancybox__toolbar.is-absolute,.is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}.is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}.fancybox__toolbar__column.is-left,.fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}.fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}.fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;user-select:none}.fancybox__infobar span{padding:0 5px}.fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}[data-fancybox-toggle-slideshow]{position:relative}[data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}[data-fancybox-toggle-slideshow] svg g:first-child{display:flex}[data-fancybox-toggle-slideshow] svg g:last-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:last-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}.f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));z-index:30;user-select:none;pointer-events:none}
/* End */


/* Start:/local/templates/tgv/css/style.css?1787640098127719*/
@font-face {
  font-family: "TT Travels";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/local/templates/tgv/css/../fonts/tt-travels/tt-travels-demibold.otf") format("opentype");
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

img {
  border: none;
  max-width: 100%;
}

a {
  color: #111;
  text-decoration: none;
  outline: none;
  transition: 0.3s all;
}
a:hover {
  color: #1C542C;
}
a.green {
  color: #1C542C;
  border-bottom: 1px solid #1C542C;
}
a.green:hover {
  border-bottom-color: transparent;
}

body {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: -0.01em;
  color: #111;
  background-color: #F7F7F5;
  text-size-adjust: none;
  -ms-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: 100%;
}

.body--white {
  background-color: #FFF;
}
.body--404 {
  background-color: #FFF;
  background-image: url("/local/templates/tgv/css/../images/svg/bg-404.svg");
  background-position: top 50% center;
  background-repeat: no-repeat;
}
.body--bg-inner {
  background-image: url("/local/templates/tgv/css/../images/svg/bg-inner.svg");
  background-position: top right;
  background-repeat: no-repeat;
}
.body--projects {
  background-image: url("/local/templates/tgv/css/../images/svg/bg-projects.svg");
  background-position: top right;
  background-repeat: no-repeat;
}

.stop-scrolling {
  overflow: hidden !important;
}

.wow {
  visibility: hidden;
}

.wrap {
  width: 100%;
  max-width: 1440px;
  padding: 0 56px;
  margin: 0 auto;
}

.hidden {
  display: none !important;
}

.btn {
  -webkit-appearance: none;
  position: relative;
  display: inline-block;
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0.02em;
  color: #FFF;
  background-color: #1C542C;
  border: 1px solid #1C542C;
  border-radius: 4px;
  padding: 18px 58px 16px 36px;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: 0.3s all;
}
.btn:hover {
  background-color: #206133;
  border-color: #206133;
  color: #FFF;
}
.btn span {
  position: relative;
}
.btn span:before {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  margin-top: -14px;
  right: -28px;
  background: url("/local/templates/tgv/css/../images/svg/btn-arrow-white.svg") no-repeat center;
}
.btn--white {
  color: #111;
  background-color: #FFF;
  border-color: #FFF;
}
.btn--white:hover {
  background-color: #EBEBEB;
  border-color: #EBEBEB;
  color: #111;
}
.btn--white span:before {
  background-image: url("/local/templates/tgv/css/../images/svg/btn-arrow-black.svg");
}
.btn--red {
  color: #FFF !important;
  background-color: #BF0D0D;
  border-color: #BF0D0D;
}
.btn--red:hover {
  background-color: #D91212;
  border-color: #D91212;
}
.btn--red span:before {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  right: -28px;
  background-image: url("/local/templates/tgv/css/../images/svg/btn-telegram.svg");
}
.btn--hollow {
  color: #1C542C !important;
  background-color: transparent !important;
}
.btn--hollow:hover {
  border-color: rgba(28, 84, 44, 0.5);
}
.btn--hollow span:before {
  background-image: url("/local/templates/tgv/css/../images/svg/btn-arrow-green.svg");
}
.btn--hollow.btn--white {
  color: #FFF;
  border-color: #FFF;
}
.btn--hollow.btn--white:hover {
  border-color: rgba(255, 255, 255, 0.5);
}
.btn--small {
  padding: 9px 48px 9px 28px;
}
.btn--no-border {
  width: auto !important;
  border: none !important;
  background-color: transparent !important;
  padding: 0 28px 0 0;
  color: #1C542C;
}
.btn--no-border span:before {
  background-image: url("/local/templates/tgv/css/../images/svg/btn-arrow-green.svg");
}
.btn--no-border:hover {
  color: #206133;
}
.btn--no-border.btn--white {
  color: #FFF;
}
.btn--no-border.btn--white span:before {
  background-image: url("/local/templates/tgv/css/../images/svg/btn-arrow-white.svg");
}
.btn--no-border.btn--white:hover {
  color: #EBEBEB;
}
.btn--telegram {
  width: auto !important;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  letter-spacing: -0.01em;
  border-radius: 40px;
  padding: 7px 48px 7px 20px;
  text-transform: none;
}
.btn--search {
  width: 56px;
  height: 40px;
  padding: 0;
  background-image: url("/local/templates/tgv/css/../images/svg/btn-search.svg");
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 8px;
}

.input {
  display: block;
  -webkit-appearance: none;
  border: none;
  border-bottom: 1px solid #FFF;
  background: transparent;
  outline: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0 0 16px;
  height: 44px;
  width: 100%;
  font-family: "Inter", sans-serif;
  font-size: 18px;
  line-height: 28px;
  color: #FFF;
}
.input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.form {
  display: block;
}
.form-row {
  margin-bottom: 24px;
}
.form-agreement {
  font-size: 14px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.5);
  max-width: 430px;
}
.form-submit {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-top: 48px;
}
.form-submit__success {
  font-size: 14px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.5);
  max-width: 200px;
}
.form-submit__success:not(.is-active) {
  display: none;
}
.form--black .input {
  border-bottom-color: rgba(0, 0, 0, 0.14);
  color: #111;
}
.form--black .input::placeholder {
  color: rgba(17, 17, 17, 0.5);
}
.form--black .form-agreement,
.form--black .form-submit__success {
  color: #111;
}

h1, .h1 {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 100px;
  line-height: 90px;
  letter-spacing: -0.04em;
  margin-bottom: 20px;
}

h2, .h2 {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 48px;
  line-height: 48px;
  letter-spacing: -0.03em;
  margin-bottom: 24px;
}

h3, .h3 {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 36px;
  letter-spacing: -0.01em;
  margin-bottom: 24px;
}

h4, .h4 {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 26px;
  line-height: 28px;
  letter-spacing: -0.01em;
  margin-bottom: 8px;
}

h5, .h5 {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 24px;
  letter-spacing: -0.01em;
  margin-bottom: 8px;
}

.fancybox__backdrop {
  background: rgba(0, 0, 0, 0.5);
}

.fancybox__slide {
  overflow: hidden;
}

.popup {
  display: none;
  top: 0;
  bottom: 0;
  right: -720px;
  left: auto;
  position: absolute;
  width: 720px;
  height: 100%;
  overflow: hidden;
  transition: right 0.3s;
  padding: 0;
}
.popup--burger .popup-wrapper {
  padding-top: 0 !important;
}
.popup--review .popup-title {
  margin-bottom: 16px;
}
.popup.is-active {
  right: 0;
}
.popup [data-fancybox-close]:not(.popup-close) {
  display: none !important;
}
.popup-close {
  position: absolute;
  top: 16px;
  right: 56px;
  width: 64px;
  height: 64px;
  background: url("/local/templates/tgv/css/../images/svg/close.svg") no-repeat center;
}
.popup-close:hover {
  opacity: 0.8;
}
.popup-title {
  margin-bottom: 48px;
}
.popup-wrapper {
  position: relative;
  overflow: auto;
  scroll-behavior: smooth;
  padding: 128px 56px 65px;
}

.burger-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 97px 80px 0;
}
.burger-header__search {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  background: url("/local/templates/tgv/css/../images/svg/search.svg") no-repeat center;
}
.burger-header__search:hover {
  opacity: 0.8;
}
.burger-header__phone {
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.03em;
  white-space: nowrap;
  margin-bottom: 0;
}
.burger-header__time {
  font-size: 14px;
  line-height: 24px;
  letter-spacing: -0.02em;
}
.burger-header__time span {
  display: block;
  color: #777;
}
.burger-header__time a {
  color: #1C542C;
  border-bottom: 1px solid transparent;
}
.burger-header__time a:not(:hover) {
  border-bottom-color: #1C542C;
}
.burger-menu {
  margin-bottom: 48px;
}
.burger-menu__item.dropdown {
  position: relative;
}
.burger-menu__item.dropdown:before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url("/local/templates/tgv/css/../images/svg/btn-accordion.svg") no-repeat center;
  position: absolute;
  top: 4px;
  right: 0;
  z-index: -1;
  transition: all 0.3s;
}
.burger-menu__item.dropdown a {
  display: block;
  padding-right: 60px;
}
.burger-menu__item.dropdown.active .burger-menu__sub {
  display: block;
}
.burger-menu__item.dropdown.active:before {
  transform: rotate(180deg);
}
.burger-menu__sub {
  display: none;
  margin-top: 24px;
}
.burger-menu__sub .burger-menu__item {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: -0.01em;
  margin-bottom: 16px;
}
.burger-menu .h2 {
  margin-bottom: 32px;
}
.burger-menu .h2 + .h3 {
  margin-top: 48px;
}
.burger-btns .btn {
  width: 100%;
}
.burger-btns__callback {
  display: none;
}
.burger-search {
  display: none;
}
.burger-search__back {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  margin-bottom: 48px;
}
.burger-search__back a {
  display: inline-block;
  position: relative;
  color: #777;
  padding-left: 32px;
}
.burger-search__back a:before {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
  top: 0;
  left: 0;
  background: url("/local/templates/tgv/css/../images/svg/btn-back.svg") no-repeat center;
}
.burger-search__title {
  font-size: 52px;
  line-height: 56px;
  letter-spacing: -0.03em;
  margin-bottom: 32px;
  color: #111;
}
.burger-search__form .form-row {
  position: relative;
}
.burger-search__form .input {
  padding-right: 80px;
}
.burger-search__form .btn {
  position: absolute;
  top: -6px;
  right: 0;
}
.burger.is-search .burger-menu,
.burger.is-search .burger-btns {
  display: none;
}
.burger.is-search .burger-search {
  display: block;
}
.burger.is-search .burger-header {
  padding-bottom: 48px;
}

.header {
  position: relative;
  z-index: 3;
  background: transparent;
}
.header-container {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 96px;
}
.header-logo {
  flex: 0 0 69px;
  width: 69px;
  height: 67px;
  background: url("/local/templates/tgv/css/../images/logo.png?v=2") no-repeat center;
  background-size: 100% auto;
  margin-top: 4px;
}
.header-info {
  display: inline-flex;
  align-items: center;
}
.header-phone {
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.03em;
  margin-bottom: 0;
}
.header-time {
  margin-left: 48px;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: -0.02em;
  color: #777;
}
.header-time span {
  display: block;
}
.header-time a {
  color: #1C542C;
  border-bottom: 1px solid transparent;
}
.header-time a:not(:hover) {
  border-bottom-color: #1C542C;
}
.header-burger {
  flex: 0 0 63px;
  width: 63px;
  height: 63px;
  background: #1C542C;
  border-radius: 50%;
  position: relative;
  margin-left: 52px;
}
.header-burger:hover {
  background: #206133;
}
.header-burger span {
  position: absolute;
  width: 33px;
  height: 1px;
  background: #FFF;
  border-radius: 2px;
  left: 0;
  right: 0;
  margin: auto;
  top: 24px;
}
.header-burger span:nth-of-type(2) {
  top: 31px;
}
.header-burger span:nth-of-type(3) {
  top: 38px;
}

.footer {
  color: #FFF;
}
.footer a {
  color: #FFF;
}
.footer a:hover {
  color: rgba(255, 255, 255, 0.8);
}
.footer-top {
  background-color: #32414D;
  background-image: url("/local/templates/tgv/css/../images/svg/bg-footer.svg");
  background-repeat: no-repeat;
  background-position: top left;
  padding: 64px 0;
}
.footer-top__container {
  display: flex;
  justify-content: space-between;
}
.footer-top__info, .footer-top__form {
  flex: 0 0 calc(50% - 10px);
  width: calc(50% - 10px);
}
.footer-top__title {
  font-size: 58px;
  line-height: 56px;
  max-width: 440px;
}
.footer-top__desc {
  max-width: 440px;
  margin-bottom: 68px;
}
.footer-top__form form {
  max-width: 494px;
}
.footer-bottom {
  background: #2E3D47;
  padding: 52px 0 32px;
}
.footer-bottom__menu {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.footer-bottom__menu-row {
  display: flex;
}
.footer-bottom__menu-row:first-of-type {
  gap: 64px;
}
.footer-bottom__menu-row:last-of-type {
  align-items: center;
  text-align: right;
}
.footer-bottom__menu-item {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.footer-bottom__phone {
  font-size: 14px;
  line-height: 24px;
  letter-spacing: -0.02em;
  max-width: 200px;
}
.footer-bottom__phone a {
  white-space: nowrap;
}
.footer-bottom__phone span {
  display: inline-block;
  border-bottom: 1px solid #FFF;
}
.footer-bottom__phone:hover span {
  border-bottom-color: rgba(255, 255, 255, 0.8);
}
.footer-bottom__vk {
  flex: 0 0 80px;
  width: 80px;
  height: 80px;
  margin-left: 32px;
  border: 1px solid #FFF;
  border-radius: 50%;
  background: url("/local/templates/tgv/css/../images/svg/btn-vk.svg") no-repeat center;
}
.footer-bottom__vk:hover {
  opacity: 0.8;
}
.footer-bottom__contacts {
  padding-left: 7px;
  max-width: 400px;
}
.footer-bottom__contacts span {
  font-size: 14px;
  line-height: 24px;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.5);
}
.footer-bottom__copyright {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 48px;
}
.footer-bottom__copyright-prominado {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: -0.03em;
  white-space: nowrap;
  text-align: right;
}
.footer-bottom__copyright-prominado a {
  border-bottom: 1px solid #FFF;
}
.footer-bottom__copyright-prominado a:hover {
  border-bottom-color: rgba(255, 255, 255, 0.8);
}
.footer-bottom__copyright-col:first-of-type {
  display: flex;
  align-items: center;
  gap: 24px;
}
.footer-bottom__copyright-logo {
  flex: 0 0 42px;
  width: 42px;
  height: 40px;
  background: url("/local/templates/tgv/css/../images/logo-white.png?v=2") no-repeat center;
  background-size: 100% auto;
}
.footer-bottom__copyright-text {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: -0.03em;
  color: rgba(255, 255, 255, 0.5);
}
.footer-seo {
  background: #32414D;
  padding: 64px 0 80px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  line-height: 16px;
  letter-spacing: -0.01em;
}
.footer-seo__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer-seo__col {
  flex: 0 0 calc(50% - 10px);
  width: calc(50% - 10px);
}
.footer-seo__col:first-of-type {
  padding-right: 48px;
}
.footer-seo__title {
  font-size: 18px;
  line-height: 28px;
  color: #FFF;
  margin-bottom: 12px;
  flex: 0 0 100%;
  width: 100%;
}
.footer-seo p + p {
  margin-top: 16px;
}

.breadcrumbs {
  padding: 16px 0;
}
.breadcrumbs__container {
  display: flex;
  gap: 20px;
}
.breadcrumbs__item {
  position: relative;
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.01em;
  color: #777;
  text-transform: uppercase;
}
.breadcrumbs__item a {
  color: #777;
}
.breadcrumbs__item a:hover {
  color: rgba(119, 119, 119, 0.8);
}
.breadcrumbs__item:not(:first-of-type):before {
  content: "";
  position: absolute;
  top: 9px;
  left: -12px;
  width: 4px;
  height: 4px;
  background: rgba(0, 0, 0, 0.64);
}

.nav {
  display: flex;
  align-items: center;
  gap: 23px;
}
.nav__item {
  color: #777;
  margin-bottom: 0;
}
.nav__item.active, .nav__item:hover {
  color: #111;
}
.nav__next, .nav__prev {
  background: url("/local/templates/tgv/css/../images/svg/nav.svg") no-repeat center;
  width: 40px;
  height: 40px;
}
.nav__next:hover, .nav__prev:hover {
  opacity: 0.8;
}
.nav__prev {
  display: none;
  transform: rotate(180deg);
}

.icon-link {
  display: inline-block;
  width: 48px;
  height: 48px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.icon-link--tg {
  background-image: url("/local/templates/tgv/css/../images/svg/tg.svg");
}
.icon-link--max {
  background-image: url("/local/templates/tgv/css/../images/svg/max.svg");
}

.top-menu {
  padding-top: 64px;
  overflow: hidden;
}
.top-menu__links {
  height: 67px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}
.top-menu__links-wrapper {
  display: flex;
  overflow-x: auto;
  padding: 0 56px 200px;
  margin: 0 -56px;
}
.top-menu__link {
  padding: 8px 16px;
  border: 1px solid transparent;
  border-radius: 999px;
  margin-bottom: 0;
  white-space: nowrap;
}
.top-menu__link.active {
  color: #1C542C;
  border-color: #1C542C;
}
.top-menu__title {
  max-width: 1000px;
}

.top-bg {
  position: relative;
  margin-top: -96px;
  padding-bottom: 32px;
  height: 500px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: flex-end;
}
.top-bg:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0.7);
}
.top-bg--news:before {
  background: rgba(0, 0, 0, 0.5);
}
.top-bg__breadcrumbs {
  flex: 0 0 100%;
  width: 100%;
}
.top-bg__back {
  position: relative;
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.01em;
}
.top-bg__back:before {
  content: "";
  width: 1px;
  height: 24px;
  position: absolute;
  top: 0;
  right: -24px;
  background: #FFF;
}
.top-bg__back a {
  position: relative;
  display: inline-block;
  padding-left: 42px;
  color: #FFF;
  text-transform: uppercase;
}
.top-bg__back a:before {
  content: "";
  width: 24px;
  height: 24px;
  background: url("/local/templates/tgv/css/../images/svg/btn-back-white.svg") no-repeat center;
  position: absolute;
  top: 0;
  left: 0;
}
.top-bg__back a:hover {
  opacity: 0.8;
}
.top-bg__mobile-img {
  display: none;
}
.top-bg__about {
  margin-top: 480px;
}
.top-bg__about-text {
  max-width: 575px;
}
.top-bg__about-text--mobile {
  display: none;
}
.top-bg__about-text h3 {
  color: #777;
  margin-bottom: 26px;
}
.top-bg__about-text .h1 {
  margin-bottom: 0;
}
.top-bg--service {
  height: auto;
  display: block;
  padding-bottom: 80px;
}
.top-bg--service:before {
  background: rgba(0, 0, 0, 0.55);
}
.top-bg--service .top-bg__breadcrumbs {
  padding-top: 112px;
}
.top-bg--service .top-bg__service > .wrap {
  position: relative;
  color: #FFF;
}
.top-bg--service .top-bg__service--building .top-bg__info-title {
  margin-bottom: 80px;
}
.top-bg--service .top-bg__service--building .top-bg__info-title svg, .top-bg--service .top-bg__service--building .top-bg__info-title img {
  top: -2px;
}
.top-bg--service .top-bg__service--building .top-bg__info-col {
  padding-bottom: 80px;
}
.top-bg--service .top-bg__service--building .top-bg__info-col p {
  max-width: 300px;
}
.top-bg--service h1 {
  margin: 56px 0 250px;
  max-width: 1000px;
}
.top-bg--service .top-bg__info {
  display: flex;
  gap: 110px;
}
.top-bg--service .top-bg__info-col {
  position: relative;
  flex: 0 0 calc(33.3333333333% - 73.3333333333px);
  width: calc(33.3333333333% - 73.3333333333px);
  padding: 16px 0 116px;
}
.top-bg--service .top-bg__info-col:not(:first-of-type):before {
  content: "";
  width: 1px;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
  position: absolute;
  top: 0;
  left: -55px;
}
.top-bg--service .top-bg__info-title {
  position: relative;
  padding-left: 40px;
  margin-bottom: 60px;
}
.top-bg--service .top-bg__info-title svg, .top-bg--service .top-bg__info-title img {
  position: absolute;
  top: 0;
  left: 0;
}
.top-bg--service .top-bg__info p {
  font-size: 14px;
  line-height: 20px;
  max-width: 350px;
}
.top-bg--service .top-bg__info p + p {
  margin-top: 16px;
}
.top-bg--about {
  padding-bottom: 0;
}
.top-bg--about .top-menu__links {
  margin-top: 96px;
  border-bottom: none;
}

.slider-nav {
  width: 56px;
  height: 56px;
  background: url("/local/templates/tgv/css/../images/svg/nav.svg") no-repeat center;
  background-size: 56px auto;
  margin: 0;
}
.slider-nav:after {
  content: none;
}
/* Swiper даёт стрелкам tabindex, Safari после клика рисует системный focus ring */
.slider-nav:focus {
  outline: none;
}
.slider-nav.swiper-button-prev {
  transform: rotate(180deg);
}

@media (min-width: 992px) {
  .body--top-bg .header {
    color: #FFF;
  }
  .body--top-bg .header a {
    color: #FFF;
  }
  .body--top-bg .header a:hover {
    color: rgba(255, 255, 255, 0.8);
  }
  .body--top-bg .header-logo {
    background-image: url("/local/templates/tgv/css/../images/logo-header-white.png?v=2");
  }
  .body--top-bg .header-time {
    color: #FFF;
  }
  .body--top-bg .header-time a {
    color: #FFF !important;
  }
  .body--top-bg .header-time a:not(:hover) {
    border-bottom-color: #FFF;
  }
  .body--top-bg .header-burger {
    background: #FFF;
  }
  .body--top-bg .header-burger span {
    background: #1C542C;
  }
  .body--top-bg .header-burger:hover {
    background: rgba(255, 255, 255, 0.8);
  }
  .body--top-bg .breadcrumbs {
    padding: 0;
  }
  .body--top-bg .breadcrumbs .wrap {
    display: flex;
    align-items: center;
    gap: 48px;
  }
  .body--top-bg .breadcrumbs__item {
    color: rgba(255, 255, 255, 0.5);
  }
  .body--top-bg .breadcrumbs__item a {
    color: rgba(255, 255, 255, 0.5);
  }
  .body--top-bg .breadcrumbs__item a:hover {
    color: rgba(255, 255, 255, 0.8);
  }
  .body--top-bg .breadcrumbs__item:not(:first-of-type):before {
    background: rgba(255, 255, 255, 0.5);
  }
  .top-bg--about .top-menu__link {
    color: #FFF;
  }
  .top-bg--about .top-menu__link:not(.active):hover {
    color: rgba(255, 255, 255, 0.8);
  }
  .top-bg--about .top-menu__link.active {
    border-color: #FFF;
  }
}
@media (max-width: 1199px) {
  .wrap {
    padding: 0 36px;
  }
  .footer-bottom__menu-row:first-of-type {
    gap: 32px;
  }
  .footer-bottom__contacts {
    padding-left: 0;
  }
  .footer-bottom__vk {
    margin-left: 16px;
  }
  .top-menu__links-wrapper {
    padding: 0 36px 200px;
    margin: 0 -36px;
  }
}
@media (max-width: 991px) {
  body {
    font-size: 14px;
    line-height: 20px;
  }
  .body--404, .body--bg-inner, .body--projects {
    background-image: none;
  }
  .btn {
    width: 100%;
  }
  .btn--telegram {
    font-size: 14px;
    line-height: 20px;
    padding: 7px 44px 7px 16px;
  }
  .btn--search {
    border-radius: 50%;
    width: 33px;
    height: 33px;
  }
  .wrap {
    padding: 0 16px;
  }
  h1, .h1 {
    font-size: 32px;
    line-height: 36px;
    letter-spacing: -0.02em;
    margin-bottom: 24px;
  }
  h2, .h2 {
    font-size: 28px;
    line-height: 32px;
    margin-bottom: 16px;
  }
  h3, .h3 {
    font-size: 28px;
    line-height: 32px;
    letter-spacing: -0.03em;
    margin-bottom: 16px;
  }
  h4, .h4,
h5, .h5 {
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 4px;
  }
  .input {
    font-size: 14px;
    line-height: 20px;
  }
  .input::placeholder {
    color: #FFF;
  }
  .form-agreement {
    max-width: 100%;
  }
  .form-submit {
    display: block;
  }
  .form-submit__success {
    margin-top: 24px;
    max-width: 100%;
    text-align: center;
  }
  .popup {
    right: -100%;
    width: 100%;
  }
  .popup--burger .popup-wrapper {
    padding-top: 0 !important;
  }
  .popup-close {
    top: 8px;
    right: 16px;
    width: 40px;
    height: 40px;
    background-size: 40px 40px;
  }
  .popup-title {
    margin-bottom: 24px;
  }
  .popup-wrapper {
    padding: 88px 16px 48px;
  }
  .burger-header {
    padding: 8px 0 32px;
    flex-direction: column;
  }
  .burger-header__search {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    background-size: 40px 40px;
    position: absolute;
    top: 8px;
    left: 16px;
  }
  .burger-header__phone {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -0.01em;
    margin-bottom: 0;
    order: 1;
  }
  .burger-header__time {
    line-height: 20px;
    letter-spacing: -0.01em;
  }
  .burger-header__time a {
    display: none;
  }
  .burger-menu {
    margin-bottom: 32px;
  }
  .burger-menu__sub {
    margin-top: 16px;
    margin-bottom: -6px;
  }
  .burger-menu__sub .burger-menu__item {
    font-size: 16px;
    line-height: 24px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .burger-menu__item {
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 24px;
    line-height: 28px;
  }
  .burger-menu__item.dropdown:before {
    top: 0;
  }
  .burger-menu .h2 {
    margin-bottom: 16px;
  }
  .burger-menu .h2 + .h3 {
    margin-top: 16px;
  }
  .burger-btns__callback {
    display: block;
    margin-top: 12px;
  }
  .burger-search__back {
    margin-bottom: 40px;
  }
  .burger-search__title {
    font-size: 32px;
    line-height: 36px;
    letter-spacing: -0.02em;
    margin-bottom: 24px;
  }
  .burger-search__form .input {
    padding-right: 50px;
  }
  .burger-search__form .btn {
    top: 2px;
  }
  .burger.is-search .burger-header {
    padding-top: 8px;
    padding-bottom: 24px;
  }
  .header-container {
    height: 56px;
  }
  .header-logo {
    flex-basis: 42px;
    width: 42px;
    height: 40px;
    background-size: 100% auto;
    margin-top: 2px;
  }
  .header-phone {
    font-size: 12px;
    line-height: 16px;
    margin-bottom: 0;
  }
  .header-time {
    display: none;
  }
  .header-burger {
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    margin-left: 17px;
  }
  .header-burger span {
    width: 20px;
    top: 12px;
  }
  .header-burger span:nth-of-type(2) {
    top: 19px;
  }
  .header-burger span:nth-of-type(3) {
    top: 26px;
  }
  .footer-top {
    background-image: none;
    padding: 48px 0;
  }
  .footer-top__container {
    display: block;
  }
  .footer-top__info, .footer-top__form {
    width: 100%;
  }
  .footer-top__title {
    font-size: 32px;
    line-height: 36px;
    letter-spacing: -0.02em;
    max-width: 100%;
  }
  .footer-top__desc {
    max-width: 100%;
    margin-bottom: 32px;
  }
  .footer-top__form {
    padding-top: 64px;
  }
  .footer-top__form form {
    max-width: 100%;
  }
  .footer-bottom {
    background: #32414D;
    padding: 0 0 48px;
  }
  .footer-bottom__menu {
    display: block;
    padding-top: 48px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .footer-bottom__menu-row {
    display: block;
  }
  .footer-bottom__menu-row:last-of-type {
    text-align: left;
    position: relative;
    padding: 24px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .footer-bottom__menu-item {
    font-size: 18px;
    line-height: 22px;
    letter-spacing: -0.01em;
    margin-bottom: 16px;
  }
  .footer-bottom__vk {
    width: 40px;
    height: 40px;
    margin-left: 0;
    background-size: 18px 18px;
    position: absolute;
    top: 50%;
    margin-top: -20px;
    right: 0;
  }
  .footer-bottom__contacts {
    margin-top: 24px;
    padding: 24px 0;
    max-width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .footer-bottom__contacts span {
    line-height: 20px;
    letter-spacing: -0.01em;
  }
  .footer-bottom__copyright {
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .footer-bottom__copyright-prominado {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -0.01em;
  }
  .footer-bottom__copyright-col:first-of-type {
    gap: 16px;
  }
  .footer-bottom__copyright-text {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -0.01em;
  }
  .footer-seo {
    padding: 0 0 48px;
    font-size: 14px;
    line-height: 20px;
  }
  .footer-seo__row {
    display: block;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 48px;
  }
  .footer-seo__col {
    width: 100%;
  }
  .footer-seo__col:first-of-type {
    padding-right: 0;
  }
  .footer-seo__col + .footer-seo__col {
    margin-top: 20px;
  }
  .footer-seo__title {
    font-family: "TT Travels", sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 12px;
  }
  .footer-seo p + p {
    margin-top: 20px;
  }
  .breadcrumbs {
    padding: 18px 0;
  }
  .breadcrumbs__item {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -0.01em;
    text-transform: none;
  }
  .breadcrumbs__item:not(:first-of-type):before {
    top: 7px;
  }
  .nav {
    gap: 32px;
    justify-content: center;
  }
  .nav__item {
    margin-bottom: 0;
  }
  .nav__item--mobile-hidden {
    display: none;
  }
  .nav__prev {
    display: block;
    margin-right: -8px;
  }
  .nav__next {
    margin-left: -8px;
  }
  .top-menu {
    padding-top: 24px;
  }
  .top-menu__links {
    height: 40px;
    padding-bottom: 0;
    border-bottom: none;
  }
  .top-menu__links-wrapper {
    padding: 0 16px 200px;
    margin: 0 -16px;
  }
  .top-menu__link {
    padding: 8px 12px;
    margin-bottom: 0;
  }
  .top-bg {
    margin-top: 0;
    padding-bottom: 0;
    height: auto;
    background: none !important;
    display: block;
  }
  .top-bg:before {
    content: none;
  }
  .top-bg__back {
    display: none;
  }
  .top-bg__mobile-img {
    display: block;
    height: 0;
    padding-top: 66%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .top-bg__about {
    margin-top: 24px;
  }
  .top-bg__about-text {
    max-width: 100%;
  }
  .top-bg__about-text--desktop {
    display: none;
  }
  .top-bg__about-text--mobile {
    display: block;
    padding: 32px 16px 48px;
  }
  .top-bg__about-text h3 {
    font-size: 18px;
    line-height: 22px;
    letter-spacing: -0.01em;
    margin-bottom: 16px;
  }
  .top-bg__about-text .h1 {
    font-size: 48px;
    line-height: 52px;
    letter-spacing: -0.01em;
    margin-bottom: 0;
  }
  .top-bg--news .top-bg__mobile-img {
    position: relative;
  }
  .top-bg--news .top-bg__mobile-img:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: rgba(0, 0, 0, 0.5);
  }
  .top-bg--service .top-bg__service {
    background: #FFF;
  }
  .top-bg--service .top-bg__breadcrumbs {
    padding-top: 0;
    white-space: nowrap;
  }
  .top-bg--service .top-bg__service {
    padding-top: 24px;
  }
  .top-bg--service .top-bg__service > .wrap {
    color: #111;
  }
  .top-bg--service .top-bg__service--building .top-bg__info-title {
    margin-bottom: 8px;
  }
  .top-bg--service .top-bg__service--building .top-bg__info-title svg {
    top: 0;
  }
  .top-bg--service .top-bg__service--building .top-bg__info-col {
    padding-bottom: 0;
  }
  .top-bg--service .top-bg__service--building .top-bg__info-col p {
    max-width: 100%;
  }
  .top-bg--service h1 {
    margin: 0 0 32px;
  }
  .top-bg--service .top-bg__mobile-img {
    padding-top: 77%;
  }
  .top-bg--service .top-bg__info {
    display: block;
    padding-bottom: 64px;
    margin-bottom: 0;
  }
  .top-bg--service .top-bg__info-col {
    width: 100%;
    padding: 0 0 0 44px;
    margin-top: 32px;
  }
  .top-bg--service .top-bg__info-col:not(:first-of-type):before {
    content: none;
  }
  .top-bg--service .top-bg__info-title {
    padding: 0;
    margin-bottom: 8px;
  }
  .top-bg--service .top-bg__info-title svg {
    left: -44px;
  }
  .top-bg--service .top-bg__info-title svg path {
    fill: #111;
  }
  .top-bg--service .top-bg__info p {
    color: #777;
    max-width: 100%;
  }
  .top-bg--about .top-bg__service {
    background: transparent;
    overflow: hidden;
  }
  .top-bg--about h1 {
    margin-bottom: 24px;
  }
  .top-bg--about .top-menu__links {
    margin-top: 24px;
    margin-bottom: 24px;
  }
  .top-bg--about .top-bg__mobile-img {
    padding-top: 66%;
  }
}
.main-top {
  padding-top: 131px;
  margin-top: -96px;
  height: 100vh;
  position: relative;
  z-index: 2;
}
.main-top.bg {
  background: url("/local/templates/tgv/css/../images/main-top-0.png") no-repeat bottom center #FFF;
  background-size: 100% auto;
}
.main-top:before {
  content: "";
  position: absolute;
  top: -96px;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("/local/templates/tgv/css/../images/svg/bg-top-main.svg");
  background-repeat: no-repeat;
  background-position: top right;
  pointer-events: none;
  z-index: 1;
}
.main-top .wrap {
  position: relative;
  z-index: 1;
}
.main-top h1 {
  font-size: 123px;
  line-height: 148px;
  letter-spacing: -0.05em;
  margin-bottom: 0;
}
.main-top__nav {
  position: relative;
  padding-left: 72px;
  height: 78px;
  overflow: hidden;
}
.main-top__nav-wrapper {
  position: relative;
  top: 0;
  /* Здесь и ниже длительности поделены на MAIN_ANIM_SPEED из script.js (1.5) — переходы
     идут в паре с JS-анимацией скролл-джека и должны укладываться в её тайминги. */
  transition: all 0.33s;
}
.main-top__nav:before {
  content: "";
  width: 48px;
  height: 32px;
  border-radius: 999px;
  background-color: #1C542C;
  background-image: url("/local/templates/tgv/css/../images/svg/btn-top-nav.svg");
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 8px;
  left: 0;
}
.main-top__nav:after {
  content: "";
  position: absolute;
  top: 40px;
  bottom: 0;
  left: 0;
  width: 500px;
  /* Safari интерполирует transparent как прозрачный чёрный — градиент серел */
  background-image: linear-gradient(to top, #FFF, rgba(255, 255, 255, 0));
}
.main-top__nav-item {
  letter-spacing: -0.02em;
  margin-bottom: 8px;
}
.main-top__nav-item:not(.active) {
  color: #777;
}
.main-top__nav-item + .main-top__nav-item {
  margin-top: 8px;
}
.main-top__nav.animate-step-1 .main-top__nav-wrapper {
  top: -56px;
}
.main-top__nav.animate-step-2 .main-top__nav-wrapper {
  top: -112px;
}
.main-top__nav.animate-step-3 .main-top__nav-wrapper {
  top: -168px;
}
.main-top__nav.animate-step-final .main-top__nav-wrapper {
  transition: none;
}
.main-nav-video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.main-nav-video.fixed {
  position: fixed;
}
.main-nav-video.done {
  display: none;
}
.main-nav-video video {
  display: none;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-nav-video video.active {
  display: block;
}
.main-nav-block {
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  overflow: hidden;
}
.main-nav-block.bg {
  background-color: #F7F7F5;
}
.main-nav-block--1.bg {
  background-image: url("/local/templates/tgv/css/../images/main-nav-1.jpg");
}
.main-nav-block--2.bg {
  background-image: url("/local/templates/tgv/css/../images/main-nav-2.jpg");
}
.main-nav-block--3.bg {
  background-image: url("/local/templates/tgv/css/../images/main-nav-3.jpg");
}
.main-nav-block--4.bg {
  background-image: url("/local/templates/tgv/css/../images/main-nav-4.jpg");
}
.main-nav-block--4.bg.done {
  background: #F7F7F5;
}
.main-nav-block .wrap {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  z-index: 1;
}
.main-nav-block__content {
  flex: 0 0 45%;
  width: 45%;
  padding-left: 56px;
  transform: translateY(50px);
  opacity: 0;
  visibility: hidden;
  transition: all 0.33s;
}
.main-nav-block.active .main-nav-block__content {
  transform: translateY(0) !important;
  opacity: 1;
  visibility: visible;
}
.main-nav-block.active-reverse .main-nav-block__content {
  transform: translateY(-50px);
}
.main-nav-block__title {
  margin-bottom: 12px;
  font-size: 52px;
  line-height: 56px;
}
.main-nav-block__list {
  margin: 24px 0;
}
.main-nav-block__list-item {
  position: relative;
  padding: 24px 0;
  margin: 0;
  cursor: default;
}
.main-nav-block__list-item + .main-nav-block__list-item {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}
/* TODO: вернуть стрелочки на ховере, когда появятся страницы пунктов
.main-nav-block__list-item:before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url("/local/templates/tgv/css/../images/svg/arrow.svg") no-repeat center;
  position: absolute;
  top: 22px;
  left: -112px;
  opacity: 0;
  transition: all 0.3s;
}
.main-nav-block__list-item.active:before {
  opacity: 1;
  left: -56px;
}
*/
.main-nav-block__numbers {
  margin-bottom: 64px;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.01em;
}
.main-nav-block__numbers-row {
  position: relative;
}
.main-nav-block__numbers-row + .main-nav-block__numbers-row {
  margin-top: 64px;
}
.main-nav-block__numbers-row:before {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  position: absolute;
  top: 10px;
  left: -62px;
  background-repeat: no-repeat;
  background-position: center;
}
.main-nav-block__numbers-row--1:before {
  background-image: url("/local/templates/tgv/css/../images/svg/main-nav-icon-1.svg");
}
.main-nav-block__numbers-row--2:before {
  background-image: url("/local/templates/tgv/css/../images/svg/main-nav-icon-2.svg");
}
.main-nav-block__numbers-row--3:before {
  background-image: url("/local/templates/tgv/css/../images/svg/main-nav-icon-3.svg");
}
.main-nav-block__number {
  display: inline-block;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 999px;
  padding: 11px 24px 7px;
  white-space: nowrap;
  margin-bottom: 0;
}
.main-nav-block__number span {
  font-size: 52px;
  line-height: 56px;
  letter-spacing: -0.03em;
}
.main-nav-block__number-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}
.main-nav-block ol {
  counter-reset: section;
  list-style-type: none;
  margin-top: 24px;
}
.main-nav-block ol li {
  position: relative;
  padding-left: 36px;
}
.main-nav-block ol li + li {
  margin-top: 12px;
}
.main-nav-block ol li:before {
  content: counter(section);
  counter-increment: section;
  position: absolute;
  top: 0;
  left: 0;
  background: #F1F1F1;
  width: 28px;
  height: 20px;
  border-radius: 999px;
  text-align: center;
}
.main-nav-block--reverse .wrap {
  justify-content: flex-start;
}
.main-nav-block--reverse .main-nav-block__content {
  flex-basis: 52%;
  width: 52%;
  padding-left: 0;
}
.main-nav-block--reverse .main-nav-block__title {
  margin-bottom: 48px;
}
.main-nav-block--reverse p + p {
  margin-top: 16px;
}
.main-nav-block--reverse .btn {
  margin-top: 48px;
}
.main-directions {
  padding: 96px 0;
  background-color: #F7F7F5;
  transition: margin-top 0.47s;
  margin-top: 0;
  position: relative;
}
.main-directions.animate {
  margin-top: -100vh;
}
.main-directions.done {
  transition: none;
}
.main-directions__title {
  margin-bottom: 48px;
}
.main-directions__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.main-directions__item {
  position: relative;
  flex: 0 0 calc(50% - 10px);
  width: calc(50% - 10px);
  padding: 272px 150px 32px 32px;
  color: #FFF !important;
  border-radius: 4px;
  overflow: hidden;
}
.main-directions__item:before {
  content: "";
  width: 56px;
  height: 56px;
  position: absolute;
  bottom: 72px;
  right: 32px;
  background: url("/local/templates/tgv/css/../images/svg/arrow-white.svg") no-repeat center;
  z-index: 1;
}
.main-directions__item-img {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transform: scale(1);
  transition: all 0.3s;
}
.main-directions__item-img:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 14.02%, rgba(0, 0, 0, 0.64) 26.92%, rgba(0, 0, 0, 0) 59.99%);
}
.main-directions__item-title {
  position: relative;
  z-index: 1;
}
.main-directions__item:hover .main-directions__item-img {
  transform: scale(1.15);
}
.main-certification {
  padding: 96px 0;
  background-color: #FFF;
  position: relative;
}
.main-certification__title {
  margin-bottom: 0;
}
.main-certification__list {
  margin-top: -60px;
}
.main-certification__row {
  display: flex;
  justify-content: flex-end;
  margin: 0 -16px;
}
.main-certification .certificates-item__bg {
  background: #F7F7F5;
}
.main-geography {
  padding: 96px 0;
  background: url("/local/templates/tgv/css/../images/main-geography.png") no-repeat top center;
  background-color: #F7F7F5;
  background-size: 1440px auto;
  transition: all 1.3s;
  position: relative;
}
.main-geography__title {
  max-width: 600px;
  margin-bottom: 48px;
  transition: all 1.3s;
}
.main-geography__numbers {
  display: none;
}
.main-geography__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  transition: all 1.3s;
}
.main-geography__map {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 150px;
  left: 0;
  right: 0;
  max-width: 1440px;
  margin: auto;
  height: 700px;
  transition: all 1.3s;
}
.main-geography__map-item {
  position: absolute;
}
.main-geography__map-item:nth-of-type(1) {
  top: 170px;
  left: 24%;
}
.main-geography__map-item:nth-of-type(2) {
  top: 380px;
  left: 50%;
}
.main-geography__map-item:nth-of-type(3) {
  top: 220px;
  left: 56%;
}
.main-geography__map-item:nth-of-type(4) {
  top: 400px;
  left: 14%;
}
.main-geography__map-item:nth-of-type(5) {
  top: 460px;
  left: 46%;
}
.main-geography__map-item:nth-of-type(6) {
  top: 520px;
  left: 66%;
}
.main-geography__map-item_title {
  position: relative;
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.03em;
  color: #111;
}
.main-geography__map-item_title:before {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background: #1C542C;
  position: absolute;
  top: 0;
  left: -28px;
}
.main-geography__map-item_title:after {
  content: "";
  width: 200px;
  height: 200px;
  border-radius: 100%;
  background: #1C542C;
  opacity: 0.09;
  position: absolute;
  top: -90px;
  left: -118px;
  transform: scale(0);
  transition: all 0.3s;
}
.main-geography__map-item:hover .main-geography__map-item_title:after, .main-geography__map-item.active .main-geography__map-item_title:after {
  transform: scale(1);
}
.main-geography__map-item_popup {
  display: none;
  position: absolute;
  top: -38px;
  left: 30px;
  background: #FFF;
  box-shadow: 0 0 48px 0 rgba(0, 0, 0, 0.19);
  border-radius: 16px;
  padding: 12px 12px 28px;
  width: 360px;
  z-index: 2;
}
.main-geography__map-item_popup:before {
  content: "";
  width: 71px;
  height: 81px;
  background: url("/local/templates/tgv/css/../images/svg/popup-arrow.svg") no-repeat center;
  position: absolute;
  top: 10px;
  left: -30px;
  z-index: -1;
}
.main-geography__map-item_popup-image {
  display: block;
  height: 175px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 24px;
  border-radius: 8px;
  overflow: hidden;
}
.main-geography__map-item_popup-title {
  display: block;
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.03em;
  padding: 0 8px;
  color: #111;
}
.main-geography__map-item_popup-place {
  display: block;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  padding: 0 8px;
  color: #777;
}
.main-geography__map-item_popup-desc {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.02em;
  padding: 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #777;
}
.main-geography__map-item.active .main-geography__map-item_popup {
  display: block;
}
.main-geography__map-item.active .main-geography__map-item_title {
  color: transparent;
}
.main-geography__map .btn {
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  width: 360px;
  margin: auto;
}
.main-geography__item {
  flex: 0 0 calc(33.3333333333% - 10.6666666667px);
  width: calc(33.3333333333% - 10.6666666667px);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 500px;
  border-radius: 4px;
  overflow: hidden;
  transition: all 1.3s;
}
.main-geography__item--numbers {
  position: relative;
  background: #FFF;
  border: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 32px;
}
.main-geography__item-img {
  position: absolute;
  top: 32px;
  left: 32px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 150% auto;
  transition: all 0.7s;
  z-index: 1;
}
.main-geography__item-number {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 100px;
  line-height: 120px;
  letter-spacing: -0.05em;
  color: #111 !important;
  transition: all 1.3s;
}
.main-geography__item-text {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 24px;
  color: #777 !important;
  transition: all 1.3s;
}
.main-geography__item-info, .main-geography__item-info-img {
  display: none;
}
.main-geography .wrap .btn {
  display: none;
}
.main-partners {
  padding: 96px 0 68px;
  background: #F7F7F5;
  position: relative;
}
.main-partners__title {
  margin-bottom: 16px;
}
.main-partners__text {
  margin-left: 50%;
  margin-top: -16px;
  max-width: 420px;
  color: #777;
  font-size: 14px;
  line-height: 20px;
}
.main-partners__list {
  margin-top: 85px;
}
.main-partners__row {
  display: flex;
  flex-wrap: wrap;
}
.main-partners__row:last-of-type .main-partners__item {
  border-bottom: none;
}
.main-partners__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 25%;
  width: 25%;
  height: 184px;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #F7F7F5;
  background-blend-mode: multiply;
  background-size: 70% auto;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}
.main-partners__item:first-of-type {
  border-left: none;
}
.main-partners__item:hover img {
  filter: none;
}
.main-partners__item img {
  display: block;
  max-width: 70%;
  max-height: 70%;
  object-fit: contain;
  filter: grayscale(1);
  transition: filter 0.3s;
  mix-blend-mode: darken;
}
.main-partners__item:after {
  content: "";
  width: 56px;
  height: 56px;
  background: #F7F7F5;
  position: absolute;
  left: -28px;
  bottom: -28px;
  z-index: 2;
}
.main-catalog {
  background-color: #FFF;
  padding: 64px 0;
}
.main-catalog__row {
  display: flex;
}
.main-catalog__col {
  flex: 0 0 50%;
  width: 50%;
}
.main-catalog__col:first-of-type {
  padding-left: 96px;
  padding-right: 48px;
}
.main-catalog__col:last-of-type {
  display: flex;
  gap: 72px;
}
.main-catalog__title {
  position: relative;
  margin-bottom: 48px;
  max-width: 440px;
}
.main-catalog__title:before {
  content: "";
  width: 64px;
  height: 64px;
  background: url("/local/templates/tgv/css/../images/svg/cart.svg") no-repeat center;
  position: absolute;
  top: 0;
  left: -96px;
}
.main-catalog__links {
  flex: 0 0 calc(50% - 36px);
  width: calc(50% - 36px);
}
.main-catalog__links-item {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: -0.03em;
}
.main-catalog__links-item + .main-catalog__links-item {
  margin-top: 8px;
}
.main-news {
  padding: 96px 0;
  background: #F7F7F5;
}
.main-news__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 48px;
}
.main-news__header .btn--no-border {
  display: none;
}
.main-news__title {
  font-size: 58px;
  line-height: 56px;
  margin-bottom: 0;
}
.main-news__list {
  display: flex;
  justify-content: space-between;
}
.main-contacts {
  padding: 96px 0;
  background: url("/local/templates/tgv/css/../images/main-contacts.jpg") no-repeat center;
  background-color: #FFF;
  background-size: cover;
  color: #FFF;
}
.main-contacts__title {
  font-size: 100px;
  line-height: 90px;
  letter-spacing: -0.04em;
  margin-bottom: 160px;
}
.main-contacts__nav {
  display: flex;
  margin-bottom: 48px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.main-contacts__nav-item {
  padding: 7px 15px;
  border-radius: 999px;
  border: 1px solid transparent;
  color: #FFF;
}
.main-contacts__nav-item:hover {
  color: rgba(255, 255, 255, 0.7);
}
.main-contacts__nav-item.active {
  color: #FFF;
  border-color: #FFF;
}
.main-contacts__info {
  display: none;
  min-height: 104px;
}
.main-contacts__info.active {
  display: flex;
}
.main-contacts__info-col {
  flex: 0 0 50%;
  width: 50%;
}
.main-contacts__info-col:first-of-type {
  padding-right: 40px;
}
.main-contacts__info-col:first-of-type > * {
  max-width: 500px;
}
.main-contacts__info-col:first-of-type .h3 {
  margin-bottom: 12px;
}
.main-contacts__info-col:last-of-type {
  display: flex;
  gap: 20px;
}
.main-contacts__info-col p {
  font-size: 14px;
  line-height: 20px;
}
.main-contacts__info-item {
  max-width: 250px;
}
.main-contacts__info-item .gray {
  color: rgba(255, 255, 255, 0.5);
}
.main-contacts__info-item a {
  color: #FFF;
}
.main-contacts__info-item p + p {
  margin-top: 4px;
}
.main-contacts-map {
  height: 600px;
  overflow: hidden;
}

@media (max-width: 1199px) {
  .main-nav-block__content {
    flex: 0 0 50%;
    width: 50%;
    padding-left: 36px;
  }
  .main-nav-block__numbers {
    margin-bottom: 32px;
  }
  .main-nav-block__numbers-row + .main-nav-block__numbers-row {
    margin-top: 32px;
  }
  .main-nav-block ol {
    margin-top: 12px;
  }
  .main-directions__item {
    padding-top: 256px;
  }
  .main-directions__item:before {
    bottom: 56px;
  }
  .main-directions__item-title {
    font-size: 32px;
    line-height: 36px;
    letter-spacing: -0.01em;
  }
  .main-certification .certificates-item:nth-of-type(4n+1):before {
    opacity: 0;
  }
  .main-geography__item-number {
    font-size: 80px;
    line-height: 100px;
  }
}
@media (min-width: 992px) {
  body.final .header:not(.header--sticky),
body.final .main-top,
body.final .main-nav-block {
    display: none !important;
  }
  body.final .main-directions {
    margin-top: 0 !important;
  }
  .main-geography.animate {
    background-position: top -140px center;
  }
  .main-geography.animate .main-geography__title {
    transform: translateY(-100px);
    opacity: 0;
    visibility: hidden;
  }
  .main-geography.animate .main-geography__list {
    transform: translateY(-220px);
  }
  .main-geography.animate .main-geography__item {
    height: 400px;
    border-radius: 16px;
  }
  .main-geography.animate .main-geography__item:nth-of-type(1) {
    transform: scale(0.6) translateY(50px);
    transform-origin: top right;
  }
  .main-geography.animate .main-geography__item:nth-of-type(2) {
    transform: scale(0.5) translateY(440px);
    transform-origin: top right;
    border-color: transparent;
  }
  .main-geography.animate .main-geography__item:nth-of-type(2) .main-geography__item-number,
.main-geography.animate .main-geography__item:nth-of-type(2) .main-geography__item-text {
    opacity: 0;
    visibility: hidden;
  }
  .main-geography.animate .main-geography__item:nth-of-type(2) .main-geography__item-img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    background-size: cover;
  }
  .main-geography.animate .main-geography__item:nth-of-type(3) {
    transform: scale(0.9) translateY(10px);
    transform-origin: top right;
  }
  .main-geography.animate .main-geography__item:nth-of-type(4) {
    transform: scale(0.8) translateY(-120px);
    transform-origin: bottom left;
  }
  .main-geography.animate .main-geography__item:nth-of-type(5) {
    transform: scale(0.6) translateY(-70px) translateX(20px);
    transform-origin: bottom left;
  }
  .main-geography.animate .main-geography__item:nth-of-type(6) {
    transform: scale(0.4) translateY(-120px);
    transform-origin: bottom right;
  }
  .main-geography.animate-step-2 {
    padding-bottom: 0;
    margin-bottom: -200px;
  }
  .main-geography.animate-step-2 .main-geography__list {
    opacity: 0;
    visibility: hidden;
    transform: scale(0.9) translateY(-220px);
  }
  .main-geography.animate-step-2 .main-geography__map {
    opacity: 1;
    visibility: visible;
    top: 100px;
  }
}
/* На тач-устройствах (iPad) скролл-джек главной не работает — применяем к ним статичную «мобильную» раскладку главной независимо от ширины экрана */
@media (max-width: 991px), (hover: none) and (pointer: coarse) {
  .main-top {
    padding-top: 48px;
    margin-top: 0;
    height: 580px;
    min-height: 0;
    background: url("/local/templates/tgv/css/../images/main-top-0.png") no-repeat bottom left -50px #FFF;
    background-size: auto 120%;
  }
  .main-top h1 {
    font-size: 60px;
    line-height: 42px;
    letter-spacing: -0.03em;
    margin-bottom: 48px;
  }
  .main-top__nav {
    padding-left: 64px;
  }
  .main-top__nav:before {
    top: 0;
  }
  .main-top__nav:after {
    top: 30px;
    width: 350px;
  }
  .main-top__nav.animate-step-1 .main-top__nav-wrapper {
    top: -40px;
  }
  .main-top__nav.animate-step-2 .main-top__nav-wrapper {
    top: -80px;
  }
  .main-top__nav.animate-step-3 .main-top__nav-wrapper {
    top: -120px;
  }
  .main-nav-video {
    display: none !important;
  }
  .main-nav-block {
    height: auto;
    min-height: 0 !important;
    background-image: none !important;
    padding: 48px 0 64px;
    background-color: #F7F7F5;
  }
  .main-nav-block--1 {
    background-image: url("/local/templates/tgv/css/../images/main-nav-1.jpg");
  }
  .main-nav-block--1 .btn {
    padding-top: 13px;
    padding-bottom: 17px;
  }
  .main-nav-block--2 {
    background-image: url("/local/templates/tgv/css/../images/main-nav-2.jpg");
  }
  .main-nav-block--3 {
    padding-bottom: 48px;
    background-image: url("/local/templates/tgv/css/../images/main-nav-3.jpg");
  }
  .main-nav-block--4 {
    display: none;
  }
  .main-nav-block .wrap {
    display: block;
    height: auto;
  }
  .main-nav-block__content {
    flex-basis: 100%;
    width: 100%;
    padding: 0;
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }
  .main-nav-block__title {
    margin-bottom: 16px;
    font-size: 28px;
    line-height: 32px;
  }
  .main-nav-block__list {
    margin: 32px 0 14px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .main-nav-block__list-item {
    position: relative;
    padding: 0 0 24px;
    margin-bottom: 24px;
    width: calc(50% - 8px);
    flex: 0 0 calc(50% - 8px);
    min-height: 128px;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.01em;
    border: none !important;
  }
  .main-nav-block__list-item:nth-of-type(1) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.14) !important;
    border-right: 1px solid rgba(0, 0, 0, 0.14) !important;
  }
  .main-nav-block__list-item:nth-of-type(1):after {
    content: "";
    position: absolute;
    bottom: 0;
    right: -1px;
    height: 24px;
    width: 1px;
    background-color: #F7F7F5;
  }
  .main-nav-block__list-item:nth-of-type(2) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.14) !important;
  }
  .main-nav-block__list-item:nth-of-type(3) {
    border-right: 1px solid rgba(0, 0, 0, 0.14) !important;
  }
  .main-nav-block__list-item:nth-of-type(3):after {
    content: "";
    position: absolute;
    top: -25px;
    right: 0;
    height: 1px;
    width: 16px;
    background-color: #F7F7F5;
  }
  .main-nav-block__list-item:nth-of-type(4):after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -17px;
    height: 24px;
    width: 1px;
    background-color: #F7F7F5;
  }
  .main-nav-block__list-item:before {
    content: "";
    top: auto;
    bottom: 24px;
    left: 0 !important;
    opacity: 1 !important;
  }
  .main-nav-block__img {
    height: 0;
    padding-top: 88%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin: -48px 0 48px;
  }
  .main-nav-block__numbers {
    margin-bottom: 50px;
    color: #777;
  }
  .main-nav-block__numbers-row + .main-nav-block__numbers-row {
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid rgba(0, 0, 0, 0.14);
  }
  .main-nav-block__numbers-row + .main-nav-block__numbers-row:before {
    top: 32px;
  }
  .main-nav-block__numbers-row:before {
    width: 56px;
    height: 56px;
    top: 0;
    left: auto;
    right: 0;
    background-size: 56px 56px;
  }
  .main-nav-block__number {
    padding: 8px 24px;
    font-size: 20px;
    line-height: 24px;
    color: #111;
  }
  .main-nav-block__number span {
    font-size: 32px;
    line-height: 36px;
    letter-spacing: -0.02em;
  }
  .main-nav-block__number-list {
    padding-right: 80px;
  }
  .main-nav-block ol {
    margin-top: 16px;
  }
  .main-nav-block ol li:before {
    background: #FFF;
    color: #111;
  }
  .main-nav-block--reverse .main-nav-block__content {
    flex-basis: 100%;
    width: 100%;
  }
  .main-nav-block--reverse .main-nav-block__title {
    margin-bottom: 16px;
  }
  .main-nav-block--reverse p + p {
    margin-top: 8px;
  }
  .main-directions {
    padding: 48px 0 64px;
  }
  .main-directions.animate {
    margin-top: 0;
  }
  .main-directions__title {
    margin-bottom: 32px;
  }
  .main-directions__list {
    gap: 32px;
  }
  .main-directions__item {
    flex: 100%;
    width: 100%;
    padding: 0;
  }
  .main-directions__item + .main-directions__item {
    border-top: 1px solid rgba(0, 0, 0, 0.14);
    padding-top: 32px;
  }
  .main-directions__item:before {
    bottom: 0;
    left: 0;
    background-image: url("/local/templates/tgv/css/../images/svg/arrow-green.svg");
  }
  .main-directions__item-img {
    display: block;
    height: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 61%;
    margin-bottom: 32px;
    position: static;
    transform: scale(1) !important;
  }
  .main-directions__item-img:after {
    content: none;
  }
  .main-directions__item-title {
    display: block;
    font-size: 24px;
    line-height: 28px;
    color: #111;
    margin-bottom: 0;
    padding-bottom: 72px;
  }
  .main-certification {
    padding: 48px 0 50px;
  }
  .main-certification__title {
    margin-bottom: 24px;
  }
  .main-certification__list {
    margin: 0;
  }
  .main-certification__row {
    display: block;
    margin: 0;
  }
  .main-certification__row + .main-certification__row {
    margin-top: 16px;
  }
  .main-certification__row:first-of-type .certificates-item:last-of-type:after {
    content: "";
  }
  .main-geography {
    padding: 48px 0;
    background-image: url("/local/templates/tgv/css/../images/main-geography--mobile.png");
    background-position: top 25% center;
    background-size: 100% auto;
    overflow: hidden;
  }
  .main-geography span {
    display: block;
  }
  .main-geography__title {
    text-align: center;
    max-width: 100%;
  }
  .main-geography__numbers {
    display: block;
    text-align: center;
    margin-bottom: 190px;
  }
  .main-geography__numbers span {
    display: block;
    font-family: "TT Travels", sans-serif;
    font-weight: 600;
  }
  .main-geography__numbers span:first-of-type {
    font-size: 48px;
    line-height: 52px;
  }
  .main-geography__numbers span:last-of-type {
    font-size: 18px;
    line-height: 22px;
    color: #777;
  }
  .main-geography__list {
    gap: 8px;
    flex-wrap: nowrap;
    padding: 0 16px;
    margin: 0 -16px 48px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
  }
  .main-geography__item {
    flex: 0 0 89%;
    width: 89%;
    background: #FFF !important;
    height: auto;
  }
  .main-geography__item--numbers {
    border: none;
    display: block;
    padding: 0;
  }
  .main-geography__item-img, .main-geography__item-number, .main-geography__item-text {
    display: none !important;
  }
  .main-geography__item-info {
    display: block;
    padding: 24px;
  }
  .main-geography__item-info-img {
    display: block;
    height: 0;
    padding-top: 82%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .main-geography__item-info-name {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.01em;
    color: #111 !important;
  }
  .main-geography__item-info-place, .main-geography__item-info-desc {
    color: #777;
    margin-bottom: 16px;
  }
  .main-geography__item-info-desc {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .main-geography__item-info:after {
    content: "";
    display: block;
    width: 56px;
    height: 56px;
    background: url("/local/templates/tgv/css/../images/svg/arrow-green.svg") no-repeat center;
  }
  .main-geography .wrap .btn {
    display: block;
  }
  .main-partners {
    padding: 48px 0 64px;
  }
  .main-partners__text {
    margin-left: 0;
    margin-top: 32px;
    max-width: 100%;
    color: #111;
  }
  .main-partners__list {
    margin-top: 32px;
  }
  .main-partners__row {
    gap: 0 12px;
    justify-content: space-between;
  }
  .main-partners__item {
    flex: 0 0 calc(50% - 6px);
    width: calc(50% - 6px);
    height: 80px;
    background-size: contain;
    border: none !important;
    transform: scale(0.85);
  }
  .main-partners__item:after {
    content: none;
  }
  .main-catalog {
    padding: 48px 0 64px;
  }
  .main-catalog__row {
    display: block;
  }
  .main-catalog__col {
    width: 100%;
  }
  .main-catalog__col:first-of-type {
    padding: 0;
  }
  .main-catalog__col:last-of-type {
    display: block;
    margin-top: 32px;
  }
  .main-catalog__title {
    margin-bottom: 32px;
    max-width: 100%;
    padding-top: 96px;
  }
  .main-catalog__title:before {
    left: 0;
  }
  .main-catalog__links {
    width: 100%;
  }
  .main-catalog__links + .main-catalog__links {
    margin-top: 12px;
  }
  .main-catalog__links-item {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -0.01em;
  }
  .main-catalog__links-item + .main-catalog__links-item {
    margin-top: 12px;
  }
  .main-news {
    padding: 48px 0 64px;
  }
  .main-news__header {
    margin-bottom: 32px;
    align-items: flex-end;
  }
  .main-news__header .btn {
    display: none;
  }
  .main-news__header .btn--no-border {
    display: block;
  }
  .main-news__title {
    font-size: 28px;
    line-height: 32px;
  }
  .main-news__list {
    display: block;
  }
  .main-news__list .news-item:last-of-type {
    display: none;
  }
  .main-contacts {
    padding: 0 0 48px;
    background-image: none;
    color: #111;
  }
  .main-contacts__title {
    font-size: 28px;
    line-height: 32px;
    letter-spacing: -0.03em;
    margin-bottom: 32px;
  }
  .main-contacts__img {
    height: 0;
    padding-top: 66%;
    background: url("/local/templates/tgv/css/../images/main-contacts--mobile.jpg") no-repeat center;
    background-size: cover;
    margin-bottom: 48px;
  }
  .main-contacts__nav {
    display: block;
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom-color: rgba(0, 0, 0, 0.14);
  }
  .main-contacts__nav-item {
    display: block;
    color: #111 !important;
    text-align: center;
  }
  .main-contacts__nav-item.active {
    border-color: #1C542C;
    color: #1C542C !important;
  }
  .main-contacts__nav-item + .main-contacts__nav-item {
    margin-top: 8px;
  }
  .main-contacts__info {
    display: none;
    min-height: 0;
  }
  .main-contacts__info.active {
    display: block;
  }
  .main-contacts__info-col {
    width: 100%;
  }
  .main-contacts__info-col:first-of-type {
    padding-right: 0;
  }
  .main-contacts__info-col:first-of-type > * {
    max-width: 100%;
  }
  .main-contacts__info-col:first-of-type .h3 {
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 16px;
  }
  .main-contacts__info-col:last-of-type {
    display: block;
    margin-top: 48px;
  }
  .main-contacts__info-item {
    max-width: 100%;
  }
  .main-contacts__info-item .gray {
    color: #777;
  }
  .main-contacts__info-item a {
    color: #111;
  }
  .main-contacts__info-item p + p {
    margin-top: 8px;
  }
  .main-contacts__info-item + .main-contacts__info-item {
    margin-top: 24px;
  }
  .main-contacts-map {
    height: 320px;
  }
}
@media (max-width: 359px) {
  .main-top h1 {
    font-size: 52px;
  }
}
.page-404 {
  padding: 18% 0;
}
.page-404__container {
  max-width: 300px;
  margin: 0 auto;
  text-align: center;
}
.page-404__title {
  margin-bottom: 24px;
}
.page-404__desc {
  color: #777;
  margin-bottom: 24px;
}

@media (max-width: 991px) {
  .page-404 {
    padding: 0;
    height: calc(100vh - 56px);
  }
  .page-404 .wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
  .page-404__container {
    max-width: 100%;
  }
  .page-404__title {
    font-size: 48px;
    line-height: 52px;
    letter-spacing: -0.01em;
    margin-bottom: 8px;
  }
  .page-404__desc {
    margin-bottom: 0;
  }
  .page-404 a {
    display: none;
  }
}
.contacts-map {
  height: 620px;
}
.contacts-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 64px 0;
}
.contacts-col {
  flex: 0 0 50%;
  width: 50%;
}
.contacts-col:first-of-type {
  max-width: 515px;
}
.contacts-col:last-of-type {
  max-width: 430px;
}
.contacts-service__title {
  color: #1C542C;
}
.contacts-service__time {
  margin-bottom: 0;
}
.contacts-address h3 {
  margin-bottom: 12px;
}
.contacts-address p {
  font-size: 14px;
  line-height: 20px;
  color: #777;
}
.contacts-info {
  margin-top: 48px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 14px;
  line-height: 20px;
}
.contacts-info .gray {
  color: #777;
  white-space: nowrap;
}
.contacts-info p + p {
  margin-top: 4px;
}
.contacts-info__col {
  max-width: 255px;
  min-width: 235px;
}
.contacts-btns {
  margin-top: 48px;
  display: flex;
  align-items: center;
  gap: 48px;
}
.main-contacts__nav--light {
  border-bottom-color: rgba(0, 0, 0, 0.14);
}
.main-contacts__nav--light .main-contacts__nav-item {
  color: #000;
}
.main-contacts__nav--light .main-contacts__nav-item:hover {
  color: rgba(0, 0, 0, 0.6);
}
.main-contacts__nav--light .main-contacts__nav-item.active {
  color: #000;
  border-color: #000;
}
.contacts .main-contacts__info {
  display: none;
  min-height: 0;
}
.contacts .main-contacts__info.active {
  display: block;
}

@media (max-width: 1199px) {
  .contacts-col:last-of-type {
    max-width: 395px;
  }
  .contacts-btns {
    gap: 24px;
  }
}
@media (max-width: 991px) {
  .contacts-map {
    height: 320px;
  }
  .contacts-row {
    display: block;
    padding: 0;
  }
  .contacts-col {
    width: 100%;
  }
  .contacts-col:first-of-type, .contacts-col:last-of-type {
    max-width: 100%;
  }
  .contacts-service {
    padding: 48px 0;
    margin-top: 48px;
    border-top: 1px solid rgba(0, 0, 0, 0.14);
    text-align: center;
  }
  .contacts-service__title {
    color: #777;
    font-size: 18px;
    line-height: 22px;
    letter-spacing: -0.01em;
    margin-bottom: 8px;
  }
  .contacts-address h3 {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.01em;
    margin-bottom: 16px;
  }
  .contacts-info {
    display: block;
  }
  .contacts-info .gray {
    white-space: normal;
  }
  .contacts-info p + p {
    margin-top: 8px;
  }
  .contacts-info__col {
    max-width: 100%;
    min-width: 0;
  }
  .contacts-info__col + .contacts-info__col {
    margin-top: 24px;
  }
  .contacts-btns {
    gap: 32px 48px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .contacts-btns .btn {
    flex: 0 0 100%;
    width: 100%;
    padding: 17px 58px 17px 36px;
  }
  .contacts-btns .icon-link {
    flex: 0 0 48px;
    width: 48px;
  }
}
.search {
  padding: 64px 0 96px;
}
.search-title {
  margin-bottom: 64px;
}
.search-list {
  max-width: 656px;
}
.search-item {
  display: block;
}
.search-item + .search-item {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}
.search-item span {
  display: block;
}
.search-item span:not([class]) {
  font-size: 14px;
  line-height: 20px;
  color: #777;
}
.search .nav {
  margin-top: 100px;
}

@media (max-width: 991px) {
  .search {
    padding: 24px 0 64px;
  }
  .search-title {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.01em;
    margin-bottom: 24px;
  }
  .search-list {
    max-width: 100%;
  }
  .search-item__title {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 12px;
  }
  .search .nav {
    margin-top: 48px;
  }
}
.team {
  padding: 80px 0 160px;
}
.team-list {
  display: flex;
  flex-wrap: wrap;
  gap: 64px 16px;
}
.team-item {
  flex: 0 0 calc(25% - 12px);
  width: calc(25% - 12px);
}
.team-item__img {
  height: 0;
  padding-top: 137.5%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-bottom: 20px;
  border-radius: 4px;
  overflow: hidden;
}
.team-item__position {
  margin-bottom: 0;
}
.team-item__name {
  font-size: 14px;
  line-height: 20px;
  color: #777;
}
.team-join {
  background: #FFF;
  padding: 64px 0;
}
.team-join__row {
  display: flex;
}
.team-join__col:first-of-type {
  flex: 0 0 450px;
  width: 450px;
}
.team-join__col:last-of-type {
  flex: 0 0 calc(100% - 450px);
  width: calc(100% - 450px);
}
.team-join__icon {
  margin-top: 36px;
  width: 216px;
  height: 120px;
  background: url("/local/templates/tgv/css/../images/team-join.png") no-repeat center;
  background-size: 100% auto;
}
.team-join__title {
  letter-spacing: -0.02em;
  margin-bottom: 32px;
}

.certificates {
  padding: 80px 0 160px;
}
.certificates-list {
  display: flex;
  flex-wrap: wrap;
  margin: -16px -16px 0;
}
.certificates-item {
  position: relative;
  flex: 0 0 25%;
  width: 25%;
  height: 154px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px;
}
.certificates-item.certificates-item--left-border:before {
  opacity: 1 !important;
}
.certificates-item__bg {
  position: absolute;
  z-index: 1;
  top: -1px;
  bottom: -1px;
  left: -1px;
  right: -1px;
  margin: auto;
  background: #FFF;
  opacity: 0;
  transition: all 0.3s;
}
.certificates-item:hover .certificates-item__bg {
  opacity: 1;
}
.certificates-item__icon {
  position: relative;
  z-index: 2;
  width: 40px;
  height: 40px;
  background: url("/local/templates/tgv/css/../images/svg/arrow-green.svg") no-repeat center;
  background-size: 100% auto;
}
.certificates-item__name {
  position: relative;
  z-index: 2;
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 20px;
  letter-spacing: -0.03em;
  color: #111;
}
.certificates-item:before {
  content: "";
  width: 1px;
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 0;
  background: rgba(0, 0, 0, 0.14);
}
.certificates-item:after {
  content: "";
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 16px;
  right: 16px;
  background: rgba(0, 0, 0, 0.14);
}

.reviews-nav {
  margin-top: 48px;
  display: flex;
  justify-content: space-between;
}
.reviews-nav__item {
  position: relative;
  flex: 0 0 calc(42% - 1px);
  width: calc(42% - 1px);
  height: 500px;
  color: #FFF !important;
  overflow: hidden;
  padding: 56px 0;
}
.reviews-nav__item:before {
  content: "";
  background: rgba(0, 0, 0, 0.65);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transition: all 0.3s;
}
.reviews-nav__item.active {
  flex-basis: calc(58% - 1px);
  width: calc(58% - 1px);
}
.reviews-nav__item.active .wrap {
  max-width: 835px;
}
.reviews-nav__item.active:before {
  background: rgba(0, 0, 0, 0.5);
}
.reviews-nav__item:first-of-type .wrap {
  float: right;
}
.reviews-nav__item:last-of-type .wrap {
  float: left;
}
.reviews-nav__item .wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  height: 100%;
  max-width: 605px;
  transition: all 0.3s;
}
.reviews-nav__item .wrap:after {
  content: "";
  width: 56px;
  height: 56px;
  position: absolute;
  bottom: 15px;
  right: 56px;
  background: url("/local/templates/tgv/css/../images/svg/arrow-white-down.svg") no-repeat center;
}
.reviews-nav__item:not(.active):hover .reviews-nav__img {
  transform: scale(1.15);
}
.reviews-nav__img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: -1;
  transform: scale(1);
  transition: all 0.3s;
}
.reviews-nav__title {
  letter-spacing: -0.02em;
  margin-bottom: 0;
}
.reviews-nav__count {
  display: flex;
  gap: 12px;
  align-items: baseline;
}
.reviews-nav__count-number {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 100px;
  line-height: 90px;
  letter-spacing: -0.04em;
}
.reviews-nav__count-text {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 24px;
}
.reviews-list {
  margin: 80px 0 160px;
  display: flex;
  align-items: flex-start;
}
.reviews-left {
  flex: 0 0 33%;
  width: 33%;
  position: -webkit-sticky;
  position: sticky;
  top: 24px;
}
.reviews-left__title {
  margin-bottom: 4px;
}
.reviews-items {
  flex: 0 0 67%;
  width: 67%;
}
.reviews-item {
  background: #FFF;
  padding: 56px 40px;
  border-radius: 4px;
}
.reviews-item + .reviews-item {
  margin-top: 2px;
}
.reviews-item__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}
.reviews-item__title {
  margin-bottom: 0;
  padding-right: 24px;
}
.reviews-item__labels {
  display: flex;
  gap: 2px;
}
.reviews-item__labels span {
  border-radius: 2px;
  background: #1C542C;
  font-size: 14px;
  line-height: 20px;
  padding: 2px 8px 4px;
  color: #FFF;
}
.reviews-item__name {
  display: flex;
  gap: 16px;
  color: #777;
}
.reviews-item__text {
  margin-top: 32px;
  color: #777;
}
.reviews-item__btns {
  margin-top: 32px;
  padding-top: 4px;
  display: flex;
  gap: 40px;
}
.reviews-item__btns b {
  font-weight: 600;
}
.reviews .nav {
  margin-top: 40px;
}

.vacancies-list {
  margin: 80px 0 160px;
  padding-left: 33%;
}
.vacancies-item {
  background: #FFF;
  border-radius: 4px;
}
.vacancies-item + .vacancies-item {
  margin-top: 2px;
}
.vacancies-item__link {
  position: relative;
  display: block;
  padding: 24px 100px 24px 32px;
}
.vacancies-item__link span {
  display: block;
}
.vacancies-item__link-desc {
  font-size: 14px;
  line-height: 20px;
  color: #777;
}
.vacancies-item__link:before {
  content: "";
  position: absolute;
  top: 23px;
  right: 32px;
  width: 56px;
  height: 56px;
  background: url("/local/templates/tgv/css/../images/svg/btn-accordion.svg") no-repeat center;
  background-size: 100% auto;
  transition: all 0.3s;
}
.vacancies-item__title {
  margin-bottom: 12px;
}
.vacancies-item__salary {
  margin-bottom: 0;
  display: flex;
  gap: 16px;
}
.vacancies-item__salary span:first-of-type {
  color: #777;
}
.vacancies-item__content {
  height: 0;
  overflow: hidden;
  padding: 0 32px;
}
.vacancies-item__content-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.vacancies-item__content-text {
  padding-top: 48px;
  padding-bottom: 32px;
  margin-top: 48px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}
.vacancies-item__content-block + .vacancies-item__content-block {
  margin-top: 48px;
}
.vacancies-item__content-block h5 {
  margin-bottom: 12px;
}
.vacancies-item__content-block p {
  color: #777;
}
.vacancies-item.active-link .vacancies-item__link:before {
  transform: rotate(180deg);
}
.vacancies-item.active .vacancies-item__content {
  height: auto;
}

.about-top {
  padding: 96px 0 120px;
}
.about-top__container {
  display: flex;
}
.about-top__left {
  flex: 0 0 67%;
  width: 67%;
  padding-right: 48px;
}
.about-top__right {
  flex: 0 0 33%;
  width: 33%;
  padding-top: 72px;
}
.about-top__text {
  max-width: 655px;
}
.about-top__text h2 {
  margin-bottom: 17px;
}
.about-top__text p + p {
  margin-top: 28px;
}
.about-top__numbers + .about-top__numbers {
  padding-top: 40px;
  margin-top: 40px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}
.about-top__number {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 100px;
  line-height: 120px;
  letter-spacing: -0.05em;
  margin-bottom: -10px;
}
.about-top__number span {
  color: #1C542C;
}
.about-top__img {
  height: 0;
  padding-top: 61.5%;
  background: url("/local/templates/tgv/css/../images/about-top.jpg?2") no-repeat center;
  background-size: cover;
}
.about-comp {
  padding: 80px 0 96px;
}
.about-comp__container {
  display: flex;
  align-items: flex-start;
}
.about-comp__title {
  width: 33%;
  flex: 0 0 33%;
  position: -webkit-sticky;
  position: sticky;
  top: 24px;
  padding-left: 30px;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.03em;
  margin-bottom: 0;
  text-transform: uppercase;
}
.about-comp__title:before {
  content: "";
  width: 18px;
  height: 18px;
  background: #1C542C;
  position: absolute;
  top: 5px;
  left: 0;
}
.about-comp__list {
  width: 67%;
  flex: 0 0 67%;
}
.about-comp__item {
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
.about-comp__item + .about-comp__item {
  margin-top: 32px;
}
.about-comp__item-img {
  flex: 0 0 calc(49% - 8px);
  width: calc(49% - 8px);
  height: 276px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 4px;
  overflow: hidden;
}
.about-comp__item-title {
  flex: 0 0 calc(51% - 8px);
  width: calc(51% - 8px);
  max-width: 330px;
  order: -1;
  margin-bottom: 0;
}
.about-services {
  padding: 96px 0;
}
.about-services h2 {
  margin-bottom: 56px;
}
.about-services .service-text-block__lists {
  gap: 56px;
  justify-content: space-between;
}
.about-services .service-text-block__list {
  flex: 0 0 calc(33.3333333333% - 37.3333333333px);
  width: calc(33.3333333333% - 37.3333333333px);
}
.about-history {
  position: relative;
  background: #FFF;
}
.about-history__title {
  position: absolute;
  z-index: 2;
  top: 36px;
  left: 0;
  right: 0;
}
.about-history__title h2 {
  color: #FFF;
  margin-bottom: 0;
}
.about-history__list {
  max-width: 1440px;
  margin: 0 auto;
  padding-bottom: 80px;
}
.about-history__list-nav {
  position: static;
  display: inline-block;
}
.about-history__nav {
  margin-top: 35px;
}
.about-history__gallery-slide {
  flex: 0 0 39%;
  width: 39%;
}
.about-history__gallery-slide_img {
  height: 0;
  padding-top: 89%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.about-history__gallery-slide_info {
  padding: 56px 56px 0;
}
.about-history__gallery-slide_title {
  min-height: 152px;
}
.about-history__gallery-slide_title p {
  font-size: 22px;
  line-height: 32px;
  padding-left: 58px;
  color: #777;
}
.about-history__gallery-slide_year {
  position: relative;
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 100px;
  line-height: 120px;
  letter-spacing: -0.05em;
  padding-left: 58px;
}
.about-history__gallery-slide_year span {
  color: #1C542C;
}
.about-history__gallery-slide_year:before {
  content: "";
  width: 18px;
  height: 18px;
  background: #1C542C;
  position: absolute;
  top: 0;
  left: 0;
}
.about-history__gallery-slide_text {
  margin-top: 56px;
  font-size: 14px;
  line-height: 20px;
  color: #777;
}
.about-history__gallery-slide_text p + p {
  margin-top: 20px;
}
.about-quote {
  padding: 80px 0;
}
.about-quote__title {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
.about-quote__block {
  display: flex;
  gap: 56px;
  max-width: 900px;
  margin: 80px auto 0;
}
.about-quote__img {
  border-radius: 4px;
  overflow: hidden;
  background: url("/local/templates/tgv/css/../images/about-quote.jpg") no-repeat center top;
  background-size: cover;
  height: 320px;
  width: 50.5%;
  flex: 0 0 50.5%;
}
.about-quote__text {
  width: calc(49.5% - 56px);
  flex: 0 0 calc(49.5% - 56px);
}
.about-quote__text p {
  font-size: 14px;
  line-height: 20px;
  color: #777;
}
.about-quote__text p + p {
  margin-top: 20px;
}
.about-quote__text .h3 {
  margin-top: 36px;
  margin-bottom: 8px;
}
.about-projects {
  padding: 100px 0 0;
}
.about-projects h2 {
  margin-bottom: 53px;
}
.about-projects__title {
  position: relative;
}
.about-projects__gallery {
  padding-bottom: 96px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}
.about-projects__gallery-container {
  margin: 0 -32px;
}
.about-projects__gallery-nav {
  top: 0;
  left: auto;
}
.about-projects__gallery-nav.swiper-button-next {
  right: 0;
}
.about-projects__gallery-nav.swiper-button-prev {
  right: 56px;
}
.about-projects--mobile {
  display: none;
}

@media (min-width: 992px) {
  .main-certification--about {
    background-color: #F7F7F5;
  }
  .main-certification--about .certificates-item__bg {
    background-color: #FFF;
  }
}
@media (min-width: 1200px) {
  .certificates-item:nth-of-type(4n+1):before {
    opacity: 0;
  }
}
@media (max-width: 1199px) {
  .team-join__col:first-of-type {
    flex: 0 0 370px;
    width: 370px;
  }
  .team-join__col:last-of-type {
    flex: 0 0 calc(100% - 370px);
    width: calc(100% - 370px);
  }
  .certificates .certificates-item {
    flex: 0 0 33.3333333333%;
    width: 33.3333333333%;
  }
  .certificates .certificates-item:nth-of-type(3n+1):before {
    opacity: 0;
  }
  .about-history__gallery-slide_info {
    padding: 56px 36px 0;
  }
  .about-projects__gallery-container {
    margin: 0 -12px;
  }
}
@media (max-width: 991px) {
  .team {
    padding: 48px 0;
  }
  .team-list {
    gap: 48px 12px;
  }
  .team-item {
    flex: 0 0 calc(50% - 6px);
    width: calc(50% - 6px);
  }
  .team-item__position {
    margin-bottom: 4px;
  }
  .team-join {
    padding: 48px 0;
  }
  .team-join__row {
    display: block;
  }
  .team-join__col:first-of-type {
    width: 100%;
  }
  .team-join__col:last-of-type {
    width: 100%;
  }
  .team-join__icon {
    margin: 0 auto 32px;
    width: 176px;
    height: 100px;
  }
  .team-join__title {
    text-align: center;
    letter-spacing: -0.03em;
  }
  .certificates {
    padding: 32px 0 50px;
    border-top: 1px solid rgba(0, 0, 0, 0.14);
    margin-top: 24px;
  }
  .certificates-list {
    display: block;
    margin: 0;
  }
  .certificates-item {
    width: 100% !important;
    height: auto;
    display: block;
    padding: 8px 0 28px 56px;
  }
  .certificates-item:last-of-type:after {
    content: none;
  }
  .certificates-item + .certificates-item {
    margin-top: 16px;
  }
  .certificates-item__bg {
    display: none;
  }
  .certificates-item__icon {
    position: absolute;
    top: 0;
    left: 0;
  }
  .certificates-item__name {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -0.01em;
  }
  .certificates-item:before {
    content: none;
  }
  .certificates-item:after {
    left: 56px;
    right: 0;
  }
  .reviews-nav {
    margin-top: 24px;
    padding: 32px 16px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.14);
    display: block;
  }
  .reviews-nav__item {
    display: block;
    width: 100%;
    height: auto;
    color: #111 !important;
    padding: 8px 0;
    text-align: center;
    border-radius: 999px;
    border: 1px solid transparent;
  }
  .reviews-nav__item + .reviews-nav__item {
    margin-top: 8px;
  }
  .reviews-nav__item:before {
    content: none;
  }
  .reviews-nav__item.active {
    color: #1C542C !important;
    border-color: #1C542C;
    width: 100%;
  }
  .reviews-nav__item.active .wrap {
    max-width: 100%;
  }
  .reviews-nav__item .wrap {
    display: block;
    max-width: 100%;
  }
  .reviews-nav__item .wrap:after {
    content: none;
  }
  .reviews-nav__img {
    display: none;
  }
  .reviews-nav__title {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.01em;
    margin-bottom: 0;
  }
  .reviews-nav__count {
    display: none;
  }
  .reviews-list {
    margin: 32px 0 64px;
    display: block;
  }
  .reviews-left {
    display: none;
  }
  .reviews-items {
    width: auto;
    margin: 0 -16px;
  }
  .reviews-item {
    position: relative;
    background: #FFF;
    padding: 32px 12px;
    border-radius: 0;
  }
  .reviews-item + .reviews-item {
    margin-top: 0;
  }
  .reviews-item + .reviews-item:before {
    content: "";
    position: absolute;
    top: 0;
    left: 12px;
    right: 12px;
    height: 1px;
    background: rgba(0, 0, 0, 0.14);
  }
  .reviews-item__top {
    margin-bottom: 12px;
  }
  .reviews-item__title {
    margin-bottom: 0;
  }
  .reviews-item__name {
    gap: 8px;
  }
  .reviews-item__text {
    margin-top: 24px;
  }
  .reviews-item__btns {
    justify-content: space-between;
    gap: 0;
  }
  .reviews-item__btns b {
    display: none;
  }
  .reviews .nav {
    margin-top: 48px;
  }
  .vacancies {
    margin-top: 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.14);
  }
  .vacancies-list {
    margin: 0 -16px 32px;
    padding: 0;
  }
  .vacancies-item {
    position: relative;
    background: transparent;
    border-radius: 0;
    padding: 0 16px;
  }
  .vacancies-item + .vacancies-item {
    margin-top: 0;
  }
  .vacancies-item + .vacancies-item:before {
    content: "";
    position: absolute;
    height: 1px;
    top: 0;
    left: 16px;
    right: 16px;
    background: rgba(0, 0, 0, 0.14);
  }
  .vacancies-item__link {
    padding: 32px 80px 32px 0;
  }
  .vacancies-item__link:before {
    top: 32px;
    right: 0;
  }
  .vacancies-item__title {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.01em;
    margin-bottom: 12px;
  }
  .vacancies-item__salary {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.01em;
    margin-top: 16px;
    margin-bottom: 24px;
    flex: 0 0 100%;
    width: 100%;
    order: -1;
  }
  .vacancies-item__content {
    padding: 0;
  }
  .vacancies-item__content-top {
    flex-wrap: wrap;
  }
  .vacancies-item__content-top .btn {
    flex: 0 0 100%;
    width: 100%;
  }
  .vacancies-item__content-text {
    padding-top: 48px;
    padding-bottom: 48px;
    margin-top: 0;
    border-top: none;
  }
  .vacancies-item__content-block + .vacancies-item__content-block {
    margin-top: 32px;
  }
  .vacancies-item__content-block h5 {
    margin-bottom: 8px;
  }
  .vacancies-item__content-block p {
    font-size: 16px;
    line-height: 24px;
  }
  .vacancies-item.active-link {
    background: #FFF;
    z-index: 1;
  }
  .vacancies-item.active-link:before, .vacancies-item.active-link:after {
    content: "";
    position: absolute;
    height: 1px;
    left: 0;
    right: 0;
    background: #FFF;
  }
  .vacancies-item.active-link:before {
    top: -1px;
  }
  .vacancies-item.active-link:after {
    bottom: -1px;
  }
  .about-top {
    padding: 0 0 48px;
  }
  .about-top__container {
    padding-top: 48px;
    border-top: 1px solid rgba(0, 0, 0, 0.14);
    display: block;
  }
  .about-top__left {
    width: 100%;
    padding-right: 0;
  }
  .about-top__right {
    width: 100%;
    padding-top: 48px;
  }
  .about-top__text {
    max-width: 100%;
  }
  .about-top__text h2 {
    margin-bottom: 16px;
  }
  .about-top__text p + p {
    margin-top: 20px;
  }
  .about-top__numbers + .about-top__numbers {
    padding-top: 32px;
    margin-top: 32px;
  }
  .about-top__numbers p {
    font-family: "TT Travels", sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 22px;
    color: #777;
  }
  .about-top__number {
    font-size: 48px;
    line-height: 52px;
    letter-spacing: -0.01em;
    margin-bottom: 0;
  }
  .about-top__img {
    padding-top: 66%;
  }
  .about-comp {
    padding: 48px 0;
  }
  .about-comp__container {
    display: block;
  }
  .about-comp__title {
    width: 100%;
    position: static;
    padding-left: 0;
    font-size: 32px;
    line-height: 36px;
    letter-spacing: -0.02em;
    margin-bottom: 32px;
    text-transform: none;
  }
  .about-comp__title:before {
    content: none;
  }
  .about-comp__list {
    width: auto;
    display: flex;
    gap: 8px;
    overflow-y: hidden;
    overflow-x: auto;
    margin: 0 -16px;
    padding: 0 16px;
  }
  .about-comp__item {
    width: 89%;
    flex: 0 0 89%;
    display: block;
  }
  .about-comp__item + .about-comp__item {
    margin-top: 0;
  }
  .about-comp__item-img {
    width: 100%;
    height: 0;
    padding-top: 83%;
    margin-bottom: 24px;
  }
  .about-comp__item-title {
    width: 100%;
    max-width: 100%;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -0.01em;
    margin-bottom: 0;
  }
  .about-services {
    padding: 0 0 48px;
  }
  .about-services h2 {
    padding-top: 48px;
    margin-bottom: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.14);
  }
  .about-services .service-text-block__list {
    width: 100%;
  }
  .about-history {
    padding: 48px 0;
    background: #F7F7F5;
  }
  .about-history__title {
    position: static;
  }
  .about-history__title h2 {
    color: #111;
    margin-bottom: 32px;
  }
  .about-history__list {
    padding: 0;
  }
  .about-history__nav {
    display: none;
  }
  .about-history__gallery-container {
    padding: 0 16px;
  }
  .about-history__gallery-slide {
    flex: 0 0 89%;
    width: 89%;
  }
  .about-history__gallery-slide_img {
    padding-top: 83%;
    margin-bottom: 32px;
    border-radius: 4px;
    overflow: hidden;
  }
  .about-history__gallery-slide_info {
    padding: 0 16px 0 0;
  }
  .about-history__gallery-slide_title {
    min-height: 0;
  }
  .about-history__gallery-slide_title p {
    font-family: "TT Travels", sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 24px;
    padding-left: 0;
    color: #111;
  }
  .about-history__gallery-slide_year {
    font-size: 48px;
    line-height: 52px;
    letter-spacing: -0.01em;
    padding-left: 0;
    margin-bottom: 8px;
  }
  .about-history__gallery-slide_year:before {
    content: none;
  }
  .about-history__gallery-slide_text {
    margin-top: 32px;
    color: #111;
  }
  .about-quote {
    padding: 0 0 48px;
  }
  .about-quote__title {
    border-top: 1px solid rgba(0, 0, 0, 0.14);
    max-width: 100%;
    padding-top: 48px;
    text-align: left;
    font-size: 20px;
    line-height: 24px;
  }
  .about-quote__block {
    display: block;
    max-width: 100%;
    margin-top: 32px;
  }
  .about-quote__img {
    width: 100%;
    height: 0;
    padding-top: 60%;
    margin-bottom: 32px;
  }
  .about-quote__text {
    width: 100%;
  }
  .about-quote__text p {
    color: #111;
  }
  .about-quote__text .h3 {
    font-size: 20px;
    line-height: 24px;
    margin-top: 32px;
  }
  .about-quote__text .h3 + p {
    color: #777;
  }
  .about-projects {
    padding: 48px 0;
  }
  .about-projects h2 {
    margin-bottom: 32px;
  }
  .about-projects__gallery-nav {
    display: none;
  }
  .about-projects--desktop {
    display: none;
  }
  .about-projects--mobile {
    display: flex;
    margin-bottom: 0;
  }
  .about-projects--mobile span {
    display: block;
  }
}
.projects {
  margin: 80px 0 160px;
}
.projects-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 96px 16px;
  margin: 0 -32px;
}
.projects-item {
  flex: 0 0 calc(50% - 8px);
  width: calc(50% - 8px);
}
.projects-item:hover .projects-item__info:before {
  top: 0;
  opacity: 1;
}
.projects-item span {
  display: block;
}
.projects-item__img {
  height: 0;
  padding-top: 63%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 4px;
  margin-bottom: 32px;
}
.projects-item__info {
  position: relative;
  padding-left: 32px;
  border-left: 1px solid rgba(0, 0, 0, 0.14);
}
.projects-item__info:before {
  content: "";
  position: absolute;
  top: 30px;
  right: 0;
  width: 48px;
  height: 48px;
  background: url("/local/templates/tgv/css/../images/svg/arrow-green.svg") no-repeat center;
  background-size: 48px auto;
  opacity: 0;
  transition: all 0.3s;
}
.projects-item__labels {
  display: flex !important;
  gap: 2px;
  margin-bottom: 24px;
}
.projects-item__labels span {
  font-size: 14px;
  line-height: 20px;
  color: #FFF;
  background: #1C542C;
  padding: 2px 8px 4px;
  border-radius: 2px;
}
.projects-item__tilte {
  margin-bottom: 0;
}
.projects-item__props, .projects-item__desc {
  font-size: 14px;
  line-height: 20px;
  color: #777;
  margin-top: 16px;
}
.projects-item__props span + span {
  margin-top: 4px;
}
.projects-item__desc {
  max-width: 515px;
}
.projects .nav {
  padding-top: 40px;
  margin-top: 96px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.projects-detail__back-mobile {
  display: none;
}
.projects-detail__info {
  margin-top: 56px;
}
.projects-detail__title {
  font-size: 52px;
  line-height: 56px;
  margin-bottom: 40px;
  max-width: 680px;
}
.projects-detail__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 80px;
}
.projects-detail__top-main {
  flex: 1 1 auto;
  max-width: 680px;
}
.projects-detail__top-share {
  flex: 0 0 auto;
  margin-bottom: 4px;
}
.projects-detail__top .projects-detail__title {
  margin-bottom: 0;
}
.projects-detail__top .projects-detail__date {
  margin-top: 24px;
  margin-bottom: 0;
}
.projects-detail__top--no-date .projects-detail__top-share {
  margin-bottom: 8px;
}
.projects-detail__date {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 80px;
}
.projects-detail__date .h2 {
  color: #777;
  line-height: 56px;
  letter-spacing: -0.02em;
  margin-bottom: 0;
}
.projects-detail__date .h2 span {
  color: #111;
}
.projects-detail__share .likely__icon,
.projects-detail__share .likely__counter {
  display: none;
}
.projects-detail__share .likely__button {
  display: flex;
  align-items: center;
  gap: 24px;
}
.projects-detail__share:not(.likely_ready) {
  display: none;
}
.projects-detail__share-title {
  margin-bottom: 0;
}
.projects-detail__share-icon {
  width: 56px;
  height: 56px;
  background: #FFF;
  border-radius: 100%;
  position: relative;
}
.projects-detail__share-icon svg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.projects-detail__about {
  display: flex;
  align-items: flex-start;
  padding-top: 80px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}
.projects-detail__about-left {
  flex: 0 0 33%;
  width: 33%;
  position: -webkit-sticky;
  position: sticky;
  top: 24px;
}
.projects-detail__about-right {
  flex: 0 0 67%;
  width: 67%;
}
.projects-detail__about-title {
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.03em;
  margin-bottom: 0;
  text-transform: uppercase;
  padding-left: 30px;
  position: relative;
}
.projects-detail__about-title:before {
  content: "";
  width: 18px;
  height: 18px;
  position: absolute;
  top: 5px;
  left: 0;
  background: #1C542C;
}
.projects-detail__props + .projects-detail__text {
  margin-top: 56px;
}
.projects-detail__prop + .projects-detail__prop {
  margin-top: 24px;
}
.projects-detail__prop-name {
  font-size: 14px;
  line-height: 20px;
  color: #777;
  margin-bottom: 8px;
}
.projects-detail__prop-value {
  margin-bottom: 0;
}
.projects-detail__text > * + * {
  margin-top: 24px;
}
.projects-detail__text ul,
.projects-detail__text ol {
  padding-left: 24px;
}
.projects-detail__text ul li + li,
.projects-detail__text ol li + li {
  margin-top: 4px;
}
.projects-detail__other {
  margin-top: 120px;
}
.projects-detail__other .projects-list--mobile {
  display: none;
}
.projects-detail__other-list {
  display: flex;
  justify-content: space-between;
  margin-top: 48px;
}
.projects-detail__other-item {
  position: relative;
  flex: 0 0 calc(50% - 1px);
  width: calc(50% - 1px);
  height: 500px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.projects-detail__other-item:before {
  content: "";
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transition: all 0.3s;
}
.projects-detail__other-item .wrap {
  position: relative;
  display: flex;
  max-width: 720px;
  height: 100%;
  align-items: flex-end;
}
.projects-detail__other-item .wrap:after {
  content: "";
  width: 120px;
  height: 120px;
  background: url("/local/templates/tgv/css/../images/svg/arrow-white-big.svg") no-repeat center;
  position: absolute;
  top: 86px;
  right: 56px;
  transition: all 0.3s;
  opacity: 0;
}
.projects-detail__other-item .h2 {
  color: #FFF;
  letter-spacing: -0.02em;
  margin-bottom: 0;
  padding-right: 40px;
  padding-bottom: 56px;
}
.projects-detail__other-item:first-of-type .wrap {
  float: right;
}
.projects-detail__other-item:last-of-type .wrap {
  float: left;
}
.projects-detail__other-item:hover:before {
  background: rgba(0, 0, 0, 0.75);
}
.projects-detail__other-item:hover .wrap:after {
  top: 56px;
  opacity: 1;
}

@media (min-width: 992px) {
  .projects-item--big {
    flex-basis: 100%;
    width: 100%;
    display: flex;
    align-items: flex-end;
  }
  .projects-item--big .projects-item__info {
    flex: 0 0 412px;
    width: 412px;
    order: -1;
    padding-right: 32px;
    padding-bottom: 16px;
  }
  .projects-item--big .projects-item__info:before {
    right: 32px;
  }
  .projects-item--big .projects-item__img {
    flex: 0 0 calc(100% - 412px);
    width: calc(100% - 412px);
    margin-bottom: 0;
    padding-top: 44.5%;
  }
  .projects-item--big .projects-item__title {
    padding-right: 60px;
  }
}
@media (max-width: 1199px) {
  .projects-list {
    margin: 0 -12px;
  }
}
@media (max-width: 991px) {
  .projects {
    margin: 48px 0 64px;
  }
  .projects-list {
    display: block;
    margin: 0;
  }
  .projects-item {
    display: block;
    width: 100%;
  }
  .projects-item + .projects-item {
    margin-top: 48px;
    padding-top: 48px;
    border-top: 1px solid rgba(0, 0, 0, 0.14);
  }
  .projects-item__img {
    padding-top: 70%;
  }
  .projects-item__info {
    padding: 0 0 72px;
    border-left: none;
  }
  .projects-item__info:before {
    top: auto !important;
    right: auto;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
  .projects-item__tilte {
    font-size: 28px;
    line-height: 32px;
    letter-spacing: -0.03em;
    margin-bottom: 0;
  }
  .projects-item__desc {
    max-width: 100%;
  }
  .projects .nav {
    padding-top: 48px;
    margin-top: 48px;
  }
  .projects-detail {
    margin-bottom: 64px;
  }
  .projects-detail .breadcrumbs__item:last-of-type {
    font-size: 0;
    line-height: 0;
  }
  .projects-detail__back-mobile {
    display: block;
    padding: 16px 0;
  }
  .projects-detail__back-mobile a {
    display: inline-block;
    font-family: "TT Travels", sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #777;
    padding-left: 32px;
    position: relative;
  }
  .projects-detail__back-mobile a:before {
    content: "";
    width: 24px;
    height: 24px;
    background: url("/local/templates/tgv/css/../images/svg/btn-back.svg") no-repeat center;
    position: absolute;
    top: 0;
    left: 0;
  }
  .projects-detail__info {
    margin-top: 0;
  }
  .projects-detail__title {
    font-size: 32px;
    line-height: 36px;
    margin-bottom: 24px;
    letter-spacing: -0.02em;
    max-width: 100%;
  }
  .projects-detail__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    margin-bottom: 0;
  }
  .projects-detail__top-main {
    display: contents;
    max-width: 100%;
  }
  .projects-detail__top-share {
    grid-column: 2;
    grid-row: 2;
    margin-bottom: 0;
  }
  .projects-detail__top .projects-detail__title {
    grid-column: 1/-1;
    margin-bottom: 0;
    padding-bottom: 24px;
  }
  .projects-detail__top .projects-detail__date {
    grid-column: 1;
    margin-top: 0;
    padding: 16px 0;
  }
  .projects-detail__top--no-date {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 24px;
  }
  .projects-detail__top--no-date .projects-detail__top-main {
    display: block;
  }
  .projects-detail__top--no-date .projects-detail__title {
    padding-bottom: 0;
  }
  .projects-detail__top--no-date .projects-detail__top-share {
    flex: 0 0 auto;
    padding-top: 7px;
  }
  .projects-detail__date {
    margin-bottom: 0;
    padding: 21px 0;
  }
  .projects-detail__date .h2 {
    font-size: 18px;
    line-height: 22px;
    letter-spacing: -0.01em;
    margin-bottom: 0;
  }
  .projects-detail__share .likely__button {
    gap: 8px;
  }
  .projects-detail__share-title {
    margin-bottom: 0;
  }
  .projects-detail__share-icon {
    width: 32px;
    height: 32px;
    background: none;
    border-radius: 0;
  }
  .projects-detail__about {
    position: relative;
    display: block;
    padding-top: 48px;
    padding-bottom: 48px;
    border-top: none;
  }
  .projects-detail__about:before {
    content: "";
    display: block;
    width: auto;
    height: 1px;
    margin: 0 -16px;
    background: rgba(0, 0, 0, 0.14);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }
  .projects-detail__about-left {
    width: 100%;
    position: static;
  }
  .projects-detail__about-right {
    width: 100%;
  }
  .projects-detail__about-title {
    font-size: 28px;
    line-height: 32px;
    letter-spacing: -0.03em;
    margin-bottom: 32px;
    text-transform: none;
    padding-left: 0;
  }
  .projects-detail__about-title:before {
    content: none;
  }
  .projects-detail__props + .projects-detail__text {
    margin-top: 32px;
  }
  .projects-detail__prop-value {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -0.01em;
    margin-bottom: 0;
  }
  .projects-detail__text {
    font-size: 16px;
    line-height: 24px;
  }
  .projects-detail__other {
    margin-top: 48px;
  }
  .projects-detail__other .projects-list--mobile {
    display: block;
  }
  .projects-detail__other-list {
    display: none;
  }
}
.news {
  margin-bottom: 160px;
}
.news-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 80px;
  gap: 20px;
}
.news-item {
  flex: 0 0 calc(50% - 10px);
  width: calc(50% - 10px);
  height: 480px;
  display: flex;
  border-radius: 4px;
  overflow: hidden;
}
.news-item__img, .news-item__info {
  flex: 0 0 50%;
  width: 50%;
}
.news-item__img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: scale(1);
  transition: all 0.3s;
}
.news-item__info {
  position: relative;
  padding: 28px 32px 28px 28px;
  background: #FFF;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.news-item__title {
  color: #111 !important;
}
.news-item__date {
  display: flex;
  padding-top: 40px;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  gap: 16px;
  align-items: center;
  color: #111 !important;
}
.news-item__date-col:first-of-type span {
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 100px;
  line-height: 90px;
  letter-spacing: -0.04em;
}
.news-item__date-col:last-of-type span {
  display: block;
}
.news-item__icon {
  position: absolute;
  bottom: 198px;
  left: 28px;
  width: 48px;
  height: 48px;
  background: url("/local/templates/tgv/css/../images/svg/arrow-green.svg") no-repeat center;
  background-size: 48px 48px;
}
.news-item:hover .news-item__img {
  transform: scale(1.15);
}
.news-item--big {
  flex-basis: 100%;
  width: 100%;
}
.news-item--big .news-item__title {
  font-size: 48px;
  line-height: 48px;
  letter-spacing: -0.03em;
}
.news .nav {
  margin-top: 56px;
  justify-content: center;
}

.news-detail {
  margin-bottom: 160px;
}
.news-detail .projects-detail__title {
  max-width: 900px;
}
.news-detail__other {
  margin-top: 140px;
}
.news-detail__other-title {
  margin-bottom: 40px;
}
.news-detail__other .news-list {
  margin: 0;
}
.news-detail__gallery {
  margin-top: 160px;
}
.news-detail__gallery .wrap {
  position: relative;
}
.news-detail__gallery-title {
  margin-bottom: 32px;
}
.news-detail__gallery-slide {
  width: 400px;
  height: 480px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 4px;
  overflow: hidden;
}
.news-detail__gallery-nav {
  top: 0;
  left: auto;
}
.news-detail__gallery-nav.swiper-button-next {
  right: 56px;
}
.news-detail__gallery-nav.swiper-button-prev {
  right: 112px;
}

@media (max-width: 991px) {
  .news {
    margin-bottom: 64px;
  }
  .news-list {
    display: block;
    margin-top: 48px;
  }
  .news-item {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0;
  }
  .news-item + .news-item {
    margin-top: 96px;
  }
  .news-item__img, .news-item__info {
    display: block;
    width: 100%;
  }
  .news-item__img {
    height: 0;
    padding-top: 128%;
    transform: none !important;
  }
  .news-item__info {
    display: flex;
    padding: 20px 0 0;
    background: transparent;
  }
  .news-item__title {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.01em;
    order: 1;
    padding-right: 60px;
  }
  .news-item__date {
    padding-top: 0;
    border-top: none;
    gap: 8px;
    margin-bottom: 20px;
  }
  .news-item__date-col:first-of-type span {
    font-size: 32px;
    line-height: 36px;
    letter-spacing: -0.02em;
  }
  .news-item__icon {
    bottom: auto;
    left: auto;
    top: 20px;
    right: 0;
  }
  .news-item--big .news-item__title {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.01em;
  }
  .news .nav {
    margin-top: 96px;
  }
  .news-detail {
    margin-bottom: 64px;
  }
  .news-detail .projects-detail__title {
    max-width: 100%;
  }
  .news-detail .projects-detail__about {
    padding-bottom: 0;
  }
  .news-detail__other {
    margin-top: 48px;
  }
  .news-detail__other-title {
    margin-bottom: 32px;
  }
  .news-detail__other .news-item + .news-item {
    margin-top: 32px;
  }
  .news-detail__gallery {
    margin-top: 48px;
  }
  .news-detail__gallery-title {
    margin-bottom: 24px;
  }
  .news-detail__gallery-slide {
    width: 265px;
    height: 320px;
  }
  .news-detail__gallery-nav {
    display: none;
  }
}
.service-text-block {
  padding: 96px 0;
}
.service-text-block + .service-text-block {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}
.service-text-block h2 {
  max-width: 500px;
  margin: 0;
}
.service-text-block__wrapper {
  padding-left: 50%;
}
.service-text-block__gray {
  color: #777;
  font-size: 14px;
  line-height: 20px;
  max-width: 430px;
}
.service-text-block__lists {
  display: flex;
  gap: 72px;
}
.service-text-block__list li {
  position: relative;
  font-size: 14px;
  line-height: 20px;
  list-style-type: none;
  padding-left: 18px;
}
.service-text-block__list li + li {
  margin-top: 24px;
}
.service-text-block__list li:before {
  content: "";
  width: 10px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  background: url("/local/templates/tgv/css/../images/svg/li.svg") no-repeat center;
}
.service-text-block__accordion {
  margin: -32px 0;
}
.service-text-block__accordion-wrapper {
  display: flex;
  align-items: flex-start;
}
.service-text-block__accordion-title {
  position: -webkit-sticky;
  position: sticky;
  top: 24px;
  width: 50%;
  flex: 0 0 50%;
}
.service-text-block__accordion-list {
  width: 50%;
  flex: 0 0 50%;
  padding-top: 48px;
}
.service-img-block {
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  height: 100vh;
  color: #FFF;
  text-align: center;
}
.service-img-block__title {
  margin: 0;
  padding-top: 80px;
}
.service-img-block__tags {
  margin-top: 32px;
  display: flex;
  gap: 8px;
  justify-content: center;
}
.service-img-block__tags span {
  margin: 0;
  padding: 12px 24px 8px;
  border-radius: 999px;
  border: 1px solid #FFF;
}
.service-img-block .wrap {
  position: relative;
}
.service-img-block:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 200px;
  mask: linear-gradient(180deg, rgb(217, 217, 217) 0%, rgba(0, 0, 0, 0) 100%);
  backdrop-filter: blur(4px);
}
/* iOS/iPadOS некорректно рендерит background-attachment: fixed (фон сильно увеличивается) — отключаем параллакс на тач-устройствах */
@media (hover: none) and (pointer: coarse) {
  .service-img-block {
    background-attachment: scroll;
  }
}
.service-items {
  padding: 96px 0;
}
.service-items h2 {
  max-width: 600px;
  margin-bottom: 96px;
}
.service-items__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 70px 35px;
}
.service-items__item {
  position: relative;
  flex: 0 0 calc(50% - 17.5px);
  width: calc(50% - 17.5px);
  padding: 45px 0 15px;
}
.service-items__item:after {
  content: "";
  position: absolute;
  bottom: -38px;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.14);
}
.service-items__item:nth-of-type(2n+1):before {
  content: "";
  position: absolute;
  top: 0;
  right: -18px;
  width: 1px;
  height: 100%;
  background: rgba(0, 0, 0, 0.14);
}
.service-items__item:nth-last-of-type(1):after, .service-items__item:nth-last-of-type(2):after {
  content: none;
}
.service-items__item-img {
  height: 0;
  width: 70%;
  padding-top: 70%;
  margin: 0 auto 45px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.service-items__item-title {
  max-width: 350px;
  margin: 0 auto;
  text-align: center;
}
.service-certification {
  padding: 96px 0 72px;
}
.service-certification h2 {
  margin-bottom: 16px;
}
.service-certification__wrapper {
  display: flex;
  align-items: flex-start;
}
.service-certification__title {
  flex: 0 0 450px;
  width: 450px;
  position: -webkit-sticky;
  position: sticky;
  top: 24px;
}
.service-certification__list {
  padding-top: 44px;
  flex: 0 0 calc(100% - 450px);
  width: calc(100% - 450px);
}
.service-certification__item {
  position: relative;
  font-size: 16px;
  line-height: 24px;
  padding: 36px 0 24px 64px;
}
.service-certification__item + .service-certification__item {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}
.service-certification__item:before {
  content: "";
  width: 40px;
  height: 40px;
  background: url("/local/templates/tgv/css/../images/svg/arrow-green.svg") no-repeat center;
  background-size: 40px auto;
  position: absolute;
  top: 24px;
  left: 0;
}
.service-thanks {
  padding: 96px 0;
  background: #FFF;
}
.service-thanks h2 {
  margin-bottom: 56px;
}
.service-thanks__list {
  position: relative;
  padding-left: 25%;
}
.service-thanks__list-nav {
  top: auto;
  bottom: 18px;
  right: auto;
}
.service-thanks__list-nav.swiper-button-next {
  left: 56px;
}
.service-thanks__list-nav.swiper-button-prev {
  left: 0;
}
.service-thanks__gallery-slide {
  height: auto;
}
.service-thanks__gallery-slide-img {
  position: relative;
  height: 190px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 55% auto;
}
.service-thanks__gallery-slide-img:before {
  content: "";
  width: 1px;
  position: absolute;
  right: -4px;
  top: 18px;
  bottom: 18px;
  background: rgba(0, 0, 0, 0.14);
}
.service-thanks__gallery-slide-img:after {
  content: "";
  height: 1px;
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: -6px;
  background: rgba(0, 0, 0, 0.14);
}
.service-thanks__gallery-slide-info {
  position: relative;
  padding: 0 24px 14px;
  height: 100%;
}
.service-thanks__gallery-slide-info:before {
  content: "";
  width: 1px;
  position: absolute;
  right: -4px;
  top: -6px;
  bottom: 0;
  background: rgba(0, 0, 0, 0.14);
}
.service-thanks__gallery-slide-more {
  position: relative;
  display: inline-block;
  margin-top: 60px;
  padding: 18px 0 18px 64px;
  font-size: 14px;
  line-height: 20px;
}
.service-thanks__gallery-slide-more:before {
  content: "";
  width: 56px;
  height: 56px;
  background: url("/local/templates/tgv/css/../images/svg/plus.svg") no-repeat center;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  left: 0;
}
.service-thanks__gallery-slide p {
  font-size: 14px;
  line-height: 20px;
  color: #777;
  margin-top: 30px;
}
.service-projects {
  padding: 120px 0 0;
}
.service-projects__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 35px;
}
.service-projects__header .btn--no-border {
  display: none;
}
.service-projects__title {
  margin-bottom: 0;
}
.service-projects__wrapper {
  position: relative;
  padding-bottom: 80px;
}
.service-projects__nav {
  position: static;
}
.service-projects__nav-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
}
.service-projects__gallery-slide {
  position: relative;
  max-width: 1328px;
  width: calc(100% - 112px);
  height: 580px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 4px;
  overflow: hidden;
  color: #FFF;
}
.service-projects__gallery-slide:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0.7);
}
.service-projects__gallery-slide-info {
  height: 100%;
  position: relative;
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.service-projects__gallery-slide-title {
  font-size: 52px;
  line-height: 56px;
  margin: 0;
  max-width: 650px;
}
.service-projects__gallery-slide-numbers {
  display: flex;
  align-items: center;
  gap: 20px;
}
.service-projects__gallery-slide-numbers_text {
  max-width: 180px;
}
.service-projects__gallery-slide-numbers_number {
  margin: 0;
}
.service-projects__gallery-slide-icon {
  position: absolute;
  right: 45px;
  bottom: 36px;
  width: 195px;
  height: 120px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.service-models {
  padding-top: 80px;
}
.service-models h2 {
  margin-bottom: 160px;
  max-width: 640px;
}
.service-models__top {
  display: flex;
  align-items: center;
  padding-left: 50%;
}
.service-models__top p {
  font-size: 14px;
  line-height: 20px;
  color: #777;
  padding-right: 30px;
  max-width: 290px;
}
.service-models__top img {
  mix-blend-mode: multiply;
  height: 62px;
}
.service-models__title {
  margin: 100px 0 20px;
  font-size: 14px;
  line-height: 20px;
  color: #777;
}
.service-models__list {
  overflow: hidden;
}
.service-models__list-wrapper {
  display: flex;
  align-items: center;
  width: max-content;
  animation: movingText 30s linear infinite;
}
.service-models__list span {
  position: relative;
  flex: 0 0 auto;
  margin-right: 178px;
  font-family: "TT Travels", sans-serif;
  font-weight: 600;
  font-size: 100px;
  line-height: 1;
  letter-spacing: -0.05em;
  color: #F7F7F5;
  text-shadow: -2px -2px 0 #1C542C, 0 -2px 0 #1C542C, 2px -2px 0 #1C542C, 2px 0 0 #1C542C, 2px 2px 0 #1C542C, 0 2px 0 #1C542C, -2px 2px 0 #1C542C, -2px 0 0 #1C542C;
}
.service-models__list span:before {
  content: "";
  width: 18px;
  height: 18px;
  background: #1C542C;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  left: -89px;
}
.service-models__img {
  margin-top: 58px;
  height: 0;
  padding-top: 46%;
  background: url("/local/templates/tgv/css/../images/service-models.jpg") no-repeat center;
  background-size: cover;
}

.vacancies-item--service {
  background: transparent !important;
}
.vacancies-item--service + .vacancies-item--service {
  margin-top: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}
.vacancies-item--service .vacancies-item__link {
  padding: 32px 88px 32px 0;
}
.vacancies-item--service .vacancies-item__link:before {
  top: 32px;
  right: 0;
}
.vacancies-item--service .vacancies-item__title {
  margin-bottom: 0;
}
.vacancies-item--service .vacancies-item__content {
  padding: 0;
}
.vacancies-item--service .vacancies-item__content-text {
  margin: 0;
  padding: 0 0 48px;
  border-top: none;
  font-size: 14px;
  line-height: 20px;
  color: #777;
}
.vacancies-item--service .vacancies-item__content-text ul {
  padding-left: 18px;
  margin-bottom: 32px;
}

.main-catalog--montage .main-catalog__col:first-of-type {
  padding-left: 0;
}
.main-catalog--montage .main-catalog__title:before {
  content: none;
}

.main-contacts--montage {
  background-image: url("/local/templates/tgv/css/../images/main-contacts--montage.jpg");
}

@media (min-width: 992px) {
  .main-partners--building {
    background: #FFF;
  }
  .main-partners--building .main-partners__item {
    background-color: #FFF;
  }
  .main-partners--building .main-partners__item:after {
    background: #FFF;
  }
}
@media (max-width: 1199px) {
  .service-projects__gallery-slide {
    width: calc(100% - 72px);
  }
}
@media (max-width: 991px) {
  .service-text-block {
    padding: 48px 0;
  }
  .service-text-block + .service-text-block {
    border-top: none;
  }
  .service-text-block h2 {
    max-width: 100%;
    margin-bottom: 16px;
  }
  .service-text-block__wrapper {
    padding-left: 0;
  }
  .service-text-block__gray {
    max-width: 100%;
  }
  .service-text-block__lists {
    display: block;
  }
  .service-text-block__list + .service-text-block__list {
    margin-top: 24px;
  }
  .service-text-block__accordion {
    margin: 0;
  }
  .service-text-block__accordion-wrapper {
    display: block;
  }
  .service-text-block__accordion-title {
    position: static;
    width: 100%;
  }
  .service-text-block__accordion-list {
    width: 100%;
    padding-top: 0;
  }
  .service-img-block {
    height: 240px;
    text-align: left;
    background-attachment: unset;
  }
  .service-img-block__title {
    font-size: 28px;
    line-height: 32px;
    letter-spacing: -0.03em;
    margin: 0;
    padding-top: 24px;
  }
  .service-img-block__tags {
    display: none;
  }
  .service-img-block:before {
    content: none;
  }
  .service-items {
    padding: 48px 0 64px;
  }
  .service-items h2 {
    max-width: 100%;
    margin-bottom: 32px;
  }
  .service-items__list {
    gap: 48px 12px;
  }
  .service-items__item {
    flex: 0 0 calc(50% - 6px);
    width: calc(50% - 6px);
    padding: 0;
  }
  .service-items__item:after {
    content: none;
  }
  .service-items__item:nth-of-type(2n+1):before {
    content: none;
  }
  .service-items__item-img {
    width: 100%;
    padding-top: 100%;
    margin-bottom: 16px;
  }
  .service-items__item-title {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -0.01em;
    max-width: 140px;
  }
  .service-certification {
    padding: 48px 0 40px;
  }
  .service-certification h2 {
    margin-bottom: 8px;
  }
  .service-certification__wrapper {
    display: block;
  }
  .service-certification__title {
    width: 100%;
    position: static;
  }
  .service-certification__list {
    padding-top: 0;
    width: 100%;
  }
  .service-certification__item {
    font-size: 14px;
    line-height: 20px;
    padding: 24px 0 24px 56px;
  }
  .service-certification__item + .service-certification__item {
    border-top: none;
  }
  .service-certification__item + .service-certification__item:after {
    content: "";
    height: 1px;
    position: absolute;
    top: 0;
    left: 56px;
    right: 0;
    background: rgba(0, 0, 0, 0.14);
  }
  .service-certification__item:before {
    top: 16px;
  }
  .service-thanks {
    padding: 48px 0 64px;
    background: #F7F7F5;
  }
  .service-thanks h2 {
    margin-bottom: 32px;
  }
  .service-thanks__list {
    padding-left: 0;
  }
  .service-thanks__list-nav {
    display: none;
  }
  .service-thanks__gallery-container {
    margin: 0 -16px;
    padding: 0 16px;
  }
  .service-thanks__gallery-slide {
    width: 89%;
    flex: 0 0 89%;
    background: #FFF;
    border-radius: 4px;
    overflow: hidden;
  }
  .service-thanks__gallery-slide-img {
    height: 200px;
  }
  .service-thanks__gallery-slide-img:before {
    content: none;
  }
  .service-thanks__gallery-slide-img:after {
    bottom: 0;
  }
  .service-thanks__gallery-slide-info {
    padding-bottom: 24px;
  }
  .service-thanks__gallery-slide-info:before {
    content: none;
  }
  .service-thanks__gallery-slide-more {
    margin-top: 36px;
    padding: 0;
    width: 56px;
    height: 56px;
    font-size: 0;
    line-height: 0;
  }
  .service-thanks__gallery-slide-more:before {
    background-image: url("/local/templates/tgv/css/../images/svg/plus--mobile.svg");
  }
  .service-thanks__gallery-slide p {
    margin-top: 24px;
  }
  .service-projects {
    background: #FFF;
    padding: 48px 0;
  }
  .service-projects__header {
    margin-bottom: 32px;
    align-items: flex-start;
  }
  .service-projects__header .btn:not(.btn--no-border) {
    display: none;
  }
  .service-projects__header .btn--no-border {
    display: block;
    margin-top: 4px;
  }
  .service-projects__title {
    margin-bottom: 0;
    padding-right: 20px;
  }
  .service-projects__wrapper {
    padding-bottom: 0;
  }
  .service-projects__nav {
    display: none;
  }
  .service-projects__gallery-slide {
    width: 83.5%;
    height: auto;
    background-image: none !important;
    border-radius: 0;
    color: #111;
  }
  .service-projects__gallery-slide:before {
    content: none;
  }
  .service-projects__gallery-slide-img {
    position: relative;
    height: 0;
    padding-top: 66%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 4px;
    margin-bottom: 24px;
    overflow: hidden;
  }
  .service-projects__gallery-slide-img:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: rgba(0, 0, 0, 0.5);
  }
  .service-projects__gallery-slide-info {
    height: auto;
    padding: 0;
  }
  .service-projects__gallery-slide-title {
    font-size: 18px;
    line-height: 22px;
    margin: 24px 0 0;
    max-width: 100%;
    padding-right: 32px;
  }
  .service-projects__gallery-slide-numbers {
    display: block;
    order: -1;
  }
  .service-projects__gallery-slide-numbers_text {
    max-width: 100%;
    color: #777;
    margin-bottom: 8px;
  }
  .service-projects__gallery-slide-numbers_number {
    margin: 0;
    font-size: 20px;
    line-height: 24px;
  }
  .service-projects__gallery-slide-icon {
    right: auto;
    left: 8px;
    bottom: 8px;
    width: 146px;
    height: 90px;
  }
  .service-models {
    padding-top: 48px;
  }
  .service-models h2 {
    margin-bottom: 48px;
    max-width: 100%;
  }
  .service-models__top {
    display: block;
    padding-left: 0;
  }
  .service-models__top p {
    padding-right: 0;
    max-width: 100%;
    margin-bottom: 16px;
  }
  .service-models__top img {
    display: block;
  }
  .service-models__title {
    margin: 48px 0 8px;
  }
  .service-models__list span {
    margin-right: 64px;
    font-size: 48px;
    line-height: 1;
    letter-spacing: -0.01em;
    color: #F7F7F5;
    text-shadow: -1px -1px 0 #1C542C, 0 -1px 0 #1C542C, 1px -1px 0 #1C542C, 1px 0 0 #1C542C, 1px 1px 0 #1C542C, 0 1px 0 #1C542C, -1px 1px 0 #1C542C, -1px 0 0 #1C542C;
  }
  .service-models__list span:before {
    content: none;
  }
  .service-models__img {
    margin-top: 24px;
    padding-top: 66%;
  }
  .vacancies-item--service {
    padding: 0;
    z-index: 0 !important;
  }
  .vacancies-item--service:before {
    content: none !important;
  }
  .vacancies-item--service .vacancies-item__link {
    padding: 24px 56px 24px 0;
  }
  .vacancies-item--service .vacancies-item__link:before {
    width: 40px;
    height: 40px;
    top: 24px;
  }
  .vacancies-item--service .vacancies-item__title {
    font-size: 18px;
    line-height: 22px;
    min-height: 44px;
  }
  .vacancies-item--service .vacancies-item__content-text {
    padding-bottom: 24px;
  }
  .main-catalog--montage .main-catalog__col:last-of-type {
    margin-top: 48px;
  }
  .main-catalog--montage .main-catalog__title {
    padding-top: 0;
  }
  .main-contacts--montage {
    background-image: none;
  }
  .main-contacts--montage .main-contacts__img {
    background-image: url("/local/templates/tgv/css/../images/main-contacts--montage--mobile.jpg");
  }
}
@keyframes movingText {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-50%);
  }
}

/*# sourceMappingURL=style.css.map */

/* ---------- Закреплённый хедер (выезжает при обратном скролле) ---------- */
/* Блок намеренно в самом конце файла: правила .body--top-bg .header ... имеют ту же
   специфичность, и перебить их светлой темой можно только порядком следования. */
.header--sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  background-color: #FFF;
  transform: translateY(-100%);
  visibility: hidden;
  transition: transform 0.4s ease, visibility 0.4s ease, background-color 0.3s ease, color 0.3s ease;
}
.header--sticky.is-visible {
  transform: translateY(0);
  visibility: visible;
}
.header--sticky .header-phone,
.header--sticky .header-time {
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
}
/* Открыт бургер — телефон и время уезжают вверх, остаются лого и кнопка меню. */
.header--sticky.is-menu-open .header-phone,
.header--sticky.is-menu-open .header-time {
  transform: translateY(-16px);
  opacity: 0;
  visibility: hidden;
}

.header--sticky.header--light {
  color: #111;
}
.header--sticky.header--light a {
  color: #111;
}
.header--sticky.header--light a:hover {
  color: #1C542C;
}
.header--sticky.header--light .header-logo {
  background-image: url("/local/templates/tgv/css/../images/logo.png?v=2");
}
.header--sticky.header--light .header-time {
  color: #777;
}
.header--sticky.header--light .header-time a {
  color: #1C542C !important;
}
.header--sticky.header--light .header-time a:not(:hover) {
  border-bottom-color: #1C542C;
}
.header--sticky.header--light .header-burger {
  background: #1C542C;
}
.header--sticky.header--light .header-burger span {
  background: #FFF;
}
.header--sticky.header--light .header-burger:hover {
  background: #206133;
}

/* Тёмная тема — под секциями на тёмной подложке (.top-bg, .main-contacts, .footer).
   Цвет взят от футера, это единственный тёмно-синий в палитре сайта. */
.header--sticky.header--dark {
  background-color: #32414D;
  color: #FFF;
}
.header--sticky.header--dark a {
  color: #FFF;
}
.header--sticky.header--dark a:hover {
  color: rgba(255, 255, 255, 0.8);
}
.header--sticky.header--dark .header-logo {
  background-image: url("/local/templates/tgv/css/../images/logo-header-white.png?v=2");
}
.header--sticky.header--dark .header-time {
  color: #FFF;
}
.header--sticky.header--dark .header-time a {
  color: #FFF !important;
}
.header--sticky.header--dark .header-time a:not(:hover) {
  border-bottom-color: #FFF;
}
.header--sticky.header--dark .header-burger {
  background: #FFF;
}
.header--sticky.header--dark .header-burger span {
  background: #1C542C;
}
.header--sticky.header--dark .header-burger:hover {
  background: rgba(255, 255, 255, 0.8);
}

/* Уменьшенные размеры по макету (2979-18145). В мобильной хедер и так компактный —
   там оставляем размеры основного хедера. */
@media (min-width: 992px) {
  .header--sticky .header-container {
    height: 76px;
  }
  .header--sticky .header-logo {
    flex: 0 0 54px;
    width: 54px;
    height: 51px;
    margin-top: 0;
  }
  .header--sticky .header-burger {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
  }
  .header--sticky .header-burger span {
    top: 20px;
  }
  .header--sticky .header-burger span:nth-of-type(2) {
    top: 27px;
  }
  .header--sticky .header-burger span:nth-of-type(3) {
    top: 34px;
  }
}

/* End */


/* Start:/local/templates/tgv/template_styles.css?17793868131830*/
.btn.is-loading {
    color: transparent;
    cursor: wait;
    pointer-events: none;
    position: relative;
}

.btn.is-loading span {
    color: transparent;
}

.btn.is-loading::after {
    animation: tgv-button-loader 0.9s linear infinite;
    background-color: #fff;
    content: "";
    height: 24px;
    left: 50%;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-loader-icon lucide-loader'%3E%3Cpath d='M12 2v4'/%3E%3Cpath d='m16.2 7.8 2.9-2.9'/%3E%3Cpath d='M18 12h4'/%3E%3Cpath d='m16.2 16.2 2.9 2.9'/%3E%3Cpath d='M12 18v4'/%3E%3Cpath d='m4.9 19.1 2.9-2.9'/%3E%3Cpath d='M2 12h4'/%3E%3Cpath d='m4.9 4.9 2.9 2.9'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-loader-icon lucide-loader'%3E%3Cpath d='M12 2v4'/%3E%3Cpath d='m16.2 7.8 2.9-2.9'/%3E%3Cpath d='M18 12h4'/%3E%3Cpath d='m16.2 16.2 2.9 2.9'/%3E%3Cpath d='M12 18v4'/%3E%3Cpath d='m4.9 19.1 2.9-2.9'/%3E%3Cpath d='M2 12h4'/%3E%3Cpath d='m4.9 4.9 2.9 2.9'/%3E%3C/svg%3E") center / contain no-repeat;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
}

.btn.btn--white.is-loading {
    color: #111;
}

.btn.btn--white.is-loading::after {
    background-color: #111;
}

@keyframes tgv-button-loader {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.tgv-empty-state {
    padding: 40px 0;
}

/* End */
/* /local/templates/tgv/js/swiper/swiper-bundle.min.css?177937405917907 */
/* /local/templates/tgv/js/wow/animate.css?177937405957095 */
/* /local/templates/tgv/js/fancybox/fancybox.css?177937405925343 */
/* /local/templates/tgv/css/style.css?1787640098127719 */
/* /local/templates/tgv/template_styles.css?17793868131830 */
