* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html {
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
body {
	font-family: sans-serif;
}
.special-text {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	color: red !important;
	font-size: 16px !important;
}
.container {
	width: 100%;
	max-width: 1800px;
	margin-inline: auto;
	padding-inline: clamp(20px, 4vw, 80px);
}
img {
	max-width: 100%;
	height: auto;
}
nav {
	position: fixed;
	background-color: #afca0b;
	height: 100px;
	width: 100%;
	z-index: 10;
}
nav a {
	color: #fff;
	text-decoration: none;
	font-size: 28px;
}
nav .nav-item,
nav .nav-item::after,
nav .nav-item::before {
	content: "";
	transition: transform 0.3s;
}
nav .one::after,
nav .two::after,
nav .three::after,
nav .four::after,
nav .five::after,
nav .six::after {
	content: "";
	display: flex;
	left: 0;
	bottom: 0;
	height: 3px;
	width: 100%;
	background-color: #fff;
	transform: scaleX(0);
	transform-origin: right;
}
nav .one:hover::after,
nav .two:hover::after,
nav .three:hover::after,
nav .four:hover::after,
nav .five:hover::after,
nav .six:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}
.desktop-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-inline: clamp(20px, 2.5vw, 60px);
}
.desktop-nav ul {
	display: flex;
	align-items: center;
	gap: clamp(10px, 1.5vw, 34px);
	list-style-type: none;
}
.desktop-nav li {
	margin: 0;
}
.desktop-nav a {
	font-size: clamp(14px, 1.15vw, 22px);
	white-space: nowrap;
}
.desktop-nav .nav-logo {
	flex-shrink: 0;
}
.desktop-nav .nav-logo img {
	margin: 0;
	width: 160px;
	height: 80px;
	object-fit: contain;
}
.nav-img {
	margin-top: -70px;
	height: 100px;
	width: 200px;
}
.burger-nav {
	display: none;
}
.active {
	padding: 0;
	transform: translateX(350px);
}
.hide {
	padding: 0;
	display: none;
}
header .header-img {
	display: flex;
	position: relative;
	height: 100vh;
	background-image: url("img/header-img.jpg");
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
	z-index: 0;
}
header .header-shadow {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
}
header .main-text {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
	height: 90%;
	padding: 10px;
	padding-bottom: 0;
	color: #fff;
}
header .start-h1 {
	font-size: 48px;
	text-transform: none;
}
header .start-p {
	padding-top: 20px;
	padding-bottom: 50px;
	font-size: 30px;
}
header a {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-size: 24px;
	width: 230px;
	height: 65px;
	color: #fff;
	border: none;
	background-color: #587d18;
	cursor: pointer;
	border-radius: 35px;
	text-align: center;
	transition: 0.3s;
}
header a:hover {
	background-color: #3d5710;
}
header i {
	font-size: 25px;
	margin-top: 900px;
	position: absolute;
	color: #fff;
	animation: bounce 1.7s infinite alternate;
}
@keyframes bounce {
	0% {
		transform: translateY(-30px);
	}
	100% {
		transform: translateY(20px);
	}
}
.all-sections {
	padding-bottom: 110px;
}
.sections-h2 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 10px;
	color: #587d18;
	font-size: clamp(30px, 6vw, 50px);
}
.text-style {
	padding: 20px;
}
.under-line {
	display: flex;
	margin: 10px;
	height: 2px;
	width: 70px;
	background-color: #587d18;
	z-index: 5;
}
.upper-line {
	display: flex;
	margin: 10px;
	height: 2px;
	width: 100%;
	background-color: #587d18;
	z-index: 5;
}
.about {
	background-color: #fff;
	font-size: 25px;
	margin-bottom: 100px;
}
.about .bold {
	color: #587d18;
	font-weight: bold;
}
.about .info-img {
	border-radius: 0;
}
@media (min-width: 1401px) {
	.about .info-row {
		gap: 30px;
		padding: 15px 0;
	}
	.about .info-text {
		width: calc(45% - 15px);
	}
	.about .info-img {
		width: calc(55% - 15px);
	}
}
.about-closing {
	max-width: 1000px;
	margin-inline: auto;
	padding-top: 30px;
	text-align: center;
	font-size: 25px;
}
.around-section {
	background: linear-gradient(
		135deg,
		rgb(248, 250, 243) 0%,
		rgb(248, 250, 243) 50%,
		rgb(232, 242, 229) 50%,
		rgb(232, 242, 229) 100%
	);
	clip-path: polygon(0, 100% 19%, 100% 100%, 0 100%);
}
.around-element {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 60px;
	padding: 30px 0;
}
.text-style-around {
	font-size: 25px;
	width: 55%;
}
.around-txt {
	padding-left: 8%;
}
.around-box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.around-box img {
	width: 45%;
	aspect-ratio: 2/1;
	height: auto;
	object-fit: cover;
	border-radius: 15px;
}
.objects {
	padding: 20px 0;
	margin: 0;
}
.objects ul {
	padding: 10px 20px;
}
.buildings {
	display: flex;
	justify-content: space-between;
}
.buildings img {
	border-radius: 50%;
	width: 200px;
	height: 200px;
}
.buildings-info {
	width: 100%;
}
.buildings {
	padding: 20px 0;
	font-size: 25px;
	width: 100%;
}
.object-h2 {
	padding-bottom: 20px;
	color: #587d18;
	font-size: 36px;
}
.buildings-box {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	align-items: start;
	gap: 60px;
	width: 100%;
}
.img-box-ob {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
}
.img-box-ob img {
	width: 100%;
	height: auto;
	aspect-ratio: 3/2;
	object-fit: cover;
}
.twice-img {
	display: contents;
}
.first-img {
	grid-column: 1/-1;
	order: -1;
}
.info-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 60px;
	padding: 30px 0;
}
.info-row-reverse .info-img {
	order: -1;
}
.info-text {
	font-size: 25px;
	width: 55%;
}
.info-img {
	width: 45%;
	aspect-ratio: 2/1;
	height: auto;
	object-fit: cover;
	border-radius: 15px;
	background-color: #e8f2e5;
}
#accomodation,
#food {
	background-color: #fff;
}
#medic {
	background-color: #f8f9f4;
}
.gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	padding: 30px 0;
}
.gallery-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gallery-img {
	width: 100%;
	aspect-ratio: 3/2;
	height: auto;
	object-fit: cover;
	border-radius: 15px;
	background-color: #e8f2e5;
}
#map {
	background-color: #f1f1f1;
}
.map-text {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 25px;
}
.map-img {
	display: flex;
	justify-content: center;
	align-items: center;
}
.map-img img {
	width: 100%;
	max-width: 800px;
	height: auto;
	cursor: pointer;
}
.map-info {
	padding-top: 25px;
	text-align: center;
	font-size: 18px;
	text-decoration: underline;
}
.price-section {
	background-color: #f8f9f4;
}
.price-arr {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.price-title {
	padding: 30px;
	font-size: 30px;
}
.title-box {
	display: flex;
	padding: 1px;
}
.title-box h2 {
	padding: 10px;
}
.price-element {
	text-align: center;
	width: 350px;
	height: 100px;
	background-color: #81a200;
	font-size: 25px;
	padding: 20px;
	text-transform: uppercase;
}
.price-of {
	margin: 5px;
}
.number-people {
	margin: 5px;
	width: 350px;
}
.price-info {
	display: flex;
	padding: 5px;
}
.price-box {
	padding: 5px;
}
.info-box {
	display: flex;
	flex-direction: column;
	padding: 5px;
}
.price-txt {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding-top: 30px;
	font-size: 20px;
}
.price-txt p {
	align-self: start;
	padding: 20px 0;
}
.price-contact {
	text-decoration: none;
	color: red;
}
.under {
	display: flex;
	align-items: center;
	padding: 30px 0;
}
.under h2 {
	font-size: 36px;
	color: #587d18;
}
.under p {
	font-size: 25px;
	padding: 20px;
}
.booking h2 {
	width: 400px;
}
#contact {
	padding-bottom: 35px;
}
#contact h1 {
	font-size: 50px;
}
#contact .contact-h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 36px;
	padding: 40px;
	color: #587d18;
	text-align: center;
}
#contact .text-style {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 600px;
	height: 210px;
}
#contact .info-contact-box {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: start;
	gap: 40px 24px;
	padding-top: 50px;
}
#contact i {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	font-size: 30px;
	background-color: #fad200;
	color: #fff;
	border-radius: 50%;
	cursor: pointer;
	transition: box-shadow 1s ease;
}
#contact i:hover {
	border-radius: 50%;
	box-shadow: 0px 0px 100px #fad200;
}
#contact p {
	padding: 10px;
	text-align: center;
	font-size: clamp(17px, 1.3vw, 24px);
	overflow-wrap: anywhere;
}
#contact .a {
	padding: 10px;
}
#contact a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	font-size: clamp(17px, 1.3vw, 24px);
	color: #998211;
	transition: 0.4s;
}
#contact a:hover {
	color: #fad200;
}
#contact .contact-icon {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}
#contact .contact-icon i {
	font-size: 30px;
	width: 50px;
	height: 50px;
}
#contact {
	background: linear-gradient(
		-135deg,
		rgb(248, 250, 243) 0%,
		rgb(248, 250, 243) 50%,
		rgb(232, 242, 229) 50%,
		rgb(232, 242, 229) 100%
	);
	clip-path: polygon(0, 100% 19%, 100% 100%, 0 100%);
}
.contact-img {
	display: flex;
	align-items: end;
	gap: 20px;
	padding-top: 120px;
}
.contact-img img {
	display: flex;
	align-self: end;
}
.contact-img .img-one {
	width: 100px;
	height: 100px;
}
.contact-img .img-two {
	width: 100%;
	max-width: 620px;
	height: auto;
	padding-bottom: 10px;
}
.about-me h2 {
	display: flex;
	flex-direction: column;
}
.about-me .inscription {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: normal;
	padding: 15px;
	text-align: justify;
	letter-spacing: 1px;
	width: 600px;
	font-size: 30px;
}
.about-me .me-info {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 20px;
}
.about-me .about-me-box {
	display: flex;
	padding-top: 30px;
}
footer {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 24px;
	color: #fff;
	background-color: #587d18;
	height: 100px;
	width: 100%;
}
.footer-info-box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.footer-info p {
	margin-top: 35px;
}
.about-author-info {
	display: flex;
	align-self: start;
	padding: 10px;
	font-size: 15px;
}
.about-author-info a {
	color: #fff;
}
@media (max-width: 1400px) {
	.around-element {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 100%;
	}
	.around-element p {
		text-align: left;
		width: 75%;
	}
	.text-style-around {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.objects {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.buildings-box {
		flex-wrap: wrap;
	}
	.buildings {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.around-txt {
		padding: 8% 0;
	}
	.around-element,
	.around-box {
		width: 100%;
	}
	.text-style-around {
		padding: 30px 0 30px 0;
		font-size: 25px;
		width: 100%;
	}
	.around-box img {
		width: 100%;
		max-width: 600px;
	}
	.around-element {
		padding: 10px 0;
	}
	.info-row {
		flex-direction: column;
		padding: 10px 0;
	}
	.info-row-reverse .info-img {
		order: 0;
	}
	.info-text {
		width: 100%;
	}
	.info-img {
		width: 100%;
		max-width: 600px;
	}
	.gallery-3 {
		grid-template-columns: 1fr;
		justify-items: center;
	}
	.gallery-3 .gallery-img {
		max-width: 600px;
	}
	#contact .contact-h2 {
		text-align: left;
	}
	.contact-img {
		display: flex;
		justify-content: start;
		align-items: start;
		flex-wrap: wrap;
		padding: 0;
	}
}
@media (max-width: 1200px) {
	#contact .info-contact-box {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-evenly;
		align-items: flex-start;
	}
	#contact .contact-icon {
		flex: 0 1 260px;
	}
	.desktop-nav {
		display: none;
	}
	.burger-nav {
		display: block;
		position: fixed;
	}
	.burger-nav ul {
		display: flex;
		flex-direction: column;
		justify-content: start;
		padding-top: 50px;
		position: absolute;
		height: 100vh;
		width: 350px;
		left: -350px;
		list-style: none;
		background-color: #fff;
		overflow-y: auto;
		transition: transform 0.3s;
		z-index: 10;
	}
	.burger-nav li {
		margin: 0;
	}
	.burger-nav a {
		display: block;
		padding: 8px 30px;
		font-size: 24px;
		color: #587d18;
		text-decoration: none;
	}
	.burger-nav a:hover {
		font-weight: bold;
	}
	.burger {
		position: absolute;
		top: 0;
		right: 0;
		padding: 30px 20px;
		font-size: 36px;
		background: none;
		border: none;
		cursor: pointer;
		color: #587d18;
		transition: transform 0.3s;
		z-index: 20;
	}
	.active {
		transform: translateX(350px);
	}
	.hide {
		display: none !important;
	}
	nav .nav-img {
		margin-top: -10px;
		margin-left: -30px;
		height: 100px;
		width: 200px;
	}
	header .main-text {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 80%;
	}
	header .start-h1 {
		font-size: 40px;
	}
	header .start-p {
		font-size: 28px;
		padding-bottom: 20px;
	}
	header a {
		font-size: 24px;
	}
}
@media (max-width: 992px) {
	header .main-text {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 95%;
	}
	header .start-h1 {
		font-size: 36px;
	}
	header .start-p {
		font-size: 24px;
	}
	header a {
		font-size: 20px;
	}
	header i {
		margin-top: 550px;
	}
	#about {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.around-box {
		width: 100%;
	}
	.object-h2 {
		text-align: center;
	}
	.objects {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0;
	}
	.buildings-box {
		display: grid;
		grid-template-columns: 1fr;
		justify-items: center;
		width: 100%;
	}
	.buildings,
	.price-arr {
		width: 100%;
	}
	.price-under {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 100%;
	}
	.deadlines,
	.booking {
		display: flex;
		flex-direction: column;
	}
	.under {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0;
	}
	.under h2 {
		padding-left: 25px;
		align-self: start;
		width: 90%;
	}
	.under p {
		padding: 20px 25px;
	}
	.booking-txt {
		align-self: start;
		width: 90%;
	}
	.info-box,
	.price-box {
		display: flex;
		flex-direction: column;
	}
}
@media (max-width: 768px) {
	.info-text,
	.about-closing {
		font-size: 20px;
	}
	html p,
	html li {
		font-size: 20px;
	}
	html .about-author-info p {
		font-size: 15px;
	}
	.under p {
		font-size: 20px;
	}
	.contact-img {
		padding: 10px 0;
	}
	.contact-img .img-two {
		width: 90%;
		height: 90%;
	}
	.map-img {
		width: 100%;
	}
	.map-img img {
		width: 90%;
		height: 90%;
	}
	.gallery,
	.img-box-ob {
		grid-template-columns: 1fr;
	}
	.gallery-3 .gallery-img {
		max-width: none;
	}
	.around-box img,
	.info-img {
		width: 100%;
		max-width: none;
		height: auto;
		aspect-ratio: 4/3;
	}
	.title-box {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.price-info {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 20%;
	}
	.price-element {
		padding: 10px;
		width: 160px;
		height: 100px;
		font-size: 15px;
	}
	.title-box h2 {
		font-size: 23px;
	}
}
@media (max-width: 576px) {
	header .main-text {
		height: 100%;
	}
}
