/* Настройки шаблона */

@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0");

@font-face {
	font-family: Actay;
	src: url("/templates/rostsayt-4/fonts/Actay-Regular.otf") format("opentype");
}
@font-face {
	font-family: Actay Bold;
	src: url("/templates/rostsayt-4/fonts/ActayWide-Bold.otf") format("opentype");
}
@font-face {
	font-family: Montserrat;
	src: url("/templates/rostsayt-4/fonts/Montserrat-Regular.ttf") format("truetype");
}
@font-face {
	font-family: Montserrat SemiBold;
	src: url("/templates/rostsayt-4/fonts/Montserrat-SemiBold.ttf") format("truetype");
}

:root, body {font-size: 10px;}
@media screen and (min-width: 576px) {
	:root, body {font-size: 12px;}
}
@media screen and (min-width: 768px) {
	:root, body {font-size: 12px;}
}
@media screen and (min-width: 992px) {
	:root, body {font-size: 14px;}
}
@media screen and (min-width: 1200px) {
	:root, body {font-size: 16px;}
}

/* Элементы */

html {width: calc(100% + calc(100vw - 100%)); overflow-x: hidden;}
body {display: flex; flex-direction: column; margin: 0 auto; max-width: 1920px; color: #1D1D1D; outline: 1px solid #ddd; overflow-x: hidden;}

#middle main {overflow: inherit;}
#middle > main > article { display: none; }

*::before {pointer-events: none;}
@media (min-width: 1680px) { .container {max-width: 1300px;} }
@media (min-width: 1920px) { .bg-color::before {margin-left: -960px;} }

h1, .h1 {}
h2, .h2 {}
h3, .h3 {}
h4, .h4 {}
h5, .h5 {}
h6, .h6 {}

/* Адаптация */

/* Анимации */

.delay-1 {-webkit-animation-delay:200ms;animation-delay:200ms}
.delay-2 {-webkit-animation-delay:400ms;animation-delay:400ms}
.delay-3 {-webkit-animation-delay:600ms;animation-delay:600ms}
.delay-4 {-webkit-animation-delay:800ms;animation-delay:800ms}
.delay-5 {-webkit-animation-delay:1000ms;animation-delay:1000ms}
.delay-6 {-webkit-animation-delay:1200ms;animation-delay:1200ms}
.delay-7 {-webkit-animation-delay:1400ms;animation-delay:1400ms}
.delay-8 {-webkit-animation-delay:1600ms;animation-delay:1600ms}
.delay-9 {-webkit-animation-delay:1800ms;animation-delay:1800ms}
.delay-10 {-webkit-animation-delay:2000ms;animation-delay:2000ms}

.ani-pulse > div {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	position: absolute;
	top: -1px; left: -1px;
	border: 1px solid #CFA944;
	animation: pulse 3s infinite;
}
.ani-pulse > div:nth-child(2) {
	padding: 1px;
	top: -2px; left: -2px;
	border-color: #CFA944;
	animation-delay: 0.5s;
}
@keyframes pulse {
	1% { opacity: 1; }
	50% { transform: scale(1.5); }
	75% { transform: scale(1.5); opacity: 0; }
	100% { opacity: 0; }
}

.merge-from-lt { transform: translate(-15rem, -5rem); animation: t2d-none 3s ease-out forwards 1s; }
.merge-from-lb { transform: translate(-15rem, 5rem); animation: t2d-none 3s ease-out forwards 1s; }
.merge-from-rt { transform: translate(15rem, -5rem); animation: t2d-none 3s ease-out forwards 1s; }
.merge-from-rb { transform: translate(15rem, 5rem); animation: t2d-none 3s ease-out forwards 1s; }
.merge-from-t { transform: translateY(-10rem); animation: t2d-none 3s ease-out forwards 1s; }
.merge-from-b { transform: translateY(10rem); animation: t2d-none 3s ease-out forwards 1s; }

@media screen and (width < 1200px) {
	.mod-stocks {
		display: flex;
		flex-direction: column;
	}
}

@keyframes t2d-none { 100% { transform: none; } }

/* Шапка, Футер */

#navbar-content, .footer_items {
	justify-content: space-evenly;
	font: var(--font1);
	letter-spacing: 1px;
}

#top_menu li, .footer_items li {
	padding: 0.75rem;
	border-bottom: 0px solid var(--c_black);
	transition: box-shadow 0.15s;
}
#top_menu li:hover, .footer_items li:hover {
	box-shadow: 0 3px 0 var(--c_black);
}
#top_menu li a, .footer_items li a {
	color: var(--c_black);
}

.navbar-toggler { margin: 0 1rem 0 auto; transform: scale(1.5); }

/* Переназначения и глобалы */

:root {
	--f_ms20: 400 1.25rem "Montserrat";
	--f_ms18: 400 1.125rem "Montserrat";
	--f_msb20: 400 1.25rem "Montserrat SemiBold";
	--f_msb24: 400 1.5rem "Montserrat SemiBold";
	--f_ac55: 400 3.438rem "Actay";
	--f_acb55: 400 3.438rem "Actay Bold";
	--f_ac80: 400 5rem "Actay";

	--grad: linear-gradient(65deg, #B18A2A 0%, #E7DE74 32%, #CFA944 69%, #EAC665 100%);
	--c_grey: #EFEFEF;
	--c_black: #1D1D1D;
}

body > * { font: var(--f_ms20); }

	/* Laptop screens */
@media screen and (min-width: 1200px) and (max-width: 1366px)  {
	:root, body { font-size: 16px; }
}

	/* Mobile screens */
@media screen and (max-width: 1199px) {
	.mod-why-us > div > div:nth-child(2),
	.mod-stocks > div > div:nth-child(2) { order: -1; }
	.mb-100 { margin-bottom: 5rem !important; }
	.spaceMobile { margin-bottom: 3rem !important; }
	.owl-nav { bottom: -8rem !important; }
	#navbar-content, #top_menu, .footer_items {
		/* display: flex !important; */
		flex-wrap: wrap;
	}
	#navbar-content > *, #header_items > *, .footer_items > * {
		margin: auto;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-bottom: 2rem;
	}
	#top_menu > ul, .footer_items > ul { flex-direction: column; }
	#top_menu > ul > li, .footer_items > ul > li { margin: auto; }
	div:has(> .productInfoCard) { max-width: 50vw; }
}
@media screen and (max-width: 576px) {
	:root {
		--f_ms20: 400 16px "Montserrat";
		--f_msb20: 400 16px "Montserrat SemiBold";
		--f_msb24: 400 16px "Montserrat SemiBold";
		--f_ac55: 400 22px "Actay";
		--f_acb55: 400 22px "Actay Bold";
		--f_ac80: 400 30px "Actay";
	}
	#top > * { margin: 0 4rem; }
	.w-xs-100 { width: 100% !important; }
	.w-xs-75 { width: 75% !important; }
	.w-xs-50 { width: 50% !important; }

	.ani { animation: none !important; transition: none !important; transform: none !important; }

	.mod-top-slider { height: 50rem; }
	.mod-top-slider > div:nth-child(2) > div > div { letter-spacing: 1px !important; }
	.mod-top-slider .owl-stage > div { color: var(--c_black) !important; }
	.mod-about > div:nth-child(2) { text-align: left !important; }
	.hugeCircle > div:nth-child(1) { display: none !important; }
	.hugeCircle > div:nth-child(2) {
		position: relative !important;
		color: var(--c_black) !important;
		width: 100% !important;
		padding-bottom: 2rem;
	}
	.mod-partners { margin-left: 0 !important; margin-right: 0 !important; }
	.mod-contacts { margin: 0 !important; padding: 0 !important; height: unset !important; background: #fff !important; }
	.mod-contacts > div:nth-child(1) { position: relative !important; height: 46rem !important; width: 100%; order: 2; }
	.mod-contacts > div:nth-child(1) > iframe { height: 100%; width: 100%; }
	.mod-contacts > div:nth-child(2), .mod-contacts > div:nth-child(2) > div { color: var(--c_black) !important; max-height: unset !important; }
	.mod-contacts > div:nth-child(2) > div > div { background: #fff !important; margin-top: 0 !important; width: 70% !important; }
	.mod-contacts > div:nth-child(2) > div .h2 { border-color: var(--c_black) !important; }
	.mod-team-page button { font-size: 16px !important; }
}

a { color: inherit; cursor: pointer; text-decoration: none;	}
a:hover { color: inherit; }
button { cursor: pointer; }

.h1 { font: var(--f_ac80) !important; letter-spacing: 5px; }
.h2 { font: var(--f_ac55) !important; letter-spacing: 4px; }
.h3 { font: var(--f_msb24) !important; }
.h4 { font: var(--f_msb20) !important; }
.f_msb24 { font: var(--f_msb24) !important; }
.f_acb55 { font: var(--f_acb55) !important; }
.g_icon {
	font-family: 'Material Symbols Outlined';
	font-size: inherit;
	display: inline-block;
	width: 1.1em !important;
	height: 1.1em !important;
	transform: translateY(0.25rem) scale(1.5);
	transition: transform 0.3s;
}

.grad { background: var(--grad); }
.color-inherit { color: inherit; }
.color-white { color: #fff; }
.color-black { color: var(--c_black); }
.bg-grey { background-color: var(--c_grey); }

.noscrollbars::-webkit-scrollbar { display: none; }
.noscrollbars { -ms-overflow-style: none; scrollbar-width: none; }

.bg-fill {
	background-size: cover;
	background-position: top left;
	background-repeat: no-repeat;
}
.bg-cont {
	background-size: contain;
	background-position: top left;
	background-repeat: no-repeat;
}

/* Bootstrap extra */

.h-1 { height: 0.5em }
.h-2 { height: 1em }
.h-3 { height: 1.5em }
.h-4 { height: 2em }
.h-5 { height: 3em }
.w-1 { width: 0.5em }
.w-2 { width: 1em }
.w-3 { width: 1.5em }
.w-4 { width: 2em }
.w-5 { width: 3em }

.mh-25 { max-height: 25%; }
.mh-50 { max-height: 50%; }
.mh-75 { max-height: 75%; }
.mh-100 { max-height: 100%; }
.mw-25 { max-width: 25%; }
.mw-50 { max-width: 50%; }
.mw-75 { max-width: 75%; }
.mw-100 { max-width: 100%; }

.justify-content-center {
	justify-content: center;
}
.justify-content-space-between {
	justify-content: space-between;
}
.float-right { float: right; }
.cursor-pointer { cursor: pointer; }
.w-unset { width: unset !important; }
.bg-dark { background-color: var(--c_black) !important; }
.object-fit-cover { object-fit: cover !important; }
.object-fit-contain { object-fit: contain !important; }
.object-position-lt { object-position: left top; }
.object-position-lb { object-position: left bottom; }
.object-position-rt { object-position: right top; }
.object-position-rb { object-position: right bottom; }
.object-position-ct { object-position: center top; }
.object-position-cb { object-position: center bottom; }
.object-position-cc { object-position: center; }

/* Модули */

.moduletable { position: relative; }
.owl-carousel .owl-nav { display: none; }
.owl-carousel.showArrows .owl-nav {
	display: flex;
	top: unset;
	bottom: -5rem;
}
.owl-carousel.showArrows .owl-nav > button:nth-child(1) {
	position: relative;
	margin: auto 0.5rem auto auto;
}
.owl-carousel.showArrows .owl-nav > button:nth-child(2) {
	position: relative;
	margin: auto auto auto 0.5rem;
}
div:has(> .showArrows) { padding-bottom: 5rem; }
.owl-carousel .owl-item img { max-height: 100%; }

/* Расходники */

.productInfoCard {
	backdrop-filter: blur(0.35rem);
	background: #eee7;
	bottom: 2rem;
	left: -7rem;
}
.productInfoCard a > img {
	width: 2.5rem !important;
	min-width: 2.5rem !important;
}
.productInfoCard > div { max-width: 300px; }

.blockTitle {
	float: left;
	font: var(--f_ac55);
	border-bottom: 1px solid var(--c_black);
	padding-right: 4rem;
	text-transform: uppercase;
	margin: 0 auto auto 0;
}

div:has(> .moreItemsBtn) {
	display: flex;
	flex-wrap: wrap;
}
.moreItemsBtn {
	display: block;
	font: var(--f_msb20);
	padding: 0.5rem 1.5rem;
	border: 1px solid var(--c_black);
	border-radius: 3rem;
	cursor: pointer;
}
.moreItemsBtn:hover {
	background: var(--c_black);
	color: #fff;
}

.boxContainerLink {
	cursor: pointer;
	display: flex;
	opacity: 0;
	transition: opacity 0.4s;
}
.fill, .boxContainerLink, .boxContainerLink > a {
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
}
.boxContainerLink > div {
	font-size: 5rem;
	color: #eee;
	margin: auto;
	padding: 3.5rem;
	background: #222c;
	box-shadow: 0 0 2rem var(--c_black);
	border-radius: 2rem;
}
.boxContainerLink:hover { opacity: 1; }

.imageCard { height: 370px !important; object-fit: cover; }
.imageCardLg { height: 30rem !important; object-fit: cover; }
.imageCardXl { height: 35rem !important; object-fit: cover; }

.profile_photo { height: 24rem; object-fit: cover; }

/* Шапка, Футер: Кнопки соц-сетей */
.mod-soc a, .mod-footer-soc a {
	padding: 0.2rem 0.75rem 0px 0.75rem;
	transition: transform 0.2s;
}
.mod-soc a:hover, .mod-footer-soc a:hover {
	transform: scale(1.1);
}

/* Шапка, Футер: Кнопка записи */
.mod-feedback button {
	font: var(--f_ms20);
	background: var(--c_black);
	transition: filter 0.5s, transform 0.5s;
	filter: saturate(0);
	color: #fff;
}
.mod-feedback button:hover {
	background: var(--grad);
	transform: scale(1.05);
	filter: saturate(1);
	color: #fff;
}

/* Топ слайдер */
.mod-top-slider { border-radius: 40px; }
.mod-top-slider .owl-stage > div { color: #fff; }
.mod-top-slider .owl-stage,
.mod-top-slider .owl-stage-outer,
.mod-top-slider .owl-item {
	height: 100%;
	display: flex;
}
.mod-top-slider .owl-item > div {
	background: #fff3;
	border: 1px solid #fff7;
	backdrop-filter: blur(0.5rem);
}

/* О нас */
.mod-about > div:nth-child(2) { max-width: 614px; text-align: right; }

/* Почему мы */
.mod-why-us .ani-pulse > img, .mod-stocks .ani-pulse > img { transform: scale(1.1); }

/* Услуги */
.mod-services {}

/* Уход */
.mod-care .owl-stage-outer { overflow: visible !important; }
.mod-care .owl-stage { display: flex !important; }
.mod-care .owl-item { margin-top: auto; margin-bottom: 0px; height: 40rem; }
.mod-care > div > div:nth-child(1) { top: -4rem; }

/* Команда */
.mod-team {}

/* Акции */
.mod-stocks {}

/* Украшение */
.mod-finery .owl-stage-outer { overflow: visible !important; }
.mod-finery .owl-stage { display: flex !important; }
.mod-care .owl-item { margin-top: auto; margin-bottom: 0px; height: 40rem; }

/* Отзывы */
.mod-reviews .owl-item > div > img {
	background-color: #333;
	min-height: 28rem;
	transition: filter 0.3s;
}
.mod-reviews .owl-item > div > div {
	height: 90%; width: 80%;
	top: 5%; left: 10%;
	opacity: 0;
	transition: opacity 0.5s;
}
.mod-reviews .owl-item > div:hover img {
	filter: blur(0.35rem) brightness(0.7);
}
.mod-reviews .owl-item > div:hover > div { opacity: 1; }
.mod-reviews .no_image { opacity: 1 !important; }
.mod-reviews .no_image > div:nth-child(2) { max-height: 95%; height: 90%; overflow: scroll; }

/* Партнеры */
.mod-partners .owl-stage {
	display: flex;
	align-items: center;
}

/* Мы в соцсетях */
.mod-socials .owl-stage {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.mod-socials .owl-stage > div { width: 20rem; }
.mod-socials .owl-stage {
	display: flex;
	align-items: center;
}
.mod-socials .owl-stage > div {
	width: 20rem;
}

/* Контакты */
.mod-contacts { height: 46rem; }
.mod-contacts > div:nth-child(1) > div { max-height: 0px; }
.mod-contacts > div:nth-child(2), .mod-contacts > div:nth-child(2) > div { color: #fff; max-height: 0px; }
.mod-contacts > div:nth-child(2) > div > div { width: 26rem; padding: 3.5rem 2.5rem; margin-top: 4rem; }

/* О нас - О нас */
.mod-about-page > div > div:nth-child(1) > div { margin-bottom: 1.5rem; }

/* О нас - Наш салон */
.mod-our-salon .owl-stage {
	display: flex;
	align-items: center;
}

/* Отзывы - Отзывы */
.mod-reviews-page > button { all: unset; cursor: pointer; }
.mod-reviews-page .hidden { display: none !important; }
@media screen and (min-width: 1200px) {
	.mod-reviews-page > div:nth-child(2n+1) > div:nth-child(1) { order: 2; }
	.mod-reviews-page > div:nth-child(2n+1) > div:nth-child(2) { order: 1; }
	.mod-reviews-page > div:nth-child(2n+2) > div:nth-child(1) { order: 1; }
	.mod-reviews-page > div:nth-child(2n+2) > div:nth-child(2) { order: 2; }
}

/* Услуги -> Страница отдельной услуги */
.mod-service-inner .g_icon {
	transform: translateY(0.25rem) scale(1.5) rotate(-45deg);
}
.mod-service-inner .g_icon.inverted {
	transform: translateY(0.25rem) scale(1.5) rotate(45deg);
}
.mod-service-inner table {
	display: none;
	border: none;
	border-bottom: 2px dashed #EAC665;
	animation: unfold-down 0.3s;
}
.mod-service-inner tbody > tr:last-child td {
	padding-bottom: 1rem;
}
@keyframes unfold-down {
	0% { transform-origin: 50% 0%; transform: scaleY(0); }
	100% { transform-origin: 50% 0%; transform: scaleY(1); }
}
.mod-service-inner .owl-nav {
	display: block;
	width: 90%;
}
.mod-service-inner .owl-stage img { height: 35rem !important; object-fit: cover; }

/* Команда - Команда */
.mod-team-page > div:nth-child(2) {}
.mod-team-page button { border: none; background: none; color: #000; font-size: 1rem; }
.mod-team-page button:hover { background: #0001; }

/* Команда -> Страница отдельного сотрудника */
.mod-team-inner > div > div:nth-child(2) {
	background-image: url('/images/modules/quotes.svg');
	background-repeat: no-repeat;
	background-position: 0% 15%;
}
.submitform input[type=text], .submitform input[type=tel], .submitform select {
	background: #fff;
	text-indent: 1rem;
}
.submitform input[type=submit] {
	border: 2px solid var(--c_black);
}
.submitform select {
	-moz-appearance:none;
	-webkit-appearance:none;
	appearance:none;
}
.submitform .g_icon { right: 1rem !important; }
