@charset "UTF-8";

/*
Theme Name: Twenty Twenty-One
Theme URI: https://wordpress.org/themes/twentytwentyone/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Twenty Twenty-One is a blank canvas for your ideas and it makes the block editor your best brush. With new block patterns, which allow you to create a beautiful layout in a matter of seconds, this theme’s soft colors and eye-catching — yet timeless — design will let your work shine. Take it for a spin! See how Twenty Twenty-One elevates your portfolio, business website, or personal blog.
Requires at least: 5.3
Tested up to: 6.4
Requires PHP: 5.6
Version: 2.27
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyone
Tags: one-column, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready

Twenty Twenty-One WordPress Theme, (C) 2020 WordPress.org
Twenty Twenty-One is distributed under the terms of the GNU GPL.
*/

@font-face{ font-display: swap; font-family: 'Criticized'; src: url('assets/fonts/criticized.woff2'); }
@font-face{ font-display: swap; font-family: 'Swiss721-LightExt'; src: url('assets/fonts/Swiss721BT-LightExtended.woff2'); }
@font-face{ font-display: swap; font-family: 'Swiss721-Light'; src: url('assets/fonts/Swiss721Light.woff2'); }
@font-face{ font-display: swap; font-family: 'Swiss721-Roman'; src: url('assets/fonts/Swiss721Roman.woff2'); }
@font-face{ font-display: swap; font-family: 'Swiss721-Medium'; src: url('assets/fonts/Swiss721Medium.woff2'); }
@font-face{ font-display: swap; font-family: 'Swiss721-Bold'; src: url('assets/fonts/Swiss721Bold.woff2'); }

*{ margin: 0; padding: 0; box-sizing: border-box; border: 0; font-weight: normal; }
a{ color: #212121; text-decoration: none; -webkit-tap-highlight-color: transparent; transition: color .3s ease; -webkit-transition: color .3s ease; }
a:hover{ color: #2AB0B4; }
img{ display: block; }
p img{ display: inline-block; vertical-align: middle; }
input,select,textarea{ font-family: 'Swiss721-LightExt'; outline: 0; }
table{ border-collapse: collapse; border-spacing: 0; }
table th{ border-collapse: collapse; border-spacing: 0; }
table td{ border-collapse: collapse; border-spacing: 0; }

h1{ font: 7rem 'Swiss721-Medium'; margin-bottom: 6rem; }
h2{ font: 7rem 'Swiss721-Medium'; margin-bottom: 6rem; }
h3{ font: 5rem 'Swiss721-Medium'; margin-bottom: 4rem; }

.nomargin{ margin: 0; }
.center{ text-align: center; }
.centered{ width: fit-content; margin: 0 auto; }
.right{ text-align: right; }
.upper{ text-transform: uppercase; }
.bold, b, strong{ font-family: 'Swiss721-Bold'; font-weight: normal; font-style: normal; }
.ital, em, i{ font-family: supermolot-italic; font-weight: normal; font-style: normal; }
.lblue{ color: #2AB0B4; }
.only_pc{ display: block!important; }
.only_mobile{ display: none!important; }
.opac0{ opacity: 0; }
.hidden{ display: none; }
.hidden#feedback{ display: none; }
.hidden#feedback.fancybox__content{ display: flex; }
.clear{ height: 1px; clear: both; }
.ambigous{ margin-bottom: 5rem; font: 23rem 'Criticized'; letter-spacing: -1.7rem; }
.ambigous.letter{ letter-spacing: 0; }

.fancybox__html5video,
.fancybox__iframe{ outline: 0!important; }

.ttl1{ max-width: 100%; margin: 0 0 3rem auto; font: 4.8rem 'Criticized'; text-align: right; }
.dsc1{ max-width: 100%; margin: 0 0 0 auto; font: 2.8rem 'Swiss721-LightExt'; text-align: right; }

html{ font-size: clamp(1px,.524vw,10px); }
body{ background: #F6F6F6; color: #212121; font: 1.8rem 'Swiss721-LightExt'; text-size-adjust: none; }
body::-webkit-scrollbar-track{ background-color: #fff; }
body::-webkit-scrollbar{ width: 12px; background-color: #fff; }
body::-webkit-scrollbar-thumb{ background-color: #525252; border: none; }

.container{ width: 100%; max-width: 140rem; margin: 0 auto; padding: 0 2rem; }

.animation_slideup{ transform: translateY(10rem); -webkit-transform: translateY(10rem); opacity: 0!important; transition: all 1s ease; -webkit-transition: all 1s ease; }
.animation_slideup.loaded{ transform: translateY(0); -webkit-transform: translateY(0); opacity: 1!important; }
.animation_slideright{ transform: translateX(20rem); -webkit-transform: translateX(20rem); opacity: 0!important; transition: all 1.6s ease; -webkit-transition: all 1.6s ease; }
.animation_slideright.loaded{ transform: translateX(0); -webkit-transform: translateX(0); opacity: 1!important; }
.animation_slideleft{ transform: translateX(-20rem); -webkit-transform: translateX(-20rem); opacity: 0!important; transition: all 1.6s ease; -webkit-transition: all 1.6s ease; }
.animation_slideleft.loaded{ transform: translateY(0); -webkit-transform: translateY(0); opacity: 1!important; }
.animation_upscale{ transform: scale(1); transition: transform .3s ease; -webkit-transition: transform .3s ease; }
.animation_upscale:hover{ transform: scale(1.2); }
.animation_opacity{ opacity: 0!important; transition: all 0.8s ease; -webkit-transition: all 2s ease; transition-delay: .5s; }
.animation_opacity.loaded{ opacity: 1!important; }

header{ margin-bottom: 7rem; padding: 3rem 0; }
header .container{ display: flex; align-items: center; justify-content: space-between; gap: 7rem; }
header .logo{ width: 27.4rem; }
header .logo img{ width: 100%; }
header nav{ display: flex; align-items: center; gap: 5rem; margin: 0 0 0 auto; }
header nav a{ font: 1.6rem 'Swiss721-LightExt'; line-height: 1; color: #28283A; text-transform: uppercase; }
header .lang{ display: none; font-size: 1.1rem; height: 2.1rem; line-height: 2.1rem; border-radius: 2.1rem 0 0 2.1rem; padding: 0 0 0 2.4rem; background: url('assets/images/globus.svg') no-repeat left .15rem center; background-size: 1.7rem; border: 1px solid #000; }
header .lang span{ display: block; padding: 0 2.1rem 0 0; background: url('assets/images/arrow_down.svg') no-repeat right .8rem center; background-size: .7rem; }
header .switcher{ position: relative; width: 3.7rem; height: 2.2rem; background: #f6f6f6; border-radius: 2.2rem; border: 1px solid #1C1C27; }
header .switcher .button{ position: absolute; top: 0; bottom: 0; right: .15rem; left: auto; margin: auto; width: 1.8rem; height: 1.8rem; border-radius: 1.8rem; background: #1C1C27 url('assets/images/sun.svg') no-repeat center; background-size: 1.2rem; cursor: pointer; }

html > div[style]{ display: none !important; }

.showreel{ position: relative; padding: 7rem 0 37rem; }
.showreel .no_pntr{ position: relative; margin: -8rem 0 -10rem -4rem; mix-blend-mode: darken; z-index: 2; }
.showreel #videoreel{ display: block; position: inherit; width: 100%; -webkit-pointer-events: none!important; cursor: none; pointer-events: none!important; opacity: 0; outline: none; z-index: 1; }
.showreel #videocat{ display: block; position: inherit; width: 100%; -webkit-pointer-events: none!important; cursor: none; pointer-events: none!important; outline: none; mix-blend-mode: color-burn; z-index: 0; }
.showreel .anti_yandex_menu{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; z-index: 32; }
.showreel h1{ font: 21.1rem 'Criticized'; line-height: 16.2rem; color: #28283A; text-transform: uppercase; }
.showreel h1 .i{ display: inline-block; position: relative; color: #fff; }
.showreel h1 .i:after{ content: ''; position: absolute; top: -0.5rem; left: 0.4rem; width: 2.3rem; height: 13.7rem; background: #28283A; transition: all .4s ease; }
.showreel h1 .i.active:after{ top: .8rem; height: 12.4rem; }
.showreel h1 .dot{ display: inline-block; font-size: 26rem; line-height: 16.2rem; }
.showreel .btn_play{ display: none; position: absolute; top: 5.1rem; left: 71rem; cursor: pointer; z-index: 20; }
.showreel .btn_play .btn{ display: block; position: relative; width: 4.2rem; height: 4.2rem; background: #2AB0B4 url('assets/images/play.svg') no-repeat left 1.6rem center; background-size: 1.4rem; border-radius: 4.2rem; z-index: 3; transition: .3s ease; }
.showreel .btn_play .btn:before{ content: ''; position: absolute; top: 0; left: 0; width: 4.2rem; height: 4.2rem; background-size: 1.4rem; border-radius: 4.2rem; background: #2AB0B4; animation: pulse 3s ease infinite; z-index: 2; }
.showreel .btn_play:before{ content: ''; position: absolute; top: -5rem; left: 6rem; width: 8.8rem; height: 3.2rem; background: url('assets/images/showreel.svg') no-repeat center; background-size: 8.8rem; }
.showreel .btn_play:after{ content: ''; position: absolute; top: -5.5rem; left: 5rem; width: 17.2rem; height: 9.6rem; background: url('assets/images/arrow.svg') no-repeat center; background-size: 17.2rem; animation: showreel_arrow 5s ease infinite; }
.showreel .btn_play:hover:after{ animation-play-state: paused; }
.showreel .btn_play:hover .btn{ transform: scale(1.4); }
.showreel .btn_play:active .btn{ transform: scale(1.2); }
.showreel .btn_play .i{ display: inline-block; position: relative; color: #fff; z-index: 1; }
.showreel .btn_play .i:before{ content: ''; position: absolute; top: -0.5rem; left: 0.4rem; width: 3.5rem; height: 17rem; background: #f6f6f6; }
.showreel .btn_play .i:after{ content: ''; position: absolute; top: -0.1rem; left: 0.8rem; width: 2.7rem; height: 16rem; background: #28283A; transition: all .4s ease; }
.showreel .btn_play .i.active:after{ top: .9rem; height: 15rem; }
.showreel .img{ position: relative; width: 100%; margin: 0 0 0 auto; z-index: 1; }
.showreel .img img{ width: 100%; height: auto; }

.about{ margin-bottom: 23rem; }
.about .grid{ display: flex; gap: 7rem; }
.about .grid .item{ width: calc(50% - 3.5rem); }
.about .grid .item .txt{ margin: 0 0 6rem; padding: 1rem 4rem 0; border-left: 4px solid #2AB0B4; }
.about .grid .item .txt .title{ margin: 0 0 1rem; font: 5.8rem 'Criticized'; letter-spacing: -.15rem; text-transform: uppercase; }
.about .grid .item .txt .desc{ font: 1.9rem 'Swiss721-LightExt'; line-height: 1.45; }
.about .grid .img{ width: calc(50% - 3.5rem); height: 100%; }
.about .grid .img img{ width: 100%; height: 100%; object-fit: cover; }

.services{ margin-bottom: 26rem; }
.services .grid{ display: flex; flex-wrap: wrap; }
.services .grid .item{ display: flex; }
.services .grid .item:nth-of-type(odd){ flex-direction: row-reverse; }
.services .grid .item .img{ position: relative; width: 50%; background: #fff; }
.services .grid .item .img img{ width: 100%; height: 100%; object-fit: cover; }
.services .grid .item .img video{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.5s ease; }
.services .grid .item:hover .img video{ opacity: 1; }
.services .grid .item .txt{ display: flex; flex-wrap: wrap; align-content: center; width: 50%; padding: 8rem 20rem 8rem 0; }
.services .grid .item:nth-of-type(even) .txt{ padding-left: 10rem; padding-right: 15rem; }
.services .grid .item .txt p{ width: 100%; font: 1.9rem 'Swiss721-LightExt'; line-height: 1.45; }
.services .grid .item .txt .title{ display: table; width: auto; position: relative; margin-bottom: 2rem; font: 4rem 'Criticized'; line-height: 4rem; text-transform: uppercase; }
.services .grid .item .txt .title:after{ content: ''; position: absolute; right: -15rem; top: .1rem; width: 14rem; height: 2.9rem; background: linear-gradient(to right, #2AB0B4, transparent); }

article{ font: 2.9rem 'Swiss721-LightExt'; margin-bottom: 9rem; }
article h1{ font: 12.6rem 'Criticized'; letter-spacing: -0.3rem; line-height: 13.4rem; text-transform: uppercase; margin-bottom: 2.5rem; }
article img{ max-width: 100%; height: auto; border-radius: 4.7rem; }
article .pic{ display: flex; justify-content: space-between; align-items: flex-start; gap: 7rem; margin: 0 0 4rem 0; text-align: right; }
article .pic img{ display: inline-block; max-width: calc(100% - 11rem); }
article .go_back{ display: block; margin-bottom: 1rem; min-width: 4rem; width: 4rem; height: 2.4rem; border: 1px solid #1e1c29; background: url('assets/images/go_back_black.svg') no-repeat center; background-size: 1.4rem; z-index: 2; }
article h1 + .go_back{ margin-top: -1rem; margin-bottom: 3rem; }
article p{ line-height: 1.45; margin: 0 0 4rem 0; }
article p.right{ margin: 0 0 4rem auto; }
article ul{ margin: 0 0 4rem 3rem; }
article li{ line-height: 1.45; }

article .video_cases{ overflow: hidden; }
article .video_cases video{ max-width: 100%; width: 100%; height: 76.5rem; border-radius: 4.7rem; background: rgba(0,0,0,.12); }

article .bigpic{ display: grid; flex-wrap: wrap; position: relative; width: 100%; height: auto; margin-bottom: 6.7rem; font: 2.9rem 'Swiss721-LightExt'; border-radius: 0 4.7rem; background-size: cover; background-position: center; background-repeat: no-repeat; overflow: hidden; }
article .bigpic p{ width: 100%; max-width: 100%; margin: 0 0 3rem 0; line-height: 1.3; }
article .bigpic p:last-child{ margin: 0; }
article .bigpic .text1{ position: relative; width: 57.5rem; background: #F6F6F6; padding: 5rem 4rem 5rem 0; font: 2.9rem 'Swiss721-LightExt'; border-radius: 0 0 4.7rem 0; }
article .bigpic .text1:before{ content: ''; position: absolute; bottom: -4.7rem; left: 0; width: 4.7rem; height: 9.4rem; background: #F6F6F6; -webkit-mask: radial-gradient(4.7rem at 100% 100%, #F6F6F600 98%, #F6F6F6); }
article .bigpic .text1:after{ content: ''; position: absolute; top: 0; right: -4.7rem; width: 9.4rem; height: 4.7rem; background: #F6F6F6; -webkit-mask: radial-gradient(4.7rem at 100% 100%, #F6F6F600 98%, #F6F6F6); }
article .bigpic .text2{ position: relative; width: 77rem; background: #F6F6F6; margin: 0 0 0 auto; padding: 5rem 4rem; font: 2.9rem 'Swiss721-LightExt'; border-radius: 4.7rem 0 0 0; }
article .bigpic .text2:before{ content: ''; position: absolute; top: -4.7rem; right: 0; width: 4.7rem; height: 9.4rem; background: #F6F6F6; -webkit-mask: radial-gradient(4.7rem at 0 0, #F6F6F600 98%, #F6F6F6); }
article .bigpic .text2:after{ content: ''; position: absolute; bottom: 0; left: -4.7rem; width: 9.4rem; height: 4.7rem; background: #F6F6F6; -webkit-mask: radial-gradient(4.7rem at 0% 0%, #F6F6F600 98%, #F6F6F6); }
article .bigpic.to-right{ border-radius: 4.7rem 0; }
article .bigpic.to-right .text1{ margin: 0 0 0 auto; padding: 5rem 3rem 5rem 4rem; border-radius: 0 0 0 4.7rem; }
article .bigpic.to-right .text1:before{ bottom: -4.7rem; left: auto; right: 0; -webkit-mask: radial-gradient(4.7rem at 0% 100%, #F6F6F600 98%, #F6F6F6); }
article .bigpic.to-right .text1:after{ top: 0; left: -4.7rem; right: auto; -webkit-mask: radial-gradient(4.7rem at 0% 100%, #F6F6F600 98%, #F6F6F6); }
article .bigpic.to-right .text2{ width: 80rem; background: #F6F6F6; margin: 0; padding: 5rem 4rem 5rem 0; font: 2.9rem 'Swiss721-LightExt'; border-radius: 0 4.7rem 0 0; }
article .bigpic.to-right .text2:before{ top: -4.7rem; left: 0; right: auto; -webkit-mask: radial-gradient(4.7rem at 100% 0, #F6F6F600 98%, #F6F6F6); }
article .bigpic.to-right .text2:after{ bottom: 0; left: auto; right: -4.7rem; -webkit-mask: radial-gradient(4.7rem at 100% 0%, #F6F6F600 98%, #F6F6F6); }

article.contacts{ position: relative; }
article.contacts .georgia_pic{ position: absolute; top: 0; left: -10rem; right: -10rem; bottom: -25rem; opacity: 0.65; }
article.contacts .georgia_pic img{ width: 100%; height: 100%; object-fit: contain; }
article.contacts h1{ margin-bottom: 55rem; }
article.contacts .location{ position: relative; font: 2.5rem 'Criticized'; margin-bottom: 18rem; z-index: 3; }
article.contacts .location > span{ display: block; font: 5rem 'Swiss721-LightExt'; }
article.contacts .location > span > span{ display: inline-block; margin-left: 1rem; font: 2.4rem 'Swiss721-LightExt'; }
article.contacts .social_groups{ display: flex; align-items: center; gap: 4rem; }
article.contacts .social_groups img{ width: 2.1rem; border-radius: 0; filter: invert(1); }
article.contacts .cnt{ position: absolute; right: 0; bottom: 1rem; z-index: 4; }
article.contacts .cnt p{ font: 2.5rem 'Swiss721-LightExt'; margin-bottom: 3rem; text-transform: uppercase; }

.fullscreen-video{ overflow: hidden; }
.fullscreen-video video{ max-width: 100%; width: 100%; height: auto; border-radius: 4.7rem; }

.map_pic{ margin: 13rem auto 18rem; max-width: 100%; }
.map_pic img{ max-width: 100%; }

.clients{ margin-bottom: 25rem; }
.clients h2{ font-size: 12rem; margin-bottom: 14rem; }
.clients .grid{ display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 15rem; }
.clients .grid span{ display: flex; align-items: center; justify-content: center; width: calc(33.33% - 10rem); }
.clients .grid span img{ max-width: 100%; height: auto; filter: grayscale(1); border-radius: 0; transition: filter 0.4s ease; }
.clients .grid span:hover img{ filter: grayscale(0); }

.steps{ display: flex; gap: 10rem; margin-bottom: 25rem; }
.steps .title{ width: 53%; min-width: 53%; font: 12rem 'Criticized'; text-align: right; }
.steps .desc{ font: 3.2rem 'Swiss721-LightExt'; max-width: 100%; }
.steps .desc p{ max-width: 100%; line-height: 1.43; }

.get_started{ display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 25rem; }
.get_started .txt .h2{ margin-bottom: 1rem; font: 4.8rem 'Criticized'; text-transform: uppercase; }
.get_started .txt p{ font: 2.4rem 'Swiss721-LightExt'; }
.get_started .heading .h3{ position: relative; font: 6.4rem 'Criticized'; color: #FAFAFA; line-height: 4.3rem; padding: 1.1rem 0 0 0.2rem; text-transform: uppercase; cursor: pointer; }
.get_started .heading .h3:after{ content: ''; position: absolute; top: 0; left: 0; width: 120%; height: 100%; background: linear-gradient(120deg, #2AB0B4, rgba(42,176,180,.07), #2AB0B4); animation: button_gradient 7s infinite ease; background-size: 200%; z-index: -1; }

#feedback{ display: flex; flex-wrap: wrap; flex-direction: row; max-width: 120rem; padding: 5rem; }
#feedback .form{ width: 50%; min-width: 50%; padding-right: 8rem; }
#feedback a{ color: #2AB0B4; }
#feedback .title{ width: 100%; font: 6rem 'Swiss721-LightExt'; margin-bottom: 5rem; }
#feedback form > .item{ margin-bottom: 4rem; }
#feedback .group{ display: flex; flex-wrap: wrap; gap: 4rem 8rem; margin-bottom: 4rem; }
#feedback .group .item{ width: calc(50% - 4rem); }
#feedback label{ font: 2.2rem 'Swiss721-LightExt'; }
#feedback input[type=tel],
#feedback input[type=email],
#feedback input[type=text],
#feedback select{ width: 100%; height: 4rem; line-height: 4rem; border: 0; border-bottom: 1px solid #000; }
#feedback select{ cursor: pointer; }
#feedback textarea{ width: 100%; height: 4rem; line-height: 4rem; border: 0; border-bottom: 1px solid #000; }
#feedback .send{ display: table; position: relative; margin: 5rem 0 0; padding: 0; }
#feedback .send:after{ content: ''; position: absolute; top: 0; left: 0; width: 120%; height: 100%; background: linear-gradient(to right, #2AB0B4, rgba(42,176,180,.07)); z-index: -1; }
#feedback input[type=submit]{ position: relative; font: 6.4rem 'Criticized'; background: transparent; color: #FAFAFA; border: 0; line-height: 4.3rem; padding: 1.1rem 0 0 0.2rem; text-transform: uppercase; cursor: pointer; }
#feedback .pic{ position: relative; width: 50%; min-width: 50%; }
#feedback .pic img{ position: relative; right: 0; width: calc(100% + 5rem); height: 51rem; object-fit: cover; }
#feedback .wpcf7-acceptance{ cursor: pointer; }
#feedback .wpcf7-acceptance label{ font-size: 1.7rem; }
#feedback .wpcf7-acceptance .wpcf7-list-item{ margin: 0; }
.wpcf7-not-valid-tip{ font: 1.6rem 'Swiss721-LightExt'; }

footer{ padding: 9rem 0; background: #28283A; color: #FAFAFA; }
footer .grid{ display: flex; align-items: center; justify-content: space-between; }
footer .grid .item .logo_footer{ display: block; margin-bottom: 5.4rem; width: 31rem; }
footer .grid .item .logo_footer img{ width: 100%; height: 100%; object-fit: cover; }
footer .grid .item .desc{ font: 2.5rem 'Criticized'; text-transform: uppercase; }
footer .grid .title{ font: 2.2rem 'Criticized'; margin-bottom: 4rem; }
footer .grid .form{ min-width: 38rem; padding: 3rem 4rem; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.39); }
footer .grid .email{ font: 1.7rem 'Swiss721-LightExt'; margin-bottom: 2.6rem; }
footer .grid .phone{ font: 1.7rem 'Swiss721-LightExt'; }
footer .grid .phone a{ color: #fff; }
footer .grid .social_groups{ display: flex; align-items: center; gap: 4rem; }
footer .grid .social_groups img{ width: 2.1rem; }
footer .grid.cases{ align-items: flex-start; gap: 15.6rem; }
footer .grid.cases .item:nth-of-type(1){ width: 100%; margin-bottom: -1rem; }
footer .grid.cases .item .logo_footer{ width: 28rem; margin-bottom: 2rem; }
footer .grid.cases .item .desc{ font: 1.7rem 'Swiss721-LightExt'; text-transform: uppercase; }
footer .grid.cases .item:nth-of-type(2){ min-width: 12rem; width: 12rem; }
footer .grid.cases .item:nth-of-type(3){ /*min-width: 12rem; width: 12rem;*/ }
footer .grid.cases .social_groups{ min-width: 10rem; width: 10rem; flex-wrap: wrap; gap: 2rem; }

#cookies_agree{ display: flex; gap: 4rem; position: fixed; max-width: 110rem; bottom: 0; left: 0; right: 0; margin: 0 auto; padding: 2.4rem 6rem; background: rgba(255,255,255,0.9); backdrop-filter: blur(1rem); border-radius: 2rem; box-shadow: 1rem 1rem 2rem rgba(0,0,0,.21); opacity: 0; box-sizing: border-box; z-index: 4; transition: all 0.4s ease; pointer-events: none; }
#cookies_agree.active{ transform: translateY(-4rem); opacity: 1; pointer-events: all; }
#cookies_agree .button{ display: flex; background: #2ab0b4; color: #fff; padding: 1rem 2rem; white-space: nowrap; align-items: center; justify-content: center; cursor: pointer; }

/* Dark Theme */
body.dark{ background: #151317; color: #f6f6f6; }
body.dark a{ color: #f6f6f6; }
body.dark a:hover{ color: #2AB0B4; }
body.dark .ambigous{ color: #f6f6f6; }
body.dark header .logo{ filter: invert(1) brightness(1.2) contrast(1.1); }
body.dark header nav a{ color: #F6F6F6; }
body.dark header .switcher{ border-color: #fafafa; background: #1C1C27; }
body.dark header .switcher .button{ right: auto; left: .15rem; background: #fafafa url('assets/images/moon.svg') no-repeat center; background-size: 1.2rem; }
body.dark .showreel .btn_play .i:before{ background: #1c1c27; }
body.dark .showreel .btn_play .i:after{ background: #faf9fa; }
body.dark .showreel .btn_play:after{ background: url('assets/images/arrow_dark.svg') no-repeat center; background-size: 17.2rem; }
body.dark .services .grid .item .img{ background: #fff; }
body.dark .about .grid .item .txt{ color: #f6f6f6; }
body.dark .about .grid .item .txt .title{ color: #f6f6f6; }
body.dark .services .grid .item .txt{ color: #f6f6f6; }
body.dark .clients .grid span img{ filter: grayscale(1) invert(1); }
body.dark .clients .grid span img:hover{ filter: grayscale(0) invert(0); }
body.dark .get_started{ color: #f6f6f6; }
body.dark article .go_back{ border-color: #f6f6f6; background: url('assets/images/go_back.svg') no-repeat center; background-size: 1.4rem; }
body.dark article .bigpic .text1{ background: #151317; }
body.dark article .bigpic .text1:before{ background: #151317; -webkit-mask: radial-gradient(4.7rem at 100% 100%, #15131700 98%, #151317); }
body.dark article .bigpic .text1:after{ background: #151317; -webkit-mask: radial-gradient(4.7rem at 100% 100%, #15131700 98%, #151317); }
body.dark article .bigpic.to-right .text1:before{ background: #151317; -webkit-mask: radial-gradient(4.7rem at 0% 100%, #15131700 98%, #151317); }
body.dark article .bigpic.to-right .text1:after{ background: #151317; -webkit-mask: radial-gradient(4.7rem at 0% 100%, #15131700 98%, #151317); }
body.dark article .bigpic .text2{ background: #151317; }
body.dark article .bigpic .text2:before{ background: #151317; -webkit-mask: radial-gradient(4.7rem at 0 0, #15131700 98%, #151317); }
body.dark article .bigpic .text2:after{ background: #151317; -webkit-mask: radial-gradient(4.7rem at 0% 0%, #15131700 98%, #151317); }
body.dark article .bigpic.to-right .text2:before{ background: #151317; -webkit-mask: radial-gradient(4.7rem at 100% 0, #15131700 98%, #151317); }
body.dark article .bigpic.to-right .text2:after{ background: #151317; -webkit-mask: radial-gradient(4.7rem at 100% 0%, #15131700 98%, #151317); }
body.dark .map_pic{ background: url('assets/images/world_black.svg?v=1.01') no-repeat center; background-size: contain; }
body.dark .map_pic img{ opacity: 0; }
body.dark .georgia_pic{ background: url('assets/images/georgia2_black.webp?v=1.01') no-repeat center; background-size: contain; }
body.dark .georgia_pic img{ opacity: 0; }
body.dark article.contacts .social_groups img{ filter: invert(0); }

body.dark .fancybox__content{ background: #1C1C27; color: #f6f6f6; }
body.dark #feedback input[type=tel],
body.dark #feedback input[type=email],
body.dark #feedback input[type=text],
body.dark #feedback textarea,
body.dark #feedback select{ background: #1C1C27; color: #f6f6f6; border-color: #46465b; }
body.dark footer{ background: #131316; }

body.dark #cookies_agree{ background: rgba(0,0,0,.9); }
/* Dark Theme */

@keyframes showreel_arrow{
  0%{
    transform: rotate(0deg) translateX(0) translateY(0);
  }
  5%{
    transform: rotate(-2deg) translateX(-.5rem) translateY(0);
  }
  10%{
    transform: rotate(0deg) translateX(0) translateY(0);
  }
  15%{
    transform: rotate(-2deg) translateX(-.5rem) translateY(0);
  }
  20%{
    transform: rotate(0deg) translateX(0) translateY(0);
  }
  100%{
    transform: rotate(0deg) translateX(0) translateY(0);
  }
}
@keyframes pulse{
  0%{
    transform: scale(1, 1) translate3d(0,0,1px);
  }
  30%{
    opacity: 0.3;
  }
  60%{
    transform: scale(1.7) translate3d(0,0,1px);
    opacity: 0;
  }
  100%{
    transform: scale(1) translate3d(0,0,1px);
    opacity: 0;
  }
}
@keyframes button_gradient{
  0%{
    background-position: 0% 0%;
  }
  30%{
    background-position: 100% 100%;
  }
  60%{
    background-position: 0% 0%;
  }
  100%{
    background-position: 0% 0%;
  }
}
@media(max-width:820px){
    html{ font-size: clamp(1px,.524vw,10px); }
    body{ font-size: 8rem; overflow-x: clip; }
    .container{ max-width: 174rem; padding: 0; }
    .only_pc{ display: none!important; }
    .only_mobile{ display: block!important; }
    .ambigous{ font-size: 28rem; }
	
	.ttl1{ font-size: 9rem; }
	.dsc1{ font-size: 7rem; }

    .animation_opacity{ transition: all 2s ease; -webkit-transition: all 1s ease; transition-delay: 0s; }

    header{ margin-bottom: 40rem; }
    header .container{ gap: 4rem; }
    header .logo{ width: 50rem; }
    header nav{ margin: 0 0 0 auto; justify-content: flex-end; }
    header nav a{ font-size: 4.6rem; }
    header .lang{ font-size: 5rem; height: 9rem; line-height: 9rem; border-radius: 8rem 0 0 8rem; padding: 0 0 0 10rem; background-size: 7rem; background-position: left 1rem center; }
    header .lang span{ padding-right: 9rem; background-size: 5rem; background-position: right 2rem center; }
    header .switcher{ width: 9rem; height: 5rem; border-radius: 5rem; }
    header .switcher .button{ width: 4rem; height: 4rem; right: .5rem; background-size: 3rem; }
    body.dark header .switcher .button{ width: 4rem; height: 4rem; left: .5rem; background-size: 3rem; }

    main{ overflow-x: clip; }
    .showreel{ padding-bottom: 30rem; }
    .showreel h1{ font-size: 30rem; margin-bottom: 3rem; }
    .showreel h1 .i:after{ top: -4.3rem; left: 1rem; width: 3rem; height: 19.4rem; }
    .showreel h1 .i.active:after{ top: -0.9rem; height: 16rem; }
    .showreel .btn_play{ top: -2.3rem; left: 87.5rem; }
    .showreel .btn_play .btn{ width: 12rem; height: 12rem; border-radius: 12rem; background-size: 5rem; background-position: left 4rem center; }
    .showreel .btn_play .btn:before{ width: 12rem; height: 12rem; border-radius: 12rem; }
    .showreel .btn_play:before{ top: -11rem; left: 14rem; width: 22rem; height: 10rem; background-size: contain; }
    .showreel .btn_play:after{ top: -10.5rem; left: 13rem; width: 38rem; height: 21rem; background-size: contain; }
    .showreel .btn_play .i{ display: none!important; }
    .showreel .btn_play .i:before{ top: -6rem; left: 4rem; width: 4.2rem; height: 22rem; }
    .showreel .btn_play .i.active:before{ top: -6rem; left: 4rem; width: 4.2rem; height: 22rem; }
    .showreel .btn_play .i:after{ top: -5rem; left: 4.1rem; width: 3.9rem; height: 20rem; }
    .showreel .btn_play .i.active:after{ top: -5rem; left: 4.1rem; width: 3.9rem; height: 20rem; }
    .showreel .btn_play:hover .btn{ transform: scale(1); }
    .showreel .btn_play:active .btn{ transform: scale(1); }

    .about{ margin-bottom: 30rem; }
    .about .grid{ flex-wrap: wrap; gap: 0; }
    .about .grid .item{ width: 100%; }
    .about .grid .item .txt{ margin: 0 0 15rem; padding: 4rem 6rem; }
    .about .grid .item .txt .title{ font-size: 14rem; }
    .about .grid .item .txt .desc{ font-size: 7rem; }
    .about .grid .img{ width: 100%; }

    .services .grid .item{ flex-wrap: wrap; gap: 0; margin-bottom: 15rem; }
    .services .grid .item .img{ width: 100%; margin-bottom: 6rem; }
    .services .grid .item .txt{ width: 100%; padding: 0; }
    .services .grid .item .txt p{ font-size: 6rem; }
    .services .grid .item:nth-of-type(even) .txt{ padding: 0; }
    .services .grid .item .txt .title{ font-size: 14rem; line-height: 14rem; margin-bottom: 3rem; }
    .services .grid .item .txt .title:after{ right: -42rem; top: 1rem; width: 40rem; height: 10rem; }
    .services .grid .item.in_view video{ opacity: 1; }

	article{ margin-bottom: 30rem; }
	article h1{ font-size: 16rem; line-height: 16rem; margin-bottom: 10rem; }
	article .pic{ margin-bottom: 10rem; }
    article .pic img{ max-width: calc(100% - 19rem); }
    article .go_back{ min-width: 12rem; width: 12rem; height: 8rem; background-size: 4rem; }
	article p{ font-size: 7rem; line-height: 1.45; max-width: 100%; margin-bottom: 10rem; }
	article ul{ margin: 0 0 10rem 8rem; }
    article li{ font-size: 7rem; line-height: 1.45; }
    .fullscreen-video video{ border-radius: 12rem; }

    body.dark article .go_back{ background-size: 4rem; }

    article .bigpic{ display: block; background-image: none!important; }
    article .bigpic .text1,
    article .bigpic .text2,
    article .bigpic.to-right .text1,
    article .bigpic.to-right .text2{ width: 100%; margin: 0; padding: 6rem 0; border-radius: 12rem; }
    article .video_cases{ }
    article .video_cases video{ height: 98rem; border-radius: 12rem; }

    article.contacts .georgia_pic{ bottom: 5rem; }

    article.contacts h1{ margin-bottom: 100rem; }
    article.contacts .location{ font-size: 7rem; }
    article.contacts .location > span{ font-size: 9rem; }
    article.contacts .location > span > span{ font-size: 7rem; }

    article.contacts .cnt{ position: relative; }
    article.contacts .cnt p{ font-size: 7rem; }
    article.contacts .social_groups{ gap: 10rem; }
    article.contacts .social_groups img{ width: 8rem; }

	.clients{ margin-bottom: 40rem; }
	.clients h2{ font-size: 14rem; line-height: 14rem; }
	.clients .grid{ gap: 22rem; }
	.clients .grid span{ width: calc(33.33% - 15rem); }
	
	.steps{ flex-wrap: wrap; }
	.steps .title{ font-size: 14rem; line-height: 14rem; width: 100%; margin: 0 0 10rem 0; }
	.steps .desc{ width: 100%; }
	
    .get_started{ flex-wrap: wrap; }
    .get_started .txt{ margin: 0 0 6rem; }
    .get_started .txt .h2{ font-size: 10rem; }
    .get_started .txt p{ font-size: 5.6rem; }
    .get_started .heading .h3{ font-size: 14rem; line-height: 10rem; padding: 3rem 0 0 1rem; }
    .get_started .heading .h3:after{ width: 140%; }

    h1{ font-size: 14rem; margin-bottom: 12rem; }
    h2{ font-size: 14rem; margin-bottom: 12rem; }
    h3{ font-size: 10rem; margin-bottom: 6rem; }

    footer .grid{ flex-wrap: wrap; }
    footer .grid .item{ width: 100%; }
    footer .grid .item .logo_footer,
    footer .grid.cases .item .logo_footer{ width: 70rem; margin-bottom: 10rem; }
    footer .grid .item .desc{ font-size: 5.6rem; margin-bottom: 10rem; }
    footer .grid.cases .item .desc{ font-size: 5.6rem; margin-bottom: 0; }
    footer .grid .title{ font-size: 10rem; }
    footer .grid .form{ padding: 8rem 0; border-left: 0; border-right: 0; border-bottom: 0; background: none; }
    footer .grid .form .email,
    footer .grid .form .phone{ font-size: 8rem; }
    footer .grid .social_groups{ gap: 10rem; }
    footer .grid .social_groups img{ width: 8rem; }
    
    footer .grid.cases{ align-items: flex-start; gap: 15.6rem; margin-bottom: 10rem; }
    footer .grid.cases .item:nth-of-type(1){ width: 100%; margin-bottom: -1rem; }
    footer .grid.cases .item:nth-of-type(2){ min-width: 100%; width: 100%; }
    footer .grid.cases .item:nth-of-type(3){ min-width: 100%; width: 100%; }
    footer .grid.cases .social_groups{ min-width: 100%; width: 100%; gap: 10rem; }
	
	#feedback{ flex-wrap: wrap; max-width: 160rem; }
	#feedback .form{ width: 100%; }
	#feedback .pic{ display: none; }
	#feedback .title{ font-size: 8.2rem; }
	#feedback label{ font-size: 7rem; }
	#feedback input[type=tel], #feedback input[type=email], #feedback input[type=text]{ height: 20rem; line-height: 20rem; }
	#feedback textarea{ height: 40rem; line-height: 1; padding: 4rem 3rem; }
	#feedback input[type=submit]{ font-size: 12rem; line-height: 10rem; padding: 3rem 0 0 1rem; }
	.wpcf7-not-valid-tip{ font: 6rem 'Swiss721-LightExt'; }
	#feedback .wpcf7-acceptance label{ font-size: 6rem; }
	
	#cookies_agree{ display: block; max-width: 90%; padding: 5rem 10rem; font-size: 7rem; border-radius: 6rem; }
	#cookies_agree .desc{ display: block; margin-bottom: 5rem; }
	#cookies_agree .button{ display: table; padding: 4rem 8rem; }
}