/**
* Theme Name: Corsair theme
* Description: Theme for barbershop website
* Author: Yury Martyshchenko, Olha Buhaiova
* Author URI:
* Version: 1.1
* Text Domain: corsair
* Domain Path: /languages
*/

body {
	font        : 400 20px 'OpenSans', system-ui, sans-serif;
	line-height : 1.9;
}

body.wp-admin * {
	font-family : 'OpenSans';
}

body.wp-admin .wp-block-heading {
	font-family : 'Furore';
}

body.no-scroll {
	overflow : hidden;
}

html h1 {
	font : 700 96px 'Furore', system-ui, sans-serif;
}

html h2 {
	font : 700 48px 'Furore', sans-serif;
}

html h3 {
	font : 700 40px 'Furore', sans-serif;
}

html h4 {
	font : 700 32px 'Furore', sans-serif;
}

html h5 {
	font : 700 24px 'Furore', sans-serif;
}

html h6 {
	font : 700 20px 'Furore', sans-serif;
}

.background_white {
	background-color : #ffffff;
}

.background_black {
	background-color : #000000;
}

.background_brand_1 {
	background-color : #016602;
}

.color_white {
	color : #ffffff;
}

.color_black {
	color : #000000;
}

.color_brand_1 {
	color : #016602;
}

.wp-element-button {
	transition : all .2s linear;
}

.wp-block-buttons .wp-block-button .wp-block-button__link,
.wp-block-buttons .wp-block-button .wp-element-button {
	height          : 70px;
	padding         : 0 30px;
	text-align      : center;
	min-width       : 360px;
	font-size       : 20px;
	display         : flex;
	align-items     : center;
	justify-content : center;
	font-weight     : 600;
}

.wp-block-buttons .wp-block-button .wp-block-button__link:hover,
.wp-block-buttons .wp-block-button .wp-element-button:hover {
	background-color : var(--wp--preset--color--brand-1-dark) !important;
}


* {
	box-sizing         : border-box;
	-webkit-box-sizing : border-box; /* Safari */
}

a {
	text-decoration : none;
	color           : #000000;
}

input:focus, a:focus, button:focus {
	outline : none;
}

/* footer at bottom */
html, body {
	height          : 100%;
	scroll-behavior : smooth;
}

.page_wrapper {
	display   : table;
	height    : 100%;
	width     : 100%;
	overflow  : hidden;
	max-width : 2000px;
	margin    : 0 auto;
}

.content_wrapper {
	display : table-row;
	height  : 100%;
}

/*----------------------*/
svg.hidden {
	display : none;
}

.container {
	margin-left   : auto;
	margin-right  : auto;
	padding-left  : 15px;
	padding-right : 15px;
	width         : 100%;
	max-width     : 600px !important; /* viewport */
	position      : relative;
}

@media (min-width : 769px) {
	.container {
		max-width : 730px !important;
	}
}

@media (min-width : 1025px) {
	.container {
		max-width : 990px !important;
	}
}

@media (min-width : 1200px) {
	.container {
		max-width : 1140px !important;
	}
}

@media (min-width : 1480px) {
	.container {
		max-width : 1400px !important;
	}
}

.btn {
	height         : 70px;
	line-height    : 66px;
	background     : var(--wp--preset--color--brand-1);
	border         : 3px solid var(--wp--preset--color--brand-1);
	color          : #ffffff;
	font-size      : 20px;
	font-weight    : 500;
	text-transform : uppercase;
	width          : 250px;
	transition     : all .2s linear;
}

.btn:hover {
	background : var(--wp--preset--color--brand-1-dark);
	border     : 3px solid var(--wp--preset--color--brand-1-dark);
}

header {
	position   : fixed;
	z-index    : 10;
	width      : 100%;
	transition : all .2s linear;
	left       : 0;
}

.at-top header {
	background      : #1d1d1d;
	backdrop-filter : none;
}

header {
	background              : #1d1d1db5;
	backdrop-filter         : blur(10px);
	-webkit-backdrop-filter : blur(10px);
}

.header_menu .contact_btn {
	height      : 50px;
	line-height : 46px;
	width       : auto;
	padding     : 0 30px;
	margin-left : 25px;
}

header .header_right {
	display     : flex;
	height      : 100%;
	align-items : center;
}

header .top_line {
	background : #f4f6f7;
	height     : 30px;
}

header .top_line .phone {
	font-size   : 20px;
	font-weight : 700;
}

header .top_line .directions {
	color       : var(--wp--preset--color--brand-1);
	font-weight : 400;
}

header .container {
	display         : flex;
	justify-content : space-between;
	position        : relative;
	height          : 100%;
	align-items     : center;
}

header .menu_wrap .container {
	align-items     : flex-start;
	flex-direction  : column;
	justify-content : flex-start;
}

header .logo {
	max-width  : 240px;
	display    : flex;
	z-index    : 1;
	transition : all .44s linear;
	position   : relative;
}

header .logo img {
	max-width : 100%;
	min-width : 90px;
	margin    : 15px 40px 15px 0;
}

header .menu {
	height : 100%;
}

header .menu :is(a, span) {
	color       : #ffffff;
	font-weight : 500;
	font-size   : 30px;
	transition  : all .2s linear;
	padding     : 20px 0;
	display     : inline-block;
}

header .menu a:hover {
	color : rgba(256, 256, 256, .8);
}

header .menu .current-menu-item span {
	color : rgba(256, 256, 256, .6);
}

header .header_menu.mobile .menu-item-has-children {
	border-top : 1px solid #ffffff9c;
}

header .header_menu.mobile .menu-item-has-children > a {
	display : block;
}

header .burger-wrap {
	opacity           : 1;
	visibility        : visible;
	cursor            : pointer;
	display           : flex;
	align-items       : center;
	justify-content   : center;
	position          : relative;
	height            : 50px;
	width             : 50px;
	padding           : 5px 0 5px;
	margin-left       : 20px;
	-webkit-transform : scale(1, 1);
	transform         : scale(1, 1);
	z-index           : 4;
	background        : #121212;
	transition        : background 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

header .burger {
	display  : block;
	width    : 22px;
	height   : 16px;
	position : absolute;
	top      : calc(50% - 8px);
}

header .burger span {
	visibility : visible;
	opacity    : 1;
	height     : 2px;
	background : white;
	top        : calc(50% - 1px);
	left       : 0;
	width      : 100%;
	position   : absolute;
	transition : all 0.35s ease-in-out;
}

header .burger:before, header .burger:after {
	content           : '';
	width             : 100%;
	height            : 2px;
	position          : absolute;
	background        : white;
	left              : 0;
	transition        : all 0.4s ease-in-out;
	-webkit-transform : rotate(0);
	transform         : rotate(0);
}

header .burger.opened span {
	visibility : hidden;
	opacity    : 0;
	width      : 0;
	left       : 50%;
}

header .burger:before {
	top : 0;
}

header .burger:after {
	bottom : 0;
}

header .burger.opened:before {
	top               : calc(50% - 1px);
	-webkit-transform : rotate(225deg);
	transform         : rotate(225deg);
}

header .burger.opened:after {
	bottom            : calc(50% - 1px);
	-webkit-transform : rotate(-225deg);
	transform         : rotate(-225deg);
}

.header_menu .container > div {
	width : 100%;
}

header .menu_wrap ul {
	display        : flex;
	flex-direction : column;
	align-items    : flex-start;
	list-style     : none;
	height         : 100%;
	margin         : 0;
	padding        : 0;
}

header .menu_wrap .sub-menu {
	display    : none;
	height     : auto;
	margin-top : 15px;
}

header .menu_wrap .sub-menu.showed {
	display : block;
}

header .menu_wrap ul li {
	padding           : 0 20px;
	-webkit-transform : translateX(40px);
	transform         : translateX(40px);
	opacity           : 0;
	transition        : all 0.3s ease;
	width             : 100%;
	display           : block;
	text-align        : left;
}

header .menu_wrap ul li + li {
	border-top : 1px solid #ffffff9c;
}

header .menu_wrap.active ul li {
	-webkit-transform : translateX(0px);
	transform         : translateX(0px);
	opacity           : 1;
}

header .menu_wrap.active ul li:nth-child(1) {
	transition-delay : 0.15s;
}

header .menu_wrap.active ul li:nth-child(2) {
	transition-delay : 0.3s;
}

header .menu_wrap.active ul li:nth-child(3) {
	transition-delay : 0.45s;
}

header .menu_wrap.active ul li:nth-child(4) {
	transition-delay : 0.6s;
}

header .menu_wrap.active ul li:nth-child(5) {
	transition-delay : 0.75s;
}

header .menu_wrap.active ul li:nth-child(6) {
	transition-delay : 0.9s;
}

header .menu_wrap.active ul li:nth-child(7) {
	transition-delay : 1.05s;
}

header .menu_wrap.active ul li:nth-child(8) {
	transition-delay : 1.2s;
}

header .menu_wrap.active ul li:nth-child(9) {
	transition-delay : 1.35s;
}

header .menu_wrap {
	top               : 0;
	position          : fixed;
	z-index           : 3;
	background        : #96a281;
	left              : 0;
	width             : 100%;
	display           : flex;
	flex-direction    : column;
	justify-content   : space-between;
	text-align        : center;
	-webkit-transform : translateX(100%);
	transform         : translateX(100%);
	transition        : transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	padding-top       : 160px;
	padding-bottom    : 20px;
	overflow-y        : auto;
}

header .menu_wrap .bg {
	position          : fixed;
	top               : 0;
	left              : 0;
	width             : 100%;
	height            : 100%;
	-webkit-transform : translateX(-100%);
	transform         : translateX(-100%);
	transition        : transform 0.55s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	z-index           : -3;
	display           : none;
}

header .menu_wrap.active .bg {
	-webkit-transform : translateX(0px);
	transform         : translateX(0px);
	z-index           : 1;
	display           : block;
}

header .menu_wrap.active {
	-webkit-transform : translateX(0px);
	transform         : translateX(0px);
}

header .menu_wrap.active + .burger-wrap {
	background : #ffffff;
}

header .menu_wrap.active + .burger-wrap .burger:before,
header .menu_wrap.active + .burger-wrap .burger:after {
	background : #96a281;
}

header .menu-item-has-children {
	position : relative;
}

header .menu-item-has-children:after {
	position      : absolute;
	content       : '';
	width         : 15px;
	height        : 15px;
	display       : block;
	border-right  : 2px solid var(--wp--preset--color--brand-1);
	border-bottom : 2px solid var(--wp--preset--color--brand-1);
	top           : 38px;
	right         : 10px;
	transform     : rotate(45deg);
}

header .contact_info {
	padding-top : 20px;
	border-top  : 1px solid var(--wp--preset--color--brand-1);
}

header .contact_info .container {
	flex-direction : column;
}

header .address,
header .email,
header .phone {
	display     : flex;
	font-size   : 20px;
	margin      : 10px 0;
	line-height : 1.2;
	align-items : baseline;
}

header .contact_info .icon {
	fill         : var(--wp--preset--color--brand-1);
	width        : 15px;
	min-width    : 15px;
	margin-right : 8px;
	height       : 15px;
}

header .btn {
	position    : absolute;
	top         : 36px;
	height      : 50px;
	font-size   : 16px;
	line-height : 44px;
	padding     : 0 15px;
	right       : 100px;
	width       : auto;
	z-index     : 10;
	opacity     : 0;
	visibility  : hidden;
	transform   : translateX(210px);
	transition  : all .2s linear;
}

header .btn.show {
	opacity    : 1;
	visibility : visible;
	transform  : translateX(0);
}

header .header_links.mobile {
	padding-top    : 20px;
	padding-bottom : 20px;
	border-top     : 1px solid var(--wp--preset--color--brand-1);
}

header .header_links.mobile .container {
	display        : flex;
	align-items    : flex-start;
	flex-direction : column;
}

header .header_links.mobile a {
	display     : block;
	font-size   : 20px;
	line-height : 34px;
	margin      : 5px 0;
}

header .hide_on_mobile {
	display : none;
}


.error404_content {
	text-align : center;
	padding    : 80px 0;
}

.error404_content h1 {
	margin-top : 0;
}

.book_btn {
	background : url(img/svg/plus.svg) center no-repeat;
	z-index    : 1;
	transition : all .2s linear;
	display    : block;
	width      : 180px;
	height     : 180px;
}

.book_btn:hover {
	background : url(img/svg/plus.svg) center / 70px no-repeat;
}

.text_circle {
	-webkit-animation : spin 12s linear infinite;
	-moz-animation    : spin 12s linear infinite;
	animation         : spin 12s linear infinite;
}

@-moz-keyframes spin {
	100% {
		-moz-transform : rotate(-360deg);
	}
}

@-webkit-keyframes spin {
	100% {
		-webkit-transform : rotate(-360deg);
	}
}

@keyframes spin {
	100% {
		-webkit-transform : rotate(-360deg);
		transform         : rotate(-360deg);
	}
}

.services {
	padding    : 120px 0 0;
	background : url(img/services_bg.jpg) center / cover no-repeat;
}

.our_photoes,
.reviews_section {
	padding  : 120px 0 60px;
	position : relative;
}

.services .wp-block-heading,
.our_photoes .wp-block-heading,
.reviews_section .wp-block-heading {
	margin : 0 0 80px !important;
}

.our_photoes .wp-block-button__link {
	position : relative;
}

.our_photoes .wp-block-button__link:after {
	content     : '';
	display     : inline-block;
	width       : 30px;
	height      : 30px;
	margin-left : 8px;
	background  : url(img/svg/instagram.svg) center / contain no-repeat;
}

.our_photoes:before {
	position   : absolute;
	content    : '';
	background : url(img/stripes.jpg) center top / cover no-repeat;
	width      : 70px;
	height     : 100%;
	left       : 0;
	top        : 0;
}

.flickity-page-dots .dot {
	margin     : 0 30px;
	opacity    : 1;
	background : #2e2e2e;
}

.flickity-page-dots .dot.is-selected {
	margin     : 0 30px;
	opacity    : 1;
	background : var(--wp--preset--color--brand-1);
}

.flickity-page-dots {
	bottom : -93px;
}


.modal {
	position        : fixed;
	height          : 100%;
	width           : 100%;
	left            : 0;
	top             : 0;
	z-index         : 1000000;
	display         : flex;
	justify-content : center;
	align-items     : center;
	opacity         : 0;
	visibility      : hidden;
	transition      : all .2s linear;
}

.modal.show {
	opacity    : 1;
	visibility : visible;
}

.modal_overlay {
	position                : absolute;
	height                  : 100%;
	width                   : 100%;
	left                    : 0;
	top                     : 0;
	background              : #1d1d1db5;
	backdrop-filter         : blur(10px);
	-webkit-backdrop-filter : blur(10px);
}

.modal_wrap {
	background : #000000;
	z-index    : 1;
	position   : relative;
	width      : 550px;
	padding    : 30px;
	transition : all .2s linear;
	transform  : translateY(-50px);
	opacity    : 0;
	visibility : hidden;
	display    : none;
}

.modal .modal_wrap.show {
	transform  : none;
	opacity    : 1;
	visibility : visible;
	display    : block;
}

:is(.modal_wrap, .modal [data-relation='body']) .form_title {
	color         : #ffffff;
	font-family   : 'Furore';
	font-size     : 32px;
	margin-bottom : 15px;
}

:is(.modal_wrap, .modal [data-relation='body']) :is(input, textarea ) {
	width         : 100%;
	padding       : 10px;
	border-radius : 0 !important;
	border        : none;
	outline       : none !important;
	max-height    : 120px;
}

:is(.modal_wrap, .modal [data-relation='body']) p {
	margin-top : 0;
}

:is(.modal_wrap, .modal [data-relation='body']) select {
	border-radius : 0;
	padding       : 10px 15px;
	margin-bottom : 20px;
}

:is(.modal_wrap, .modal [data-relation='body']) .btn {
	cursor      : pointer;
	padding     : 0;
	border      : none !important;
	height      : 50px;
	line-height : 50px;
	display     : block;
	width       : 100%;
	text-align  : center;
}

:is(.modal_wrap, .modal [data-relation='body']) .mobile-app-buttons {
	display         : flex;
	justify-content : space-between;
}

:is(.modal_wrap, .modal [data-relation='body']) .mobile-app-buttons > .btn {
	width : calc(100% / 2 - 5px);
}

.modal_wrap .close {
	position    : absolute;
	color       : #ffffff;
	right       : 20px;
	top         : -7px;
	font-size   : 42px;
	font-weight : 100;
	cursor      : pointer;
}

.modal .master_wrap {
	margin  : 0 auto;
	border  : none;
	padding : 0 0 20px;
}

.modal .master_wrap .img_wrap {
	width  : 90px;
	height : 90px;
}

.wpcf7-not-valid-tip {
	font-size : 14px;
}

.wpcf7 form .wpcf7-response-output {
	margin      : 10px 0 0;
	line-height : 1.2;
	font-size   : 16px;
}

.wpcf7-spinner {
	display : none !important;
}

.location-address {
	line-height : 1.7;
	font-size   : 22px;
}

body #bwcrm-widget-action {
	display : none;
}