@font-face { 
	font-family: 'Texgyre'; 
	src: url('../fonts/TeXGyreHeros-Regular.woff2') format('woff2');
	font-weight: normal;
}
@font-face { 
	font-family: 'Texgyre'; 
	src: url('../fonts/TeXGyreHeros-Bold.woff2') format('woff2');
	font-weight: bold;
}
:root{
	--c_svg: #1D1D1F;
	--c_bg: #FAFAFA;
	--c_bg2: #1D1D1F;
	--c_bg2_8: #DEDEDE;
	--c_bg_col: #EAEAEA;
	--c_text: #1D1D1F;
	--c_text_hover: #F2F2F2;
	--c_current: #8C8C8C;
	--c_brd: #838383;
	--c_cell: #BDBDBD;
}
body.dark{
	--c_svg: #F2F2F2;
	--c_bg: #1E1E1E;
	--c_bg2: #FAFAFA;
	--c_bg2_8: #3A3A3A;
	--c_bg_col: #303030;
	--c_text: #F2F2F2;
	--c_text_hover: #1D1D1F;
	--c_current: #A5A5A5;
	--c_brd: #959595;
	--c_cell: #5C5C5C;
}
* {margin:0; padding:0; box-sizing:border-box;}
html{background: var(--c_text);}
a {color:var(--c_text); text-decoration:none;}
ol, ul {list-style:none;}
table {border-collapse:collapse; border-spacing:0;}
img {border:0;}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
}

h1 {
	font-weight: bold;
}

h3, h4 {
	font-weight: bold;
}

h2 {
	font-size: 38px;
	font-weight: bold;
}

/* Specific heading that needs to be normal weight */
h2.sttop_descr {
	font-weight: normal;
}
input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}
a.unline{text-decoration: underline;}
p{
	margin-bottom: 8px;
}
body{
	display: none;
	font-size:16px;
	line-height:1.2;
	font-family:'Texgyre',tahoma,sans-serif;
	font-weight: normal;
	height: 100%;
	background: var(--c_bg);
	color: var(--c_text);
}
body.wlc{
	display: block !important;
}
body *{
	transition: color .5s, background .5s;
}
.mode svg path{
	fill: var(--c_svg);
}
.pdlr{
	padding-left: 80px;
	padding-right: 80px;
}
.fr .lang_fr, .en .lang_en{
	color: #8C8C8C;
}
.txtc{
	text-align: center;
}
.txtr{
	text-align: right;
}
.txtb{
	font-weight: bold;
}
.txtup{
	text-transform: uppercase;
}
.pdtb100{
	padding-top: 100px;
	padding-bottom: 100px;
}
.mrgb16{
	margin-bottom: 16px;
}
.mrgb20{
	margin-bottom: 20px;
}
.mrgb24{
	margin-bottom: 24px;
}
.mrgb32{
	margin-bottom: 32px;
}
.mrgb40{
	margin-bottom: 40px;
}
.mrgb60{
	margin-bottom: 60px;
}
.mrgb80{
	margin-bottom: 80px;
}

.fs20{
	font-size: 20px;
}
.fs48{
	font-size: 48px;
}
.fs38{
	font-size: 38px;
}
.withimg img{
	margin: 0 15px;
	vertical-align: top;
}
.fs48 img{
	height: 48px;
}
a{transition: opacity .4s;}

.bt_def{
	padding: 12px;
	border: 1px solid var(--c_text);
	border-radius: 30px;
	font-weight: bold;
}
.bt_def img{
	margin-right: 16px;
	height: 28px;
}
/* Remove the global animation from all button images */
.bt_def img[src*="emoji_finger"] {
	animation: finger-swipe 1.4s linear infinite alternate;
}
.bt_smh{
	padding: 6px 12px 8px;
}
.bt_wfull{
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
}
.bt_def:hover{
	background: var(--c_text);
	padding: 10px 12px;
	color: var(--c_text_hover);
}
.bt_def:hover img{
	height: 32px;
}
.bt_def.bt_smh:hover{
	padding: 4px 12px 6px;
}
.bt_def.bt_light{
	border: 1px solid #fafafa;
	color: #fafafa;
}
.bt_def.bt_light:hover{
	border: 1px solid #1D1D1F;
}
.bt_cooctransp{
	font-size: 16px;
	line-height: 1;
	color: var(--c_text);
	padding: 12px 32px;
	display: inline-block;
	border: 1px solid var(--c_text);
	border-radius: 25px;
}

.bigtxt{
	display: flex;
	justify-content: space-between;
	margin-bottom: 25px;
	perspective: 1000px;
}
.bigtxt img{
	height: 250px;
	transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1.4);
	will-change: transform;
	transform-origin: center center;
}

/* Make sure the general bigtxt hover rules don't apply to bottom_noname */
.bigtxt:not(.bottom_noname) img:hover {
	transform: scale(1.12) rotate(-5deg);
}

.bigtxt:not(.bottom_noname) img:nth-child(odd):hover {
	transform: scale(1.12) rotate(5deg);
}

.whw{
	display: none;
}
.dark .bigtxt img{
	display: none;
}
.dark .bigtxt img.whw{
	display: inline;
}
.bottom_noname{
	height: 190px;
	overflow: hidden;
	margin-bottom: 0 !important;
	padding-top: 20px;
	box-sizing: unset;
}
.bottom_noname img {
	transition: transform 0.25s ease;
	transform: translateY(0);
	will-change: transform;
}

/* Override any potential inherited transform effects for bottom_noname */
.bottom_noname img:hover {
	transform: translateY(-22px) rotate(0deg) !important;
}
.bottom_noname span{
	font-size: 350px;
	font-weight: bold;
	letter-spacing: 0.13em;
	line-height: 0.7;
	text-align: center;
	display: block;
}
.menu_block{
	background: var(--c_bg);
	position: fixed;
	top: 0;
	left: -100%;
	height: 100vh;
	width: 100%;
	overflow-y: auto;
	z-index: 9;
	transition: left 0.5s ease;
}

/* MENU COLOR REVERSAL - START */
/* In light theme, make menu use dark colors */
body:not(.dark) .menu_block {
	background: var(--c_bg2);
	color: var(--c_text_hover);
}

body:not(.dark) .menu_block a {
	color: var(--c_text_hover);
}

body:not(.dark) .menu_block .mode svg path {
	fill: var(--c_text_hover);
}

body:not(.dark) .menu_block a.current {
	color: var(--c_current);
}

/* Button styles for light theme */
body:not(.dark) .menu_block .bt_def {
	border-color: var(--c_text_hover);
}

body:not(.dark) .menu_block .bt_def:hover {
	background: var(--c_text_hover);
	color: var(--c_text);
}

/* In dark theme, make menu use light colors */
body.dark .menu_block {
	background: var(--c_bg2);
	color: var(--c_text_hover);
}

body.dark .menu_block a {
	color: var(--c_text_hover);
}

body.dark .menu_block .mode svg path {
	fill: var(--c_text_hover);
}

/* Button styles for dark theme */
body.dark .menu_block .bt_def {
	border-color: var(--c_text_hover);
}

body.dark .menu_block .bt_def:hover {
	background: var(--c_text_hover);
	color: var(--c_text);
}
/* MENU COLOR REVERSAL - END */

.menu_block.active{
	left: 0;
}

/* Prevent body scrolling when menu is active */
body.menu-open {
	overflow: hidden;
	position: fixed;
	width: 100%;
	height: 100%;
}

.menu_head{
	padding: 30px 80px 0;
	display: flex;
	justify-content: space-between;
}
.menu_head > div{
	width: 180px;
}
.menu_bts{
	display: flex;
	align-self: baseline;
	align-items: center;
	padding-top: 8px;
}
.menu_lang{
	margin-right: 36px;
}
.menu_top{
	position: absolute;
	left: 80px;
	top: 24vh;
	display: flex;
	flex-direction: column;
}
.menu_top a{
	font-size: 96px;
	font-weight: bold;
	line-height: 96px;
	overflow: hidden;
}
.menu_top a.current{
	color: var(--c_current);
}
.menu_top_bts{
	width: 260px;
	position: absolute;
	right: 80px;
	top: 24vh;
}
a.bt_mode img.lightimg{
	display: none !important;
}
a.bt_mode img.darkimg{
	display: inline !important;
}
.dark a.bt_mode img.lightimg{
	display: inline !important;
}
.dark a.bt_mode img.darkimg{
	display: none !important;
}
a.bt_mode span.light{
	display: inline !important;
}
a.bt_mode span.dark{
	display: none !important;
}
.dark a.bt_mode span.light{
	display: none !important;
}
.dark a.bt_mode span.dark{
	display: inline !important;
}
.menu_follow{
	position: absolute;
	right: 80px;
	bottom: 16vh;
}
.menu_follow p{
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
	padding-left: 10px;
}
.menu_follow a{
	margin: 0 10px;
}
.menu_follow a img{
	display: none;
	width: 32px;
}
.menu_follow a:hover img{
	display: inline;
}
.menu_follow a:hover svg{
	display: none;
}



header{
	display: flex;
	justify-content: space-between;
	padding-top: 40px;
	z-index: 2;
	position: relative;
	margin-bottom: 40px;
}
.header_left, .header_right{
	width: 170px;
	display: flex;
	padding-top: 10px;
	align-self: baseline;
	align-items: center;
}
.header_right{
	justify-content: right;
}
.bt_menu{
	margin-right: 40px;
	
}
.move_lr{
	margin-right: 16px;
}
.move_lr img{
	animation: runright 1.4s linear infinite alternate;
}
@keyframes runright {
  0% {
    margin-right: 0;
  }
  50% {
    margin-right: 8px;
  }
  100% {
    margin-right: 0;
  }
}
.agency .ntop{
	margin-top: 50px;
}
h1{
	line-height: 1;
}
h2{
	font-size: 38px;
	font-weight: bold;
}
.hd_descr{
	font-size: 48px;
	margin-right: 95px;
	text-align: right;
	font-weight: bold;
}

.main_bl1{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.main_bl1bt{
	width: 320px;
	flex-shrink: 0;
}
.scrl_vert{
	padding-top: 60px;
	padding-bottom: 100px;
}
.arr_tb{
	text-align: center;
}
.move_tb{
	height: 42px;
	margin-bottom: 8px;
	display: inline-block;
}
.move_tb svg{
	animation: botrun 1.4s linear infinite alternate;
}
@keyframes botrun {
  0% {
    margin-top: 0;
  }
  50% {
    margin-top: 8px;
  }
  100% {
    margin-top: 0;
  }
}
.showreal{
	margin-bottom: 140px;
}
.main_bl2{
	font-size: 38px;
	margin-bottom: 110px;
}
.bl2_aft{
	text-transform: uppercase;
}
.res_block{
	margin-bottom: 130px;
}
.res_list{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
	justify-content: center;
}
.descr_sm{
	color: #8C8C8C;
}
.res_item{
	width: 410px;
	height: 320px;
	background: var(--c_bg2_8);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--c_text);
	flex-shrink: 0;
	text-transform: uppercase;
	flex-direction: column;
	margin: 0 10px 20px;
	border-radius: 5px;
	border: 1px solid var(--c_bg2_8);
}
.res_item img{
	margin-bottom: 20px;
	height: 64px;
}
.res_item__hd{
	font-size: 48px;
	font-weight: bold;
	margin-bottom: 20px;
}
.res_item__descr{
	font-size: 32px;
	text-align: center;
}
.fullw_move{
	font-size: 180px;
	font-weight: bold;
	overflow: hidden;
	width: 100%;
}
.fullw_move div{
	width: 200%;
}
.service_list__item{
	padding: 32px 0 28px;
	border-bottom: 2px solid var(--c_text);
}
.service_list .service_list__item:first-child{
	border-top: 2px solid var(--c_text);
}
.service_item__row{
	padding-right: 36px;
	cursor: pointer;
}
.service_item__row img{
	width: 36px;
	margin-right: 16px;
}
.service_item__row span{
	font-size: 21px;
	font-weight: bold;
	vertical-align: top;
}
.service_item__arr{
	float: right;
}
.service_item__content{
	display: flex;
	height: 0;
	overflow: hidden;
}
.service_item__content p{
	max-width: 480px;
	flex-shrink: 0;
	margin-left: 52px;
	margin-right: 18%;
}
.service_list__item.active .service_item__row{
	padding-bottom: 28px;
}
.service_list__item.active .service_item__content{
	height: auto;
}
.service_list__item.active .service_item__arr{
	transform: rotate(180deg);
}
.service_item__list{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.service_item__list ul{
	flex-shrink: 0;
	font-weight: bold;
	list-style-type: disc;
}
.list_left_col{
	margin-right: 9%;
}


footer{
	padding-top: 200px;
}
.footer_top{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 170px;
}
.footer_mid{
	margin-bottom: 140px;
}
.logo_block p{
	font-size: 20px;
	font-weight: bold;
}
.footer_logo{
	margin-bottom: 40px;
	display: block;
}
.footer_logo svg{
	width: 260px;
	height: 120px;
	transition: transform 0.3s ease;
}

.footer_logo:hover svg {
    transform: scale(1.12);
}

.footer_menu{
	flex-shrink: 0;	
}
.footer_menu p{
	font-size: 20px;
	font-weight: bold;
}
.footer_menu a{
	margin-bottom: 8px;
	display: block;
}
.follow p{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 18px;
}
.follow a{
	margin: 0 12px;
}
.follow a svg{
	height: 34px;
}
.follow a img{
	display: none;
	width: 32px;
}
.follow a:hover img{
	display: inline;
}
.follow a:hover svg{
	display: none;
}
.footer_bts{
	width: 250px;
	flex-shrink: 0;	
}
.footer_bts a{
	font-weight: bold;
	margin-bottom: 20px;
}
.footer_bts img{
	height: 28px;
	margin: 0 5px;
}
.letsgo{
	width: 510px;
	margin: 0 6% 140px auto;
}
.letsgo_hd{
	font-size: 38px;
	font-weight: bold;
	margin-bottom: 8px;
}
.letsgo_hd a {
	text-decoration: none;
	color: var(--c_text);
	display: inline-block;
}
.letsgo_hd img{
	margin-left: 16px;
	height: 34px;
	animation: runleft 1.4s linear infinite alternate;
}
@keyframes runleft {
  0% {
    margin-left: 16px;
  }
  50% {
    margin-left: 24px;
  }
  100% {
    margin-left: 16px;
  }
}
.lets_drop{
	color: #8C8C8C;
	height: 25px;
}
.lets_drop img{
	margin-right: 8px;
	animation: botrun 1.4s linear infinite alternate;
}
.move_lr img{
	animation: runright 1.4s linear infinite alternate;
}
.footer_bottom__cr{
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	margin-bottom: 10px;
}
.footer_bottom__cr img{
	height: 12px;
	margin: 0 3px;
}
.footer_bottom__cr a{
	text-decoration: underline;
}

/* Welcome page */
.wlc header{
	margin-bottom: 45px;
}
.wlc_descr{
	font-size: 48px;
	margin-bottom: 30px;
}
.wlc_descr img{
	height: 60px;
}
.wlc .hd_descr{
	margin-bottom: 8px;
	margin-right: 0;
}
.wlc_look{
	font-size: 38px;
	font-weight: bold;
	margin-bottom: 140px;
}
.wlc_look img{
	height: 36px;
}
.wlc_cols{
	margin-bottom: 140px;
}
.two_cols{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.wlc_cols__item{
	background: var(--c_bg2_8);
	padding: 12px 12px 35px;
	border-radius: 4px;
	border: 4px solid var(--c_bg2_8);
	width: 830px;
	margin: 0 10px;
}
.wlc_cols__item:hover{
	border: 4px solid var(--c_bg2);
}
.wlc_cols_item__img{
	height: 346;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 28px;
}
.wlc_cols_item__img img{
	width: 100%;
}
.wlc_cols_item__hd{
	font-size: 38px;
	font-weight: bold;
	margin-bottom: 20px;
	padding-left: 48px;
}
.wlc_cols_item__hd img{
	height: 50px;
	margin-left: 16px;
}
.wlc_cols_item__descr{
	font-size: 20px;
	margin-bottom: 36px;
	padding-left: 48px;
}
.wlc_cols_item__bt{
	width: 210px;
	margin: 0 auto;
}
.wlc_cols_item__bt a{
	font-weight: bold;
}
.wlc_cols_item__bt img, .wlc_ready_bt .bt_def img{
	height: 20px;
	margin-right: 8px;
}
.wlc_cols_item__bt .bt_def:hover img, .wlc_ready_bt .bt_def:hover img{
	height: 24px;
}
.wlc_botdescr{
	max-width: 1510px;
	font-size: 38px;
	margin-bottom: 280px;
}
.wlc_ready{
	font-size: 40px;
	margin-bottom: 40px;
}
.wlc_ready_bt{
	width: 190px;
	margin: 0 auto;
}
.wlc_ready_bt a{
	font-weight: bold;
}

h1.txttop{
	font-size: 300px;
	line-height: 1;
	margin-bottom: 40px;
}
.about .scrl_vert {
	padding-top: 110px;
	padding-bottom: 60px;
}
.about_content{
	padding-top: 140px;
}
.colf_left{
	width: 100%;
	max-width: 715px;
	margin-bottom: 65px;
}
.txt_col_img{
	display: flex;
	margin-bottom: 60px;
}
.txt_col_img p{
	font-size: 96px;
	font-weight: bold;
	margin-right: 60px;
	line-height: 1;
}
.txt_col_img img{
	height: 110px;
}
.cols_descr_block{
	font-size: 32px;
}
.colf_right{
	text-align: right;
	margin-bottom: 140px;
}
.colf_right_block{
	display: inline-block;
	width: 100%;
	max-width: 840px;
	text-align: left;
}
.colf_hd{
	font-size: 63px;
	line-height: 1;
	font-weight: bold;
	margin-bottom: 34px;
	display: flex;
	align-items: center;
}
.colf_hd img{
	height: 90px;
	margin-right: 40px;
}
.colf_descr{
	font-size: 32px;
	padding-left: 130px;
}
.about_content .wlc_ready_bt{
	margin-bottom: 140px;
}
.about_bottxt{
	font-size: 32px;
	margin-bottom: 70px;
}
.pagebot_bts{
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}
.about .res_block {
  margin-bottom: 80px;
}

.services header{
	margin-bottom: 40px;
}
.services h1{
	font-size: 180px;
	margin-bottom: 40px;
}
.services .main_bl1txt .fs38.withimg img{
	height: 40px;
}
.fs20.withimg img{
	height: 24px;
}
.services .scrl_vert {
  padding-top: 160px;
  padding-bottom: 160px;
}
.aprhd{
	font-size: 160px;
	font-weight: bold;
	margin-bottom: 80px;
}
.approach_cols{
	margin-bottom: 120px;
}
.cols3{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.cols3_col{
	width: 32%;
	background: var(--c_bg_col);
	margin-bottom: 20px;
	padding: 60px 24px 24px;
	min-height: 450px;
}
.cols3_col__hd{
	display: flex;
	font-size: 48px;
	font-weight: bold;
	margin-bottom: 40px;
}
.cols3_col__hd img{
	height: 42px;
	margin-right: 20px;
	flex-shrink: 0;
	margin-top: 7px;
}
.cols3_col p{
	font-size: 20px;
}
.service_list{
	margin-bottom: 140px;
}
.services_bot{
	display: flex;
	justify-content: space-between;
}
.services_bot_bts{
	width: 300px;
	margin-right: 110px;
}
.services_bot_txt{
	font-size: 32px;
}

.projects header{
	margin-bottom: 40px;
}
.projects .scrl_vert {
	padding-top: 200px;
}
.project_block{
	margin-bottom: 100px;
}
.project_block__hd{
	margin-bottom: 20px;
	font-size: 38px;
	font-weight: bold;
}
.project_block__hd img{
	height: 36px;
	margin-right: 10px;
}
.project_block__descr{
	font-size: 20px;
	padding-bottom: 40px;
	margin: 0;
}
.brdb{
	border-bottom: 1px solid var(--c_bg2);
}
.project_row{
	border-bottom: 1px solid var(--c_bg2);
}
.project_row__hd{
	display: flex;
	justify-content: right;
	position: relative;
	overflow: hidden;
}
.project_row__num{
	font-size: 140px;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	left: 0;
	top: 30px;
}
.project_row__right{
	width: 50%;
	display: flex;
	justify-content: space-between;
}
.project_row__hdtxt{
	padding-top: 40px;
}
.project_row__title{
	font-size: 38px;
	font-weight: bold;
	padding-bottom: 40px;
}
.project_row__title img{
	height: 36px;
	margin-left: 16px;
}
.project_row__titletxt{
	display: none;
	max-width: 750px;
}
.project_row.active .project_row__titletxt{
	display: block;
}
.project_row__arr{
	cursor: pointer;
	margin-top: 40px;
	align-self: baseline;
}
.project_row__arr svg{
	width: 32px;
	height: 32px;
}
.project_row__content{
	display: none;
}
.project_row.active .project_row__hd{
	margin-bottom: 80px;
}
.project_row.active .project_row__arr{
	transform: rotate(180deg);
}
.project_row.active .project_row__content{
	display: block;
}
.gallery{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.gallery_item{
	width: 32%;
	margin-bottom: 28px;
}
.gallery_item img{
	width: 100%;
}
.photo_block, .video_block{
	margin-bottom: 100px;
}
.proj_botxt{
	margin-bottom: 60px;
	font-size: 40px;
}
.projects .pagebot_bts{
	width: 240px;
}
.projects .pagebot_bts a{
	font-weight: bold;
}

.contacts header{
	margin-bottom: 40px;
}
.contacts_topbt{
	width: 240px;
	margin: 140px auto 80px;
	font-weight: bold;
}
.contacts_info{
	margin-bottom: 140px;
}
.contacts_info__row{
	display: flex;
	padding: 40px 0 32px;
	border-bottom: 1px solid var(--c_bg2);
}
.contacts_info__row > div{
	width: 50%;
}
.contacts_info__hd{
	font-size: 28px;
}
.contacts_info__hd img{
	height: 28px;
	margin-right: 16px;
}
.contacts_info__val{
	font-size: 28px;
}
.contacts_info__val a{
	text-decoration: underline;
	word-break: break-word;
	white-space: normal;
	display: inline-block;
}
.contacts_midtxt{
	font-size: 38px;
	margin-bottom: 80px;
}
.contacts_theme{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.contacts_theme span{
	display: inline-block;
	padding: 12px 32px;
	font-size: 20px;
	line-height: 1;
	border: 1px solid var(--c_bg2);
	border-radius: 25px;
	cursor: pointer;
	margin: 0 30px 20px 0;
}
.contacts_theme span.active{
	background: var(--c_bg2);
	color: var(--c_bg);
}
.contacts_form{
	margin-bottom: 140px;
}
.contacts_form form{
	width: 100%;
	max-width: 1460px;
}
.form_row{
	margin-bottom: 32px;
	display: flex;
}
.form_row__col{
	width: calc(50% - 20px);
}
.form_row .form_row__col:nth-child(2){
	margin-left: 40px;
}
.form_row__col.colfull{
	width: 100%;
}
.form_row__col span{
	display: inline-block;
	font-weight: 20px;
	margin-bottom: 10px;
}
.form_input{
	width: 100%;
	background: none;
	border: 1px solid var(--c_bg2);
	border-radius: 4px;
	height: 80px;
	padding: 5px 15px;
	font-size: 20px;
}
.form_input.error{
	border-color: red;
}
.form_row__col textarea{
	resize: none;
	width: 100%;
	height: 160px;
	padding: 10px;
	background: transparent;
	border: 1px solid var(--c_bg2);
	border-radius: 4px;
	font-size: 20px;
}
.form_descr{
	margin-bottom: 20px;
}
.bt_send{
	font-size: 16px;
	font-weight: bold;
	padding: 12px 32px;
	border-radius: 25px;
	border: 1px solid var(--c_bg2);
	background: transparent;
	cursor: pointer;
	color: var(--c_text);
}
.bt_send:hover{
	background: var(--c_bg2);
	color: var(--c_text_hover);
}
.bt_send img{
	height: 20px;
	margin-right: 8px;
	vertical-align: top;
}
.contacts_botxt{
	font-size: 38px;
}

/* Studio */
.st_mid_txt{
	font-size: 38px;
	font-weight: bold;
	margin-bottom: 80px;
}
.studio .main_bl1txt .fs48{
	max-width: 1110px;
}
.studio_links{
	margin-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.studio_links__item{
	width: 50%;
	margin-bottom: 80px;
}
.studio_links .studio_links__item:nth-child(1){
	padding-right: 20px;
}
.studio_links .studio_links__item:nth-child(2){
	padding-left: 20px;
}
.studio_links .studio_links__item:nth-child(3){
	padding: 0 10px;
}
.links_item__img{
	width: 100%;
	margin-bottom: 32px;
}
.links_item__img img{
	width: 100%;
}
.links_item__bot{
	display: flex;
	justify-content: space-between;
}
.links_item__bt{
	width: 276px;
	margin-right: 32px;
	flex-shrink: 0;
}
.links_item__descr{
	max-width: 480px;
}
.links_item__hd{
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 8px;
	text-transform: uppercase;
}
.links_item__hd img{
	height: 28px;
	margin-right: 8px;
}
.links_item__txt{
	font-size: 20px;
}
.label_link{
	margin-bottom: 140px;
	height: 400px;
}
.label_link_bg{
	height: 100%;
	background: url('/img/st_bot.jpg')no-repeat top center;
	color: #fafafa;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.label_link__hd{
	text-transform: uppercase;
	font-size: 48px;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
}
.label_link__hd img{
	height: 44px;
	margin-right: 8px;
}
.label_link p{
	font-size: 20px;
	max-width: 480px;
	margin-bottom: 50px;
	text-align: center;
}
.label_link a.bt_def{
	width: 290px;
}
.studio.services_bot_bts {
	width: 220px;
	margin-right: 0;
	flex-shrink: 0;
	margin-left: 40px;
}
.studio.services_bot_bts a{
	font-weight: bold;
}
.studio .hd_descr{
	margin-right: 0;
}

h1.sttop{
	font-size: 80px;
	font-weight: bold;
	margin-bottom: 20px;
}
.sttop_descr{
	font-size: 38px;
	margin-bottom: 60px;
}
h2.sttop_descr {
	font-weight: normal;
}
.photo_top_img{
	margin-bottom: 140px;
}
.photo_top_img img{
	width: 100%;
}
.photo_midtxt{
	margin-bottom: 140px;
	font-size: 38px;
}
.photo_midtxt1{
	margin-bottom: 20px;
}
.hd_block{
	font-size: 38px;
	font-weight: bold;
	margin-bottom: 80px;
}
.hd_block img{
	height: 36px;
	margin-right: 16px;
}
.hd_block.mrgb20{
	margin-bottom: 20px;
}
.hd_block_descr{
	font-size: 20px;
	margin-bottom: 80px;
}
.colsflblock{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 70px;
}
.colsflblock.motr {
	justify-content: center;
}
.colsflblock_left{
	padding-right: 15px;
}
.colsflblock_hd{
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 20px;
}
.colsflblock_hd img{
	height: 26px;
	margin-right: 16px;
}
.small_list{
	list-style: disc;
	padding-left: 20px;
	margin-bottom: 16px;
}
.small_list li{
	font-size: 20px;
	margin-bottom: 8px;
	max-width: 760px;
}
.arr_descr{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 38px;
}
.colsflblock_img{
	border-radius: 4px;
	overflow: hidden;
}
.colsflblock_bt{
	width: 290px;
	font-weight: bold;
	position: absolute;
	bottom: 0;
	left: 80px;
}
.colsflblock_img img{
	max-width: 850px;
	margin-bottom: -4px;
}
.colsflblock.mrgb130{
	margin-bottom: 130px;
}
.col3txt{
	background: var(--c_bg_col);
	padding: 40px 32px;
	width: calc(33.33% - 26.6px);
	margin-bottom: 20px;
	flex-shrink: 0;
	min-height: 320px;
	border: 1px solid var(--c_bg2_8);
	border-radius: 4px;
}
.motr .col3txt {
	width: calc(33.33% - 40px);
	margin: 0 20px 20px;
}
.colsbt_wrap{
	margin-bottom: 32px;
}
.colsbt_in{
	display: flex;
	justify-content: space-between;	
	padding-bottom: 32px;
	border-bottom: 1px solid var(--c_bg2);
}
.ulcols{
	display: flex;
}
.ulcols ul{
	margin-right: 40px;
}
.ulcols_bt{
	width: 280px;
}
.ulcols_bt .bt_def{
	margin-top: -20px;
}
.endpg_hd{
	font-size: 38px;
	font-weight: bold;
	text-align: center;
	margin-top: 100px;
	margin-bottom: 20px;
}
.endpg_descr{
	font-size: 20px;
	text-align: center;
	margin-bottom: 58px;
}
.pagebot_bts.bold{
	font-weight: bold;
}

.labtop{
	text-align: center;
	font-size: 140px;
	line-height: 1;
	margin-bottom: 20px;
}
.labtop_descr{
	text-align: center;
	font-size: 38px;
	line-height: 1;
	margin-bottom: 60px;
}
.label_aftsl{
	font-size: 38px;
	margin-bottom: 40px;
}
.release_block{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 120px;
	justify-content: space-between;
}
.release_item{
	width:32%;
	margin-bottom: 20px;
}
.release_item__img{
	height: auto;
	overflow: hidden;
	margin-bottom: 20px;
}
.release_item__img img{
	width: 100%;
}
.release_item__bot{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.release_item__bot span{
	font-size: 28px;
}
.release_item__bot .bt_def{
	width: 170px;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 32px;
}
.fr .release_item__bot .bt_def{
	padding: 10px 24px;
}
.release_item__bot .bt_def img{
	height: 18px;
}
.pres_block{
	margin-bottom: 120px;
}
.pres_block .res_item {
	width: calc(20% - 16px);
	height: 440px;
	
}
.label_midimg{
	margin-bottom: 96px;
}
.label_midimg_wrap{
	position: relative;	
}
.label_midimg_wrap img.label_midimg_img{
	width: 100%;
}
.label_midimg__in{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 80px 30px 20px 60px;
	color: #FAFAFA;
}
.label_midimg__title{
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 20px;
}
.label_midimg__descr{
	font-size: 28px;
	max-width: 1050px;
	margin-bottom: 60px;
}
.label_midimg__bt{
	width: 290px;
}
.label_midimg__bt .bt_def{
	font-size: 16px;
	font-weight: bold;
}
.colsbt_in p{
	font-size: 20px;
}
.label .ulcols_bt .bt_def {
	margin-top: -40px;
}

.booking_hd{
	font-size: 38px;
	font-weight: bold;
	margin-bottom: 60px;
}
.booking_hd span{
	font-weight: normal;
	font-size: 24px;
}
.studio_select{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 140px;
}
.studio_select__item{
	width: 560px;
	height: 560px;
	cursor: pointer;
	border-radius: 4px;
	padding: 4px;
	border: 4px solid var(--c_bg2_8);
	background: var(--c_bg_col);
	margin-bottom: 20px;
}
.studio_select__item:hover, .studio_select__item.active{
	border-color: var(--c_bg2);
}
.select_item__img{
	margin-bottom: 80px;
	height: 380px;
	overflow: hidden;
	border-radius: 4px;
}
.select_item__img img{
	height: 100%;
}
.select_item__name{
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}
.select_item__name img{
	height: 26px;
	margin-right: 12px;
}
.duration_time{
	width: 100%;
	display: flex;
	margin-bottom: 20px;
	justify-content: space-between;
}
.duration_time span, .duration_select span{
	font-size: 20px;
	font-weight: bold;
	display: inline-block;
	cursor: pointer;
}
.dh1{
	width: 340px;
}
.dh2{
	width: 436px;
}
.dh4{
	width: 780px;
}
.dh8{
	width: 230px;
	flex-shrink: 0;
}
.duration_selblock{
	margin-bottom: 40px;
}
.duration_select{
	width: 100%;
	display: flex;
	height: 80px;
	background: var(--c_bg_col);
	border-radius: 4px;
	padding-top: 4px;
	padding-bottom: 4px;
	justify-content: space-between;
}
.duration_sq{
	height: 100%;
	width: 80px;
	border-radius: 4px;
	background: var(--c_bg_col);
}
.duration_sq.active{
	background: var(--c_bg2);
}
.dh4 .duration_sq, .dh8 .duration_sq{
	margin-left: 60px;
}
.custom_drt{
	font-size: 16px;
	margin-bottom: 20px;
}
.custom_drt b{
	font-size: 20px;
}
.custom_drt_fld{
	margin-bottom: 140px;
}
.drt_fld{
	border: 1px solid var(--c_bg2);
	border-radius: 4px;
	background: transparent;
	width: 100%;
	max-width: 410px;
	height: 56px;
	padding: 5px 20px;
	font-size: 20px;
	color: var(--c_bg2);
}
.klblock{
	margin-bottom: 140px;
}
.klblock_in{
	display: flex;
	border-radius: 4px;
	flex-wrap: wrap;
}
.klblock_item{
	width: 33.33%;
	padding: 32px;
	height: 500px;
	background: var(--c_bg_col);
}
.klblock_kalendar{
	border-left: 1px solid var(--c_brd);
	border-right: 1px solid var(--c_brd);
}
.klblock_descr__hd{
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.klblock_descr__hd p{
	font-size: 28px;
	font-weight: bold;
	margin: 0;
}
.klblock_descr__hd p img{
	height: 28px;
	margin-right: 16px;
}
.klblock_descr__hd span{
	font-size: 20px;
}
.klblock_descr__addr{
	font-size: 20px;
	margin-bottom: 230px;
	max-width: 250px;
}
.klblock_descr__bottom{
	font-size: 20px;
	margin-bottom: 16px;
}
.klblock_descr__bottom a{
	text-decoration: underline;
}
.klblock_kln__hd{
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
.klblock_kln__date{
	font-size: 20px;
	font-weight: bold;
}
.klblock_kln__date span{
	color: #8B8B8C;
}
.klblock_kln__arrs span{
	display: inline-block;
	cursor: pointer;
}
.ar_prev{
	transform: rotate(180deg);
}
.b_end svg path{
	fill: #8B8B8C;
}
.b_end svg{
	margin-top: 3px;
}
.klblock_table__hd{
	margin-bottom: 25px;
}
.klblock_table__hd span{
	font-size: 20px;
	font-weight: bold;
	display: flex;
	justify-content: center;
}
.klblock_table__row{
	display: flex;
	justify-content: space-between;
}
.klblock_table__row span{
	width: calc(100% / 7);
}
.klblock_table__list span{
	padding: 0 4px;
	height: 52px;
}
.klblock_table__list p{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	margin: 0;
	font-size: 20px;
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
}
.klblock_table__list p.bron{
	background: var(--c_cell);
}
.klblock_table__list p.selected{
	background: var(--c_bg2);
	color: var(--c_bg);
}
.klblock_table__list .klblock_table__row{
	margin-bottom: 8px;
}
.klblock_table__list p.curday:after{
	position: absolute;
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	left: calc(50% - 3px);
	bottom: 4px;
	background: var(--c_bg2);
}
.klblock_kln__seltime{
	overflow: auto;
	padding-right: 16px;
}
.seltime_bt{
	height: 50px;
	width: 100%;
	margin-bottom: 20px;
	border: 1px solid var(--c_bg2);
	border-radius: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	cursor: pointer;
}
.seltime_bt:hover, .seltime_bt.select{
	background: var(--c_bg2);
	color: var(--c_bg);
}
.adetail_block{
	display: none;
	margin-bottom: 140px;
}
.adetail_block.active{
	display: block;
}
.adetail_block__hd{
	font-size: 20px;
	margin-bottom: 20px;
}
.adetail_block__row{
	margin-bottom: 32px;
	display: flex;
	flex-wrap: wrap;
}
.adetail_block__select{
	height: 56px;
	border: 1px solid var(--c_bg2);
	color: var(--c_bg2);
	font-size: 20px;
	padding: 0 30px 0 20px;
	background: transparent;
	width: 100%;
	max-width: 410px;
	margin-right: 40px;
	border-radius: 4px;
}
.c_check{
	display: inline-block;
	height: 56px;
	padding: 16px 80px 10px 20px;
	position: relative;
	border: 1px solid var(--c_bg2);
	border-radius: 4px;
	font-size: 20px;
	margin-right: 40px;
}
.c_check label{
	cursor: pointer;
}
.c_check span{
	position: absolute;
	display: block;
	content: '';
	width: 40px;
	height: 40px;
	right: 12px;
	top: 8px;
	border: 1px solid var(--c_bg2);
	border-radius: 4px;
	padding: 10px 0 0 10px;
}
.c_check span svg{
	display: none;
}
.c_check label.check span svg{
	display: block;
}
.adetail_block__special{
	font-size: 20px;
	margin-bottom: 12px;
}
.adetail_block textarea{
	width: 100%;
	max-width: 780px;
	border: 1px solid var(--c_bg2);
	border-radius: 4px;
	background: transparent;
	padding: 8px 10px;
	font-size: 20px;
	resize: none;
}

.letsgo_hd a:hover, .header_right a:hover, .menu_top a:hover, .footer_menu a:hover{
	opacity: 0.6;
}
.fr.booking h1.txttop {
	font-size: 240px;
}

.coockies_block{
	display: none;
	position: fixed;
	left: 40px;
	bottom: 8px;
	border-radius: 4px;
	background: var(--c_bg_col);
	border: 1px solid var(--c_bg_col);
	padding: 30px 35px 20px;
	width: 100%;
	max-width: 558px;
}
.coockies_block.active{
	display: block;
}
.coockies_block p{
	position: relative;
	font-size: 20px;
	margin-bottom: 32px;
}
.coockies_block p img{
	position: absolute;
	right: -25px;
	top: 5px;
	height: 20px;
}
.bt_cook_block{
	text-align: center;
}

#thanks{
	display: none;
	margin: 10px;
	font-size: 20px;
}
#thanks.active{
	display: inline-block;
}
.mob_menu_bt{
	display: none;
	width: 60px;
}

@media (max-width: 1880px){
	.pdlr {
	  padding-left: 16px;
	  padding-right: 16px;
	}
	.colsflblock_bt{
		left: 80px;
	}
}
@media (max-width: 1740px){
	.wlc_cols__item {
		width: 600px;
	}
	.fr.booking h1.txttop {
		font-size: 200px;
	}
}
@media (max-width: 1440px){
	.projects h1.txttop, .contacts h1.txttop {
		font-size: 200px;
	}
	.studio .main_bl1txt{
		margin-bottom: 40px;
	}
	.res_list {
		justify-content: space-evenly;
	}
	h1.sttop {
		font-size: 60px;
	}
	.photo_top_img {
		margin-bottom: 70px;
	}
	.sttop_descr {
	  font-size: 28px;
	  margin-bottom: 40px;
	}
	.photo_midtxt {
	  margin-bottom: 70px;
	  font-size: 28px;
	}
	.hd_block {
	  font-size: 28px;
	  margin-bottom: 40px;
	}
	.hd_block img{
		height: 26px;
		margin-right: 8px;
	}
	.colsflblock_img img {
	  max-width: 500px;
	  width: 100%;
	}
	.colsflblock_hd {
		font-size: 20px;
	}
	.colsflblock_hd img{
		height: 18px;
		margin-right: 8px;
	}
	.small_list li {
		font-size: 16px;
	}
	.arr_descr {
	  font-size: 16px;
	  margin-bottom: 20px;
	}
	.colsflblock {
	  margin-bottom: 40px;
	}
	.labtop {
		font-size: 80px;
	}
	.labtop_descr {
		font-size: 28px;
	}
	.release_item__bot span {
		font-size: 20px;
	}
	.res_item img {
	  margin-bottom: 15px;
	  height: 40px;
	}
	.res_item__hd {
		font-size: 38px;
	}
	.res_item__descr {
		font-size: 24px;
	}
	.pres_block {
	  margin-bottom: 80px;
	}
	.label_midimg_wrap {
	  overflow: hidden;
	  height: 430px;
	}
	.label_midimg_wrap img.label_midimg_img {
	  width: auto;
	  height: 100%;
	}
	.label_midimg__in {
		padding: 30px 20px 20px 40px;
	}
	.label_midimg__title {
		font-size: 30px;
	}
	.label_midimg__descr {
	  font-size: 18px;
	  margin-bottom: 40px;
	}
	h1.txttop {
		font-size: 200px;
	}
	.studio_select, .custom_drt_fld, .klblock, .adetail_block, .booking .contacts_form{
		margin-bottom: 70px;
	}
	.adetail_block__row{
		margin-bottom: 0;
	}
	.adetail_block__select, .c_check{
		margin-bottom: 16px;
	}
	.bigtxt img {
		height: 200px;
	}
	.bottom_noname {
		height: 150px;
	}
	.fr.booking h1.txttop {
		font-size: 170px;
	}
}
@media (max-width: 1400px){
	.main_bl1txt p.fs20{
		margin-bottom: 40px;
	}
	.main_bl1 {
		display: block;
	}
	.fullw_move{
		font-size: 120px;
	}
	.bottom_noname img {
		margin-bottom: -60px;
	}
	.bigtxt {
	  font-size: 240px;
	}
	.bottom_noname{
		height: 130px;
	}
	.bottom_noname span {
	  font-size: 240px;
	}
}
@media (max-width: 1280px){
	.wlc_cols__item {
		width: 600px;
	}
	.wlc_cols_item__hd {
	  font-size: 28px;
	  padding-left: 0;
	}
	.wlc_cols_item__hd img {
	  height: 28px;
	  margin-left: 8px;
	}
	.wlc_cols_item__descr {
	  font-size: 16px;
	  margin-bottom: 28px;
	  padding-left: 0;
	}
	.wlc_botdescr {
	  font-size: 28px;
	  margin-bottom: 200px;
	}
	.wlc_ready {
	  font-size: 32px;
	  margin-bottom: 40px;
	}
	.links_item__bot {
		display: block;
	}
	.links_item__descr {
	  max-width: 100%;
	  margin-bottom: 20px;
	}
	.klblock_descr__hd p {
		font-size: 20px;
	}
	.klblock_descr__hd p img {
	  height: 22px;
	  margin-right: 8px;
	}
	.klblock_descr__hd span {
	  font-size: 15px;
	}
	.klblock_kln__date {
		font-size: 16px;
	}
	.klblock_table__hd span {
		font-size: 16px;
	}
	.klblock_descr__addr {
		font-size: 16px;
	}
	.klblock_table__list p {
		font-size: 16px
	}
	
}
@media (max-width: 1240px){
	.bigtxt img {
	  height: 170px;
	}
	.fr.booking h1.txttop {
		font-size: 140px;
	}
}
@media (max-width: 1080px){
	.fs48 {
		font-size: 32px;
	}
	.wlc_descr {
		font-size: 32px;
	}
	.wlc_descr img {
	  height: 30px;
	}
	.wlc_look {
	  font-size: 32px;
	  margin-bottom: 100px;
	}
	h1.txttop {
		font-size: 200px;
	}
	.about header{
		margin-bottom: 60px;
	}
	.about_content {
		padding-top: 0;
	}
	.txt_col_img p {
		font-size: 60px;
	}
	.txt_col_img img {
	  height: 60px;
	}
	.colf_left {
		margin-bottom: 40px;
	}
	.colf_hd {
		font-size: 48px;
		margin-bottom: 35px;
	}
	.colf_hd img {
		height: 48px;
		margin-right: 20px;
	}
	.colf_descr {
	  font-size: 32px;
	  padding-left: 68px;
	}
	.colf_descr {
		padding-left: 68px;
	}
	.about_content .wlc_ready_bt {
	  margin-bottom: 80px;
	}
	.services h1.txttop {
		font-size: 60px;
	}
	.services .main_bl1 .fs38{
		font-size: 28px;
	}
	.services .main_bl1txt .fs38.withimg img {
	  height: 28px;
	}
	.aprhd {
	  font-size: 40px;
	  margin-bottom: 40px;
	}
	.cols3_col{
		min-height: 360px;
	}
	.cols3_col__hd {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.cols3_col__hd img {
	  height: 24px;
	  margin-right: 10px;
	  margin-top: 3px;
	}
	.cols3_col p {
	  font-size: 16px;
	}
	.services_bot_bts {
	  margin-right: 0;
	}
	.services_bot_txt {
	  font-size: 22px;
	}
}
@media (min-width: 1000px){
	.onmob{
		display: none;
	}
}
@media (max-width: 1000px){
	.nomob{
		display: none;
	}
	footer {
		padding-top: 140px;
	}
	.menu_head {
		padding: 30px 30px 0
	}
	.menu_top {
		left: 30px;
	}
	.menu_top a {
		font-size: 64px;
		line-height: 1;
	}
	.menu_top_bts {
		right: 30px;
	}
	.menu_bts {
		justify-content: right;
	}
	.menu_follow {
		right: 30px;
	}
	.fullw_move{
		font-size: 100px;
	}
	.service_item__content p {
		margin-right: 0;
		margin-bottom: 20px;
	}
	.service_item__content {
		display: block;
	}
	.service_item__list {
		padding-left: 67px;
	}
	.bottom_noname img {
		margin-bottom: -40px;
	}
	.footer_top {
		display: flex;
		justify-content: center;
		margin-bottom: 60px;
	}
	.logo_block{
		text-align: center;
		margin-bottom: 80px;
		width: 100%;
	}
	.letsgo {
		margin: 0 50% 50px;
		flex-shrink: 0;
	}
	.follow{
		text-align: center;
		width: 100%;
		order: 2;
	}
	.follow p{
		display: none;
	}
	.footer_bts {
		margin-bottom: 40px;
	}
	.footer_bottom__cr {
		display: block;
		text-align: center;
		margin-bottom: 30px;
	}
	.footer_bottom__cr p{
		margin-bottom: 16px;
	}
	.projects h1.txttop {
		font-size: 120px;
	}
	.contacts h1.txttop {
		font-size: 120px;
	}
	.contacts_theme span {
		padding: 10px 24px;
		font-size: 16px;
	}
	.contacts_midtxt {
		font-size: 28px;
	}
	h1.sttop {
		font-size: 40px;
	}
	.sttop_descr {
		font-size: 16px;
		margin-bottom: 20px;
	}
	.photo_top_img {
		margin-bottom: 60px;
	}
	.photo_midtxt {
		font-size: 18px;
	}
	.hd_block {
		font-size: 20px;
	}
	.hd_block img {
		height: 20px;
	}
	.colsflblock_hd {
		font-size: 16px;
	}
	.colsflblock_hd img {
		height: 16px;
	}
	.bt_def img {
	  margin-right: 8px;
	  height: 16px;
	}
	.colsflblock_bt {
	  position: relative;
	  bottom: unset;
	  left: unset;
	}
	.colsflblock_img {
		display: inline-block;
		margin-bottom: 20px;
	}
	.colsflblock.mrgb130 {
	  margin-bottom: 70px;
	}
	.colsflblock {
		justify-content: center;
	}
	.col3txt, .motr .col3txt{
	  padding: 20px 32px;
	  width: 49%;
	  max-width: 320px;
	  margin: 0 20px 20px;
	}
	.small_list li {
		font-size: 12px;
	}
	.endpg_hd {
	  font-size: 28px;
	}
	.labtop {
		font-size: 60px;
	}
	.labtop_descr {
		font-size: 24px;
	}
	.label_aftsl {
		font-size: 28px;
	}
	.release_block {
	  margin-bottom: 70px;
	  justify-content: space-evenly;
	}
	.release_item {
		width: 49%;
	}
	.pres_block .res_item {
		width: 260px;
		height: 220px;
	}
	.klblock_descr__bottom {
	  font-size: 12px;
	  margin-bottom: 8px;
	}
	.klblock_in {
		display: block;
	}
	.klblock_item {
		width: 100%;
		max-width: 360px;
		margin: 0 auto;
		height: auto;
		padding: 32px 20px;
	}
	.klblock_kalendar {
		border: unset;
		border-top: 1px solid var(--c_brd);
		border-bottom: 1px solid var(--c_brd);
	}
	.bookimg h1.txttop {
		font-size: 100px;
	}
	.studio_select__item {
		width: 100%;
		max-width: 560px;
		margin: 0 auto 20px;
		height: auto;
	}
	.select_item__name {
		font-size: 16px;
	}
	.select_item__name img {
		height: 16px;
	}
	.select_item__img {
		margin-bottom: 30px;
	}
	.select_item__name{
		margin-bottom: 30px;
	}
	.booking_hd {
	  font-size: 20px;
	  margin-bottom: 40px;
	}
	.duration_time span, .duration_select span {
		font-size: 12px;
	}
	.duration_time {
		margin-bottom: 8px;
	}
	.duration_sq {
		width: 40px;
	}
	.klblock_descr__hd p {
		font-size: 16px;
	}
	.klblock_descr__hd p img {
		height: 18px;
	}
	.klblock_descr__addr {
		font-size: 12px;
		margin-bottom: 46px;
	}
	.seltime_bt{
		font-size: 16px;
	}
	.adetail_block__select, .c_check{
		height: 50px;
	}
	.form_input {
		height: 40px;
	}
	.form_descr {
		text-align: center;
	}
	.bt_send.booking_send {
	  margin: 0 auto;
	  width: 220px;
	  display: block;
	  padding: 8px 2px;
		font-size: 12px;
	}
	.bt_send img {
		height: 14px;
	}
	.adetail_block__select{
		padding: 0 16px;
		font-size: 16px;
	}
	.c_check {
		margin-bottom: 16px;
		padding: 14px 60px 0 16px;
		font-size: 16px;
	}
	.c_check span {
	  right: 4px;
	  top: 4px;
	}
	.dh4 .duration_sq, .dh8 .duration_sq {
	  margin-left: 40px;
	}
	.booking h1.txttop {
		font-size: 120px;
	}
	.klblock_kln__seltime {
		padding-right: 0;
	}
	.bigtxt img {
	  height: 140px;
	}
	.bottom_noname {
		height: 100px;
	}
	.contacts_info__val {
		text-align: right;
		word-break: break-word;
	}
	.letsgo_hd a {
		display: inline-block;
		position: relative;
		z-index: 2;
	}
}
@media (max-width: 880px){
	.wlc_descr {
	  font-size: 20px;
	  margin-bottom: 10px;
	  font-weight: bold;
	}
	.wlc_descr img {
	  height: 20px;
	}
	.hd_descr {
		font-size: 24px;
		margin-bottom: 40px;
	}
	.wlc_cols__item{
		margin-bottom: 20px;
	}
	.wlc_cols {
	  margin-bottom: 70px;
	}
	.wlc_botdescr {
	  margin-bottom: 70px;
	}
	.bigtxt img {
	  height: 120px;
	}
	.bottom_noname {
		height: 90px;
	}
	.fr.booking h1.txttop {
		font-size: 90px;
	}
}
@media (max-width: 768px){
	.menu_top a {
		font-size: 48px;
		line-height: 48px;
	}
	.menu_top {
		position: absolute;
		left: 16px;
	}
	header{
		margin-bottom: 60px;
	}
	.header_right, .header_left .bt_menu{
		display: none;
	}
	.mob_menu_bt{
		display: block;
	}
	.header_left{
		width: 60px;
	}
	.logo.top svg{
		width: 120px;
		height: 54px;
	}
	.hd_descr {
		font-size: 28px;
		margin-right: 16px;
	}
	.mrgb80 {
		margin-bottom: 60px;
	}
	.main_bl1txt .fs48{
		font-size: 16px;
	}
	.withimg img {
		margin: 0 5px;
		height: 20px;
	}
	.main_bl1txt p.fs20{
		font-size: 12px;
	}
	.main_bl1txt p.fs20 img{
		display: none;
	}
	.bt_def{
		font-size: 12px;
		font-weight: bold;
	}
	.bt_def img {
		margin-right: 8px;
		height: 16px;
	}
	.bt_def:hover img {
		height: 20px;
	}
	.mrgb16 {
		margin-bottom: 12px;
	}
	.main_bl1bt {
		width: 230px;
	}
	.scrl_vert {
		padding-top: 6vw;
        padding-bottom: 6vw;
	}
	.showreal {
		margin-bottom: 70px;
	}
	.main_bl2 {
		font-size: 28px;
		margin-bottom: 70px;
	}
	h2 {
		font-size: 28px;
	}
	.res_block {
		margin-bottom: 70px;
	}
	.res_list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		margin-bottom: 20px;
	}
	.res_item {
		width: 100%;
		height: 180px;
		margin: 0;
	}
	.res_item img {
		margin-bottom: 12px;
		height: 28px;
	}
	.res_item__hd {
		font-size: 24px;
		margin-bottom: 8px;
	}
	.res_item__descr {
		font-size: 16px;
	}
	.fullw_move{
		font-size: 80px;
	}
	.footer_logo{
		margin-bottom: 0;
	}
	.footer_logo svg {
		width: 110px;
		height: 50px;
	}
	.logo_block p {
		display: none;
	}
	.letsgo_hd {
		font-size: 20px;
	}
	.letsgo_hd img {
		margin-left: 12px;
		height: 24px;
	}
	.letsgo {
		width: 290px;
	}
	.lets_drop {
		padding-left: 30px;
	}
	 h1.txttop {
		font-size: 80px;
		margin-bottom: 15px;
	}
	.about .scrl_vert {
		padding-top: 200px;
	}
	.txt_col_img {
		margin-bottom: 20px;
	}
	.cols_descr_block {
	  font-size: 22px;
	}
	.colf_hd {
		font-size: 40px;
		margin-bottom: 10px;
	}
	.colf_descr {
		font-size: 22px;
	}
	.colf_right {
		margin-bottom: 120px;
	}
	.about_bottxt {
		font-size: 22px;
		margin-bottom: 40px;
	}
	.pagebot_bts {
		max-width: 230px;
	}
	.project_row__num {
		font-size: 60px;
		
	}
	.project_row__hdtxt {
	  padding-top: 20px;
	}
	.project_row__arr {
		margin-top: 24px;
	}
	.project_row__arr svg {
	  width: 20px;
	  height: 20px;
	}
	.project_row__title {
	  font-size: 28px;
	  padding-bottom: 20px;
	}
	.project_row__title img {
		height: 26px;
	}
	.gallery_item {
	  width: 49%;
	  margin-bottom: 20px;
	}
	.project_block__hd {
		font-size: 28px;
	}
	.project_block__hd img {
		height: 26px;
	}
	.project_row__right {
		width: calc(100% - 100px);
	}
	.studio_links {
		display: block;
	}
	.studio_links__item{
		width: 100%;
		margin-bottom: 40px;
	}
	.links_item__hd {
		font-size: 18px;
	}
	.links_item__hd img{
		height: 18px;
	}
	.links_item__txt {
		font-size: 12px;
	}
	.links_item__bt {
		width: 220px;
	}
	.studio_links .studio_links__item:nth-child(1), .studio_links .studio_links__item:nth-child(2), .studio_links .studio_links__item:nth-child(3) {
		padding: 0;
	}
	.label_link__hd {
		font-size: 28px;
	}
	.label_link__hd img{
		height: 28px;
	}
	.label_link p {
		font-size: 16px;
		padding: 0 15px;
	}
	.label_link a.bt_def {
		width: 210px;
	}
	.label_link {
		margin-bottom: 70px;
	}
	.services_bot {
		display: block;
	}
	.services_bot_txt{
		font-size: 18px;
		margin-bottom: 40px;
	}
	.studio.services_bot_bts{
		margin: 0 auto;
	}
	.photo_top_img {
		margin-bottom: 60px;
		height: 400px;
		overflow: hidden;
	}
	.photo_top_img img {
	  width: auto;
	  height: 100%;
	  margin-left: calc(100% - 770px);
	}
	.colsbt_in {
		display: block;
	}
	.ulcols_bt{
		width: 210px;
	}
	.ulcols_bt .bt_def {
	  margin-top: 0;
	}
	.endpg_hd {
		font-size: 18px;
	}
	.endpg_descr {
	  font-size: 16px;
	  margin-bottom: 40px;
	}
	.endpg_hd {
		margin-top: 70px;
	}
	.arr_descr {
		font-size: 12px;
	}
	.hd_block_descr {
	  font-size: 14px;
	  margin-bottom: 40px;
	}
	.video .photo_top_img img {
		margin-left: calc(50% - 440px);
	}
	.release_item {
	  width: 360px;
	  height: auto;
	  margin-bottom: 40px;
	}
	.release_item__img {
		height: 360px;
	}
	.release_item__bot span {
		font-size: 16px;
	}
	.release_item__bot .bt_def {
	  width: 120px;
	  font-size: 12px;
	  font-weight: bold;
	  padding: 12px 5px;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	}
	.release_item__bot .bt_def img {
	  height: 16px;
	}
	.label_midimg__title {
		font-size: 18px;
	}
	.label_midimg__descr {
		font-size: 12px;
		margin-bottom: 30px;
	}
	.label_midimg__bt .bt_def {
	  font-size: 12px;
	}
	.label_midimg__bt {
	  width: 210px;
	}
	.bt_def img {
		height: 16px;
	}
	.label_midimg__in {
		padding: 32px 20px 20px 20px;
	}
	.label_midimg_wrap img.label_midimg_img{
		margin-left: calc(100% - 1250px);
	}
	.label_midimg__bt {
	  width: 210px;
	}
	.label .ulcols_bt .bt_def {
	  margin-top: 20px;
	}
	.colsbt_in p {
	  font-size: 12px;
	}
	.labtop {
		font-size: 40px;
	}
	.labtop_descr {
		font-size: 16px;
		margin-bottom: 20px;
	}
	.label_aftsl {
		font-size: 16px;
	}
	.bigtxt img {
	  height: 100px;
	}
	.bottom_noname {
		height: 75px;
	}
}
@media (max-width: 640px){
	.wlc_look {
	  font-size: 20px;
	  margin-bottom: 60px;
	}
	.wlc_look img{
		height: 18px;
	}
	.wlc_cols__item{
		width: 100%;
		max-width: 400px;
	}
	.wlc_cols_item__hd {
		font-size: 20px;
	}
	.wlc_cols_item__hd img {
		height: 20px;
	}
	.wlc_cols_item__descr {
		font-size: 12px;
		margin-bottom: 20px;
	}
	.wlc_cols_item__bt {
		width: 160px;
	}
	.wlc_botdescr {
		font-size: 18px;
	}
	.wlc_ready {
		font-size: 18px;
	}
	.wlc_ready_bt {
		width: 150px;
	}
	.menu_head {
		padding: 30px 16px 60px;
	}
	.menu_head > div {
		width: 120px;
	}
	.menu_logo svg{
		width: 120px;
		height: 54px;
	}
	.menu_close svg, .mob_menu_bt svg{
		width: 32px;
		height: 32px;
	}
	.menu_lang {
	  margin-right: 0;
	  position: absolute;
	  left: 16px;
	  top: 44px;
	}
	.menu_top {
		position: relative;
		left: unset;
		top: unset;
		padding: 0 16px;
	}
	.menu_top_bts {
		width: 170px;
		right: unset;
		top: unset;
		position: relative;
		margin: 90px auto 60px; /* Increase bottom margin from 40px to 60px */
	}
	.menu_top_bts a{
		margin-bottom: 15px;
	}
	.menu_follow {
		right: unset;
		bottom: unset; /* Remove bottom positioning */
		margin: 0 auto 60px; /* Add bottom margin instead of padding */
		position: relative;
		display: table;
		padding-bottom: 0; /* Remove padding to use margin instead */
	}
	.menu_follow p{
		display: none;
	}
	.fullw_move{
		font-size: 60px;
	}
	.service_item__row{
		padding-right: 0;
	}
	.service_item__row img {
		width: 20px;
		margin-right: 8px;
	}
	.service_item__row span {
		font-size: 16px;
	}
	.service_item__arr svg{
		width: 20px;
		height: 20px;
	}
	.service_item__content p {
		max-width: 100%;
		margin-left: 28px;
	}
	.service_item__list {
		padding-left: 42px;
	}
	.service_list__item.active .service_item__row {
		padding-bottom: 16px;
	}
	.services .main_bl1 .fs38 {
		font-size: 16px;
	}
	.services .main_bl1txt .fs38.withimg img {
		height: 18px;
	}
	.cols3 {
	  justify-content: center;
	}
	.cols3_col {
		min-height: 290px;
		width: 100%;
		max-width: 380px;
		padding: 30px 20px 20px;
	}
	.services_bot_txt {
	  font-size: 18px;
	  margin-bottom: 40px;
	}
	.services_bot {
	  display: block;
	  width: 100%;
	  max-width: 370px;
	  margin: 0 auto;
	}
	.services_bot_bts {
	  width: 220px;
	  margin: 0 auto;
	}
	.approach_cols {
	  margin-bottom: 70px;
	}
	.projects h1.txttop {
		font-size: 70px;
	}
	.contacts h1.txttop {
		font-size: 70px;
	}
	.contacts_info__row {
		padding: 12px 0;
	}
	.contacts_info__hd, .contacts_info__val {
		font-size: 16px;
	}
	.contacts_info__hd img {
		height: 16px;
		margin-right: 10px;
	}
	.contacts_info__val {
		text-align: right;
	}
	.contacts_info {
		margin-bottom: 70px;
	}
	.contacts_midtxt {
	  font-size: 18px;
	  margin-bottom: 70px;
	}
	.contacts_theme span {
	  padding: 	10px 24px;
	  font-size: 12px;
	  margin: 0 12px 12px 0;
	}
	.form_row {
		flex-wrap: wrap;
		margin-bottom: 16px;
	}
	.form_row__col {
		width: 100%;
	}
	.form_row .form_row__col:nth-child(2) {
	  margin-left: 0;
	}
	.form_input {
		height: 40px;
		padding:5px 15px;
		font-size: 16px;
	}
	.form_row__col textarea {
		height: 80px;
		font-size: 16px;
	}
	.form_descr{
		font-size: 16px;
	}
	.bt_send {
		font-size: 12px;
	}
	.bt_send img{
		height: 12px;
	}
	.contacts_form {
		margin-bottom: 70px;
	}
	.contacts_botxt {
		font-size: 18px;
	}
	.contacts_botxt.txtc{
		text-align: left;
	}
	.st_mid_txt {
		font-size: 20px;
		margin-bottom: 40px;
	}
	.ulcols {
	  display: block;
	  margin-bottom: 20px;
	}
	.ulcols ul {
		margin-right: 0;
		margin-bottom: 0;
	}
	.colsflblock {
		display: block;
	}
	.col3txt, .motr .col3txt{
		padding: 20px 32px;
		width: 100%;
		max-width: 480px;
		margin: 0 0 20px;
		min-height: 180px;
	}
	.pres_block .res_item {
		width: 170px;
	}
	.booking h1.txttop {
		font-size: 60px;
	}
	.booking_form .form_row, .booking_form .form_row__col{
		margin-bottom: 8px;
	}
	.dh1, .dh2{
	  width: 65px;
	  flex-shrink: 0;
	}
	.dh8 {
		width: 140px;
	}
	.dh4 .duration_sq, .dh8 .duration_sq {
		margin-left: 20px;
	}
	.custom_drt b {
		font-size: 16px;
	}
	.custom_drt {
		font-size: 12px;
	}
	.drt_fld {
		height: 46px;
		padding: 5px 15px;
		font-size: 16px;
	}
	.c_check {
		padding: 14px 60px 14px 16px;
		height: auto;
	}
	.c_check span {
		top: 50%;
		transform: translateY(-50%);
	}
	.bigtxt img {
	  height: 85px;
	}
	.bottom_noname {
		height: 60px;
	}
	.fr.booking h1.txttop {
		font-size: 70px;
	}
	.menu_block {
		padding-bottom: 40px; /* Reduce from 120px to fix overlap issues */
	}
	.contact_button_wrap {
		margin: 40px auto;
		max-width: 560px;
	}
	.contact_button_wrap .bt_def {
		width: 100%;
		text-align: center;
		padding: 12px 20px;
		font-size: 16px;
	}
	.contact_button_wrap .bt_def img {
		height: 16px;
		margin-right: 8px;
		vertical-align: middle;
	}
	.adetail_block__select{
		padding: 0 16px;
		font-size: 16px;
	}
	.coockies_block{
		left: 15px;
		right: 15px;
		width: unset;
		max-width: unset;
	}
}
@media (max-width: 540px){
	.bigtxt img {
	  height: 70px;
	}
	.bigtxt {
		margin-bottom: 15px;
	}
	.bottom_noname {
		height: 50px;
	}
	.fr.booking h1.txttop {
		font-size: 50px;
	}
}
@media (max-width: 480px){
	.hd_descr {
		font-size: 16px;
	 }
	.main_bl2 {
		font-size: 18px;
	}
	h2{
		font-size: 18px;
	}
	.mrgb80 {
		margin-bottom: 40px;
	}
	.mrgb40 {
		margin-bottom: 20px;
	}
	.fullw_move{
		font-size: 40px;
	}
	.service_item__content p, .service_item__list li{
		font-size: 12px;
	}
	.service_item__row span.txtup{
		max-width: 260px;
		display: inline-block;
	}
	.txt_col_img p {
		font-size: 50px;
		margin-right: 16px;
	}
	.cols_descr_block {
		font-size: 16px;
	}
	.colf_descr {
		font-size: 16px;
	}
	.txt_col_img img {
		height: 50px;
	}
	.colf_right {
		margin-bottom: 70px;
	}
	.project_row__title {
	  font-size: 16px;
	}
	.project_block__hd {
		font-size: 20px;
	}
	.project_block__hd img {
		height: 18px;
	}
	.project_block, .photo_block, .video_block {
		margin-bottom: 50px;
	}
	.project_row.active .project_row__hd {
	  margin-bottom: 30px;
	}
	.project_row__titletxt{
		font-size: 12px;
	}
	.proj_botxt {
	  margin-bottom: 40px;
	  font-size: 20px;
	}
	.music .photo_top_img img {
		margin-left: calc(100% - 650px);
	}
	.label_midimg_wrap img.label_midimg_img {
		margin-left: calc(100% - 950px);
	}
	.select_item__img {
		height: 300px;
	}
	.contacts_info__row > div {
	  width: auto;
	}
	.contacts_info__row div.contacts_info__hd{
		width: 110px;
		flex-shrink: 0;
	}
	.contacts_info__val{
		word-wrap: break-word;
		word-break: break-word;
		flex: 1;
	}
	.contacts_info__val a{
		display: inline-block;
		word-break: break-word;
		hyphens: auto;
	}
}
@media (max-width: 440px){
	.bigtxt img {
		height: 60px;
	}
	.bottom_noname {
		height: 44px;
	}
	.fr.booking h1.txttop {
		font-size: 50px;
	}
}
@media (max-width: 390px){
	.bigtxt img {
	  height: 55px;
	}
}
@media (max-width: 380px){
	.main_bl1txt .fs48 br{
		display: none;
	}
	.res_list {
		justify-content: center;
	}
	.service_item__row span.txtup{
		max-width: 220px;
	}
	.contacts_info__row > div {
	  width: auto;
	}
	.contacts_info__row div.contacts_info__hd{
		width: 110px;
		flex-shrink: 0;
	}
	.contacts h1.txttop {
		font-size: 50px;
	}
	.release_item {
		width: 100%;
	}
	.release_item__img {
		height: 280px;
	}
	.select_item__img {
		height: 240px;
	}
	.bigtxt {
	  font-size: 64px;
	}
	.bottom_noname{
		height: 40px;
	}
	.fr.booking h1.txttop {
		font-size: 40px;
	}
	.coockies_block p {
	  font-size: 16px;
	  margin-bottom: 20px;
	}
}
@media (max-width: 360px){
	.projects h1.txttop {
		font-size: 50px;
	}
}
@media (max-width: 350px){
	.bigtxt img {
	  height: 48px;
	}
	.bottom_noname {
		height: 36px;
	}
}

/* Progress Bar */
#progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 5px;
  width: 0%;
  background-color: var(--c_text);
  z-index: 9999;
  transition: width 0.1s ease-out;
}

/* Custom Ball Cursor */
.ball-cursor {
  position: fixed;
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: 2px solid var(--c_text);
  border-radius: 50%;
  pointer-events: none;
  z-index: 99999999; /* Super high z-index to be above everything */
  opacity: 1;
  transform-origin: center center;
  left: 0;
  top: 0;
  transform: translate(-50%, -50%) scale(1);
  
  /* Critical - remove any transition for size, we'll do this in JS */
  transition: border-color 0.5s;
}

/* Handle cursor color in both light and dark modes */
body.dark .ball-cursor {
  border-color: var(--c_text);
}

/* Hide default cursor on all elements when ball cursor is active */
body {
  cursor: none !important;
}

a, button, input, textarea, select, [role="button"] {
  cursor: none !important;
}

/* Make cursor bigger on interactive elements using transform for absolute smoothness */
.ball-cursor.hover {
  transform: translate(-50%, -50%) scale(1.667);
  border-width: 3px;
  transition: transform 4s cubic-bezier(0.19, 1, 0.22, 1),
              border-width 4s cubic-bezier(0.19, 1, 0.22, 1),
              border-color 0.5s;
}

/* Remove the pulse animation since it makes the transition feel less smooth */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.01);
  }
}

/* Privacy Policy Styles */
.privacy_content {
  max-width: 1000px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.6;
  color: var(--c_text);
}

.privacy_section h2 {
  font-size: 24px;
  font-weight: 600;
  text-transform: uppercase;
}

.privacy_list {
  padding-left: 20px;
  list-style-type: disc;
}

.privacy_list li {
  margin-bottom: 10px;
}

.privacy_list strong {
  font-weight: 600;
}

@media (max-width: 768px) {
  .privacy_content {
    font-size: 14px;
  }
  
  .privacy_section h2 {
    font-size: 20px;
  }
}

/* Specific style for privacy page titles */
.privacy h1.txttop {
  font-size: 160px;
  word-wrap: break-word;
  hyphens: auto;
}

@media (max-width: 1200px) {
  .privacy h1.txttop {
    font-size: 120px;
  }
}

@media (max-width: 768px) {
  .privacy h1.txttop {
    font-size: 80px;
  }
}

@media (max-width: 480px) {
  .privacy h1.txttop {
    font-size: 60px;
  }
}

/* Smooth transitions throughout the site */
html {
  scroll-behavior: smooth;
}

html.is-animating {
  height: 100vh;
  width: 100vw;
}

/* Remove animation flashes on mobile devices */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Privacy Policy Styles */

/* Custom Ball Cursor */
.ball-cursor {
  position: fixed;
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: 2px solid var(--c_text);
  border-radius: 50%;
  pointer-events: none;
  z-index: 99999999; /* Super high z-index to be above everything */
  opacity: 1;
  transform-origin: center center;
  left: 0;
  top: 0;
  transform: translate(-50%, -50%) scale(1);
  
  /* Critical - remove any transition for size, we'll do this in JS */
  transition: border-color 0.5s;
}

/* Handle cursor color in both light and dark modes */
body.dark .ball-cursor {
  border-color: var(--c_text);
}

/* CURSOR COLOR IN MENU - START */
/* Light theme (cursor in dark menu) */
body:not(.dark) .menu_block.active ~ .ball-cursor {
  border-color: var(--c_text_hover);
}

/* Dark theme (cursor in light menu) */
body.dark .menu_block.active ~ .ball-cursor {
  border-color: var(--c_text_hover);
}
/* CURSOR COLOR IN MENU - END */

/* Add animation for finger emoji in buttons */
@keyframes finger-swipe {
  0% {
    transform: translateX(-4px);
  }
  100% {
    transform: translateX(4px);
  }
}

/* Go to top button styles */
#go-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    left: auto;
    width: 50px;
    height: 50px;
    background-color: var(--c_text);
    color: var(--c_bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 999;
    cursor: pointer;
    border: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

#go-to-top svg {
    width: 20px;
    height: 20px;
}

#go-to-top svg path {
    fill: var(--c_bg);
}

#go-to-top.visible {
    opacity: 1;
    visibility: visible;
}

#go-to-top:hover {
    transform: scale(1.15);
}

@media (max-width: 768px) {
    #go-to-top {
        bottom: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
    }
    
    #go-to-top svg {
        width: 16px;
        height: 16px;
    }
    
    /* Override footer logo animation properties for mobile */
    .footer_logo svg {
        width: 110px !important;
        height: 50px !important;
        transition: transform 0.3s ease;
        transform: none !important;
    }
    
    .footer_logo:hover svg {
        transform: scale(1.1) !important;
    }
}

/* Custom text selection styling */
::selection {
  background-color: var(--c_text);
  color: var(--c_bg);
}

::-moz-selection {
  background-color: var(--c_text);
  color: var(--c_bg);
}

/* Logo hover effect */
.header_center a.logo.top {
    display: inline-block;
}

.header_center a.logo.top svg {
    transition: transform 0.3s ease;
    will-change: transform;
}

.header_center a.logo.top:hover svg {
    transform: scale(1.12);
}

/* Footer logo hover effect */
.footer_logo {
    margin-bottom: 40px;
    display: block;
}

.footer_logo svg {
    width: 260px;
    height: 120px;
    transition: transform 0.3s ease;
}

.footer_logo:hover svg {
    transform: scale(1.12);
}

/* Social network buttons hover effect in footer */
.follow a svg, .follow a img {
    transition: transform 0.3s ease;
    will-change: transform;
}

.follow a:hover svg, .follow a:hover img {
    transform: scale(1.18);
}

/* Social network buttons hover effect in menu */
.menu_follow a svg, .menu_follow a img {
    transition: transform 0.3s ease;
    will-change: transform;
}

.menu_follow a:hover svg, .menu_follow a:hover img {
    transform: scale(1.18);
}

/* Stat Box Animation */
.res_item {
    /* Remove transform transition as we don't want any size changes */
    transition: none;
}

.res_item.animating {
    /* No animation or transformation */
    opacity: 1;
}

.res_item.correct {
    /* Remove transform: scale(1.08); to keep size fixed */
    /* No transformation to keep box size fixed */
    opacity: 1;
}

/* Stats number animation - only animate the text */
.res_item__hd {
    transition: transform 0.2s ease;
}

.res_item.correct .res_item__hd {
    transform: scale(1.1);
    font-weight: bold;
}

/* Remove the pulse-subtle animation keyframes */
/* This section was previously:
@keyframes pulse-subtle {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.02);
    }
}
*/

/* Responsive tweaks for stat box animations */
@media (max-width: 768px) {
    .res_item.correct {
        /* Remove transform: scale(1.05); to keep size fixed */
        opacity: 1;
    }
}

.contact_link_wrap {
    margin: 40px auto;
    margin-bottom: 80px;
    max-width: 560px;
    text-align: center;
}

.contact_link {
    font-size: 20px;
    display: inline-flex;
    align-items: center;
    text-align: center;
    line-height: 1.4;
}

.contact_link img {
    height: 32px;
    margin-right: 12px;
    vertical-align: middle;
    flex-shrink: 0;
}

.contact_link span {
    text-align: center;
}

.contact_underline {
    text-decoration: underline;
    transition: opacity 0.3s ease;
}

.contact_underline:hover {
    opacity: 0.7;
}

@media (max-width: 640px) {
    .contact_link {
        font-size: 16px;
    }
    
    .contact_link img {
        height: 28px;
        margin-right: 8px;
    }
}

/* Music Releases Grid */
.music_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px;
}

.music_item {
    text-align: center;
    width: 100%;
}

.music_cover {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    margin-bottom: 15px;
    transition: transform 0.3s ease;
    background-color: #f0f0f0; /* Light gray background for empty images */
}

.music_cover:hover {
    transform: scale(1.05);
}

.music_artist {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.music_title {
    font-size: 16px;
    color: #666;
}

@media (max-width: 768px) {
    .music_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        padding: 20px;
    }
    
    .music_artist {
        font-size: 16px;
    }
    
    .music_title {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .music_grid {
        gap: 15px;
        padding: 15px;
    }
    
    .music_artist {
        font-size: 14px;
    }
    
    .music_title {
        font-size: 12px;
    }
}

/* --- Single Music Page Styles --- */
.single_main {
    max-width: 480px;
    margin: 0 auto;
    padding: 32px 0 60px 0;
    text-align: center;
}
.single_artist {
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 24px;
    letter-spacing: 1px;
}
.single_title {
    font-size: 28px;
    margin-bottom: 32px;
    letter-spacing: 1px;
}
.single_cover {
    width: 100%;
    max-width: 420px;
    border-radius: 12px;
    margin-bottom: 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.10);
}
.finger_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 32px;
    animation: finger-bounce 1.2s infinite alternate;
}
.single_downarrow {
    width: 48px;
    height: 48px;
    transform: rotate(-90deg) scaleY(-1);
    object-fit: contain;
    margin: 0;
}
@keyframes finger-bounce {
    0% { transform: translateY(0); }
    100% { transform: translateY(18px); }
}
.listenon_label {
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 32px;
    letter-spacing: 1px;
}
.listenon_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
    justify-items: center;
    margin-bottom: 48px;
}
.listenon_btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    width: auto;
    transition: opacity 0.2s, transform 0.2s;
    text-decoration: none;
    color: #1D1D1F;
}
.listenon_btn:hover {
    opacity: 0.7;
    transform: scale(1.07);
}
.listenon_btn img {
    height: 64px !important;
    width: 64px !important;
    margin-bottom: 14px;
    display: block;
    object-fit: contain;
}
.listenon_btn span {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.5px;
}
.explore_btn {
    display: inline-block;
    margin-top: 32px;
    padding: 14px 36px;
    border: 2px solid #1D1D1F;
    border-radius: 30px;
    font-size: 22px;
    font-weight: bold;
    background: #fff;
    color: #1D1D1F;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.explore_btn:hover {
    background: #1D1D1F;
    color: #fff;
}
@media (min-width: 700px) {
    .single_main {
        max-width: 700px;
        padding: 60px 0 100px 0;
    }
    .single_artist {
        font-size: 64px;
    }
    .single_title {
        font-size: 36px;
    }
    .single_cover {
        max-width: 520px;
    }
    .listenon_label {
        font-size: 44px;
    }
    .listenon_grid {
        gap: 36px 40px;
    }
    .listenon_btn {
        width: auto;
        padding: 0;
    }
    .listenon_btn img {
        height: 64px !important;
        width: 64px !important;
    }
    .listenon_btn span {
        font-size: 18px;
    }
    .explore_btn {
        font-size: 28px;
        padding: 18px 48px;
    }
}
/* --- End Single Music Page Styles --- */

/* Contact form and success message styles */
#contactForm, #successMessage {
	transition: opacity 0.5s ease;
}
#successMessage {
	visibility: hidden;
	opacity: 0;
}
#newMessageBtn {
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
	text-decoration: none;
}
#newMessageBtn:hover {
	transform: none;
	opacity: 0.8;
	/* Override global button styles that cause jumping */
	padding: 12px 20px !important;
}
#newMessageBtn:hover img {
	/* Override global hover styles for button images */
	height: 28px !important;
}
/* Fix input text color in dark mode */
body.dark .form_input, 
body.dark textarea {
	color: #FAFAFA;
}

/* Email validation styles */
.email-error {
	color: #ff3333;
	font-size: 14px;
	margin-top: 5px;
	opacity: 0;
	height: 0;
	transition: opacity 0.3s, height 0.3s;
}
.email-error.visible {
	opacity: 1;
	height: auto;
	margin-bottom: 8px;
}
.form_input.error {
	border-color: #ff3333 !important;
}
body.dark .email-error {
	color: #ff6666;
}

.coming_soon_section {
	padding: 120px 0;
	margin: 40px 0 100px 0;
}

.coming_soon_section h2 {
	font-weight: bold;
	letter-spacing: 1px;
	font-size: 64px !important;
}

.coming_soon_section h2 img {
	width: 58px;
	vertical-align: middle;
	margin-left: 15px;
}

@media (max-width: 767px) {
	.coming_soon_section {
		padding: 80px 0;
		margin: 20px 0 80px 0;
	}
	
	.coming_soon_section h2 {
		font-size: 44px !important;
	}
	
	.coming_soon_section h2 img {
		width: 42px;
	}
}

@media (max-width: 480px) {
	.coming_soon_section {
		padding: 60px 0;
		margin: 20px 0 60px 0;
	}
	
	.coming_soon_section h2 {
		font-size: 36px !important;
	}
	
	.coming_soon_section h2 img {
		width: 34px;
	}
}




