@font-face {
	font-family: 'TildaSans';
	src: url('font/TildaSans-VF.ttf') format('ttf'),
		url('font/TildaSans-VF.woff') format('woff'),
		url('font/TildaSans-VF.woff2') format('woff2');

}

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

body {
	position: relative;
	font-family: 'TildaSans', Arial, sans-serif;
	cursor: default;
	overflow-x: hidden;
}

a {
	color: unset;
	text-decoration: none;
}

.hide {
	display: none;
}

#select-button  {
	position: fixed;
	z-index: 2;
	left: .5em;
	bottom: .5em;
	color: white;
	background-color: orangered;
	font-size: 1.3em;
	padding: .3em .8em;
	border: 2px solid white;
	border-radius: 12px;
	cursor: pointer;
}


#logo {
	position: absolute;
	top: 7em;
	right: 1em;
}
#logo img {
	height: 8em;
}

#logo-burger {
	display: none;
	position: absolute;
	top: .6em;
	right: 1em;
}
#logo-burger img {
	height: 4em;
}

/* -------------------- */
#scr-welcome {
	width: 100%;
	min-height: 100vh;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: white;
}

#scr-welcome>div {
	z-index: 1;
}

#scr-welcome-bkg {
	z-index: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	/* background: url(img/scr-welcome-tiny.jpg) center; */
	background: url(img/scr-welcome.jpg) center;
	background-size: cover;
}

#welcome-title {
	padding-top: 13rem;
	font-size: 5rem;
	font-weight: 600;
	text-align: center;
	text-shadow: 0 0 .1em #4c3700;
}

#welcome-title div {
	padding-top: 1rem;
	font-size: 4.5rem;
}

#welcome-complete {
	padding: .3rem 2rem;
	margin: 2rem;
	font-weight: 500;
	font-size: 3rem;
	text-shadow: 0 0 .2em #4c3700;
	text-align: center;
}

#welcome-next {
	padding: 1rem 3rem;
	margin-top: 2rem;
	font-size: 1.2rem;
	background-color: #97ca21;
	border-radius: 2rem;
	cursor: pointer;
}

/* -------------------- */
#menu {
	width: 100%;
	height: 88px;
	position: fixed;
	top: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	background-color: #512214c2;
	z-index: 2;
}

#menu.open {
	height: unset;
	/* position: relative; */
	flex-direction: column;
	align-items: flex-start;
}

#menu>a {
	height: 100%;
}

#menu.open>a {
	width: 100%;
}

.menu-item {
	height: 100%;
	display: flex;
	align-items: center;
	padding: 1.3em;
	font-size: 1.1em;
	font-weight: 600;
	text-transform: uppercase;
	text-align: center;
	cursor: pointer;
	transition: color .3s ease;
}

#menu.open .menu-item {
	display: flex;
	padding: .9em 5vw;
	width: 100%;
	font-size: 1.2em;
	background-color: #512214;
	border: 1px solid #5f200c;
}

.menu-item img {
	height: 1.5em;
	padding-right: .55em;
}

.menu-item.active {
	background-color: #4f261ac2;
}

.menu-item:hover {
	color: #fcef78;
}

#burger {
	width: 2.5em;
	height: 5.5em;
	position: relative;
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin-left: 2em;
}

#menu.open #burger {
	display: flex;
}


.burger-bar {
	display: block;
	width: 1.8em;
	height: 4px;
	margin: 4px 0;
	background: white;
	transition: all 0.25s ease-in-out;
}

.burger-bar:nth-child(3) {
	position: absolute;
	top: 38px;
	left: .35em;
}

#menu.open .burger-bar:first-child {
	transform: translateY(12px) scale(0);
}

#menu.open .burger-bar:last-child {
	transform: translateY(-12px) scale(0);
}

#menu.open .burger-bar:nth-child(2) {
	transform: rotate(45deg);
}

#menu.open .burger-bar:nth-child(3) {
	transform: rotate(-45deg);
}

/* -------------------- */
#details {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 2em;
}

#present {
	width: 960px;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 4em;
}

.title {
	font-size: 3.7rem;
	text-align: center;
	font-weight: 600;
}

.title-3 {
	font-size: 1.7rem;
	text-align: center;
	font-weight: 100;
	padding: 2rem;
}


.lq {
	width: 100%;
	height: 1em;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	font-family: Georgia, serif;
	padding: 3rem 0;
}

.lq div {
	width: 48%;
	height: 1em;
	position: relative;
	display: inline-block;
}

.lq div::after {
	width: 100%;
	height: 1px;
	position: absolute;
	top: .59em;
	content: '';
	background-color: lightgray;
}

.lq span {
	padding: 0 1rem;
}

/* -------------------- видео (наложенная кнопка play) */
.video {
	padding: 1em 0;
	width: 100%;
	position: relative;
	user-select: none;
}

.video>svg {
	width: 20%;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: opacity .3s ease-in-out;
}

.video>svg circle {
	fill-opacity: 0.45;
	transition: r .3s ease-in-out, fill-opacity .3s ease-in-out;
}

.video:hover>svg circle {
	r: 60;
	fill-opacity: .6;
}

/* -------------------- */

#advantages {
	width: 100vw;
	margin-top: 3rem;
}

.cards {
	width: 100vw;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 2rem;
}

.card {
	margin: .5rem;
	padding: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

.card>div {
	text-align: center;
}

.card-img {
	width: 45%;
	height: 8rem;
	margin: 0 auto;
}

#advantages .card {
	width: 17.5rem;
}

#advantages .card-title {
	height: 3em;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.2;
}

#advantages .card-text {
	padding-top: 2rem;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.4;
}

/* -------------------- */

#plans {
	/* width: 960px; */
	margin-top: 5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#plans-slider {
	margin-top: 2rem;
	width: 80vw;
	height: 60vh;
}

#location {
	margin-top: 5rem;
}

#location .card {
	width: 20rem;
}

#location .card-title {
	width: 100%;
	padding-bottom: 1rem;
	font-size: 3rem;
	font-weight: 600;
	border-bottom: 1px solid lightgray;
}

#location .card-text {
	padding-top: 1rem;
	font-size: 1.5rem;
}

#location-plan {
	width: 100%;
}
#location-plan img {
	width: 100%;
	height: 100%;
}

#photos {
	margin-top: 5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#photos-slider {
	/* margin: 2rem 0 0 1rem; */
	width: 90vw;
	height: 75vh;
}

/* ---------- docs ----------*/

#docs {
	margin: 5rem 2rem 0 2rem;
	padding: 2rem 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	font-size: 4em;
	font-weight: 500;
	color: #dc4011;
	cursor: pointer;
}

#docs img {
	height: 3rem;
	margin-right: 2rem;
}

/* ---------- consult ----------*/

#consult {
	margin: 5rem 0 3rem 0;
}

#form {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

}

#form input {
	min-width: 17rem;
	width: 17rem;
	height: 2.7rem;
	margin: 0 1rem .5rem 0;
	padding: 0 1em;
	font-size: 1.5em;
}

#check-pd {
	font-size: 1.1em;
	font-weight: 100;
	text-align: center;
}

#check-pd input {
	margin-right: .75em;
	transform: scale(1.7);
	accent-color: #471e11
}

#check-pd a {
	color: #dc4011;
	cursor: pointer;
	font-size: 1.1em;
}

#consult-button {
	min-width: 17rem;
	width: 17rem;
	height: 2.7rem;
	margin: 0 1rem .5rem 0;
	padding: 0 1em;
	color: white;
	background-color: #471e11;
	cursor: pointer;
	font-size: 1.1em;
}

input[type="text"].no-value {
	background-color: #fff7f7 !important;
	border: 1px solid red !important;
}

input[type="checkbox"].no-value {
	border: 1px solid red;
}

/* ---------- contacts ----------*/

#contacts {
	margin: 7rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 1.4rem;
	font-weight: 300;
}

#contact-text {
	width: 40rem;
	padding: 1rem;
	line-height: 1.2;
}

#contact-text>div {
	margin-bottom: 2rem;
}

#contacts h4 {
	font-size: 2rem;
	margin-bottom: 2rem;
}

#contact-phones {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 2rem;
}

#map {
	width: 645px;
	height: 405px;
	padding: 3px;
	border: 1px solid lightgray;
	border-radius: 4px;
}

/* ---------- bottom ---------- */

#bottom {
	width: 100%;
	display: flex;
	flex-wrap: wrap;

	padding: 3rem 0;
	color: white;
	background-color: #471e11;
}

#bottom>div {
	padding: 0 2rem;
}

#bottom-logo img {
	width: 10rem;
}

#bottom-menu {
	display: flex;
	flex-wrap: wrap;
	margin-top: 2rem;
}

#bottom-menu>* {
	padding: 0 2rem;
}

#bottom-menu ul {
	list-style-type: none;
	line-height: 2;
	font-size: 1.3rem;
	font-weight: 600;
	text-transform: uppercase;
}

#bottom-menu li {
	cursor: pointer;
	transition: color .3s ease;
}

#bottom-menu li:hover {
	color: #fcef78;
}

#bottom-company {
	font-size: 1rem;
}

#bottom-end {
	margin: 2rem;
	font-size: .9rem;
	width: 100%;
	text-align: right;
}

.sslider-icon {
	user-select: none;
}


/* Окно заявки */

#req-win-Ok,
#req-win-Error {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border: 3px solid #5f200c;
	border-radius: 7px;
	box-shadow: 10px 10px 12px darkgray;
	padding: 2em 4em;
	z-index: 1;
	color: #471e11;
	background-color: white;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
}
.closeButton {
	margin-top: 2rem;
	padding: .4rem 2rem;
	color: white;
	background-color: #5f200c;
	border-radius: 10px;
	cursor: pointer;
	transition: all .3s ease;
}
.closeButton:hover {
	background-color: #b94b2a;
}
/* X */
.modalClose {
	position:absolute;
	top: 5px;
	right: 5px;
	width:25px;
	height:25px;
	cursor:pointer;
	display:flex;
	flex-direction:column;
	justify-content:center
}
.modalClose::before,
.modalClose::after {
	position:absolute;
	content:'';
	width:100%;
	height:2px;
	background-color:#000;
}
.modalClose::before {
	transform:rotate(45deg);
}
.modalClose::after {
	transform:rotate(-45deg)
}
.modalClose:hover::before,
.modalClose:hover::after {
	background-color:Red;
}

/* анимированный кружок загрузки */
.is-loading {
	position: relative;
	color: transparent !important; /* Скрываем текст */
	pointer-events: none;         /* Блокируем клики */
}
.is-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1em;
	height: 1em;
	margin: -8px 0 0 -8px; /* Центрируем */
	border: 2px solid #ffffff;
	border-top-color: transparent;
	border-radius: 50%;
	animation: button-spin 0.8s linear infinite;
}
@keyframes button-spin {
	to { transform: rotate(360deg); }
}


/* -------------------- */

@media(max-width: 1420px) {
	#bottom-logo {
		display: none;
	}

	#bottom-company {
		margin-top: 2rem;
	}
}

@media(max-width: 1250px) {
	#logo {
		display: none;
	}

	/* -------------------- */
	#menu {
		background-color: #471e11;
		justify-content: space-between;
	}

	.menu-item {
		display: none;
	}

	#burger {
		display: flex;
	}
	
	#logo-burger {
		display: block;
	}

	/* -------------------- */
	#present {
		width: 90%;
	}

	#photos-slider {
		margin: 2rem 0 0 0;
		width: 88vw;
		height: 60vh;
	}

}


@media(max-width: 768px) {

	/*#menu {
		position: relative;
	}*/

	#welcome-title {
		font-size: 2rem;
	}

	#welcome-title>div {
		font-size: 2.5rem;
	}

	#welcome-complete {
		font-size: 1.8rem;
	}

	.title {
		font-size: 2rem;
	}

	#docs {
		font-size: 2rem;
	}

	#present {
		width: 100%;
	}

	#photos-slider {
		margin: 2rem 0 0 1rem;
		width: 80vw;
		height: 40vh;
	}

	#check-pd {
		font-size: .9rem;
	}

	#map {
		width: 100%;
		overflow-x: scroll;
		overflow-y: hidden;
	}
}

/* @media(max-width: 768px) { 
	#location img {
		display: none;
	}
}*/
