#sli@-ms-viewport {
	width: device-width;
}


html,
	body {
		margin:0px;
		padding:0px;
		position:relative;
		color:#54585a;
}
html {
	min-width:100%;
	height:100%;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ul.menu,
	ul.xmenu {
		margin:0px;
		padding:0px;
		list-style:none;
		display:flex;
		flex-direction:column;
}
ul.menu.fd-row{
	flex-direction:row;
}
ul.menu > li{
	display:block;
}

*,
	.xfix:after,
	.xfix:before {
		outline: none;
		background-repeat:no-repeat;
		-webkit-text-size-adjust: none;
		box-sizing:border-box;
		line-height:1.35em;
}
form.waiting input[type=submit]{
	cursor:progress;
	filter:grayscale(1);
}
img {
	max-width:100%;
	max-height:100%;
	height:auto;
}
span img {
	display:block;
}
*, 
	::after, 
	::before {
		transition:
			height 0.4s,
			max-height 0.4s,
			background-color 0.4s,
			max-width 0.4s,
			opacity 0.4s
		;
}
/*colors*/
:root {
	--basic:#bac5b9;
	--link: #4D5A6A;
	--linkHover: #000000;
	--red: #FF0000;
	--green: #008800;
	--smblue:#4885c4;
}
/*fonts*/
a{
	color:var(--link);
	text-decoration:none;
}
a:hover {
	color:var(--linkHover);
	cursor:pointer;
}
.strong {
	font-weight:bolder;
}
.uppercase {
	text-transform:uppercase;
}
.align-right {
	text-align:right;
}
h1 {
	font: 500 37px/1 Gotham,sans-serif;
	letter-spacing: -.5px;
	margin-bottom: 0px;
	text-align: center;
	margin-top:37px;
}

h2 {
	font-family: Cinzel,sans-serif;
	font-size: 38px;
	letter-spacing: 2.44px;
	text-align: left;
	font-weight: 700;
	margin-bottom: 23px;
	line-height: 55px;
	margin-top: 0;
}

h3 {
	display: block;
	font-size: 21px;
	line-height: 25px;
	text-transform: uppercase;
	letter-spacing: 1.79px;
	text-align: left;
	margin-bottom: 9px;
	font-weight: 400;
	margin-top: 0;
}



h4 {
	position: relative;
	font-size: 24px;
	line-height: 36px;
	letter-spacing: .48px;
	font-family: Cinzel,sans-serif;
	text-transform: capitalize;
	margin-bottom: 0;
	color: #5d7975;
	text-align: center;
	padding: 20px 10px 25px;
	transform: translateY(0);
	transition: .35s ease-in-out;
	z-index: 2;
}

h5 {}

h6 {
	text-align: center;
	font-family: Gotham,sans-serif;
	font-weight: lighter;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 1.19px;
	margin-bottom: 30px;
	margin-top: 20px;
}

p{
	font-family: Gotham-Book,sans-serif;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 1.19px;
	text-align: left;
	font-weight:400;
}

label{cursor:pointer;}
.lazy-container {
	display:inline-block;
	height:0px;
	padding-bottom:50%;
	width:100%;
	overflow:hidden;
}
.lazy-container > img {
	width:100%;
	max-height:none;
}
.video-container {
	position:relative;
	padding-bottom:56.25%;
	padding-top:30px;
	height:0px;
	overflow:hidden;
}
.video-container iframe,
	.video-container object,
	.video-container embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
.container-img:empty {
	background-image:url('../images/no-image.jpg.webp');
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
}
/*buttons*/
.button{
	border:0px;
	border-bottom:0px solid transparent;
	border-radius:0px;
	color:#000000;
	text-decoration:none !important;
	display:inline-block;
	padding:0px 14px;
	text-align:center;
	text-transform:uppercase;
	line-height:32px;
	font-size:14px;
	cursor:pointer;
	white-space:nowrap;
	background-color:#ffffff;
	border-color:#bac5b9;
	font-family: Cinzel,sans-serif;
}

.button:hover{
	background-color:#bac5b9;
	border-color:#bac5b9;
}
.button:visited {
	background-color:#008acf88;
	border-color:#084e7188;
}
.button.block {
	display:block;
}
.button.small {
	line-height:18px;
}
.button.middle {
	line-height:42px;
	margin-right: 0;
	font-size: 17px;
	line-height: 23px;
	letter-spacing: .64px;
	padding: 8px 40px;
	border-width: 1px;
	font-weight: lighter;
  background-color: #bac5b9;
  border: 0.5px solid transparent;
}
.w-80 {
	width: 95%;
}
.button.middle:hover{
	 background-color:#fff;	
   border: 0.5px solid var(--basic);
}

.button.big {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 24px 35px;
	min-width: 260px;
	overflow: visible;
	color: #131212;
	background: #bac5b9;
	border: 1px solid #bac5b9;
	font-size: 17px;
	line-height: 23px;
	font-family: Cinzel,sans-serif;
	letter-spacing: .64px;
	-moz-text-align-last: auto;
	text-align-last: auto;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	transition: .35s ease-in-out;
	width: 358px;
}

.button.big:hover{
	background-color:#fff !important;
	border: 0.5px solid var(--basic);
}

.card{
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	background-color: #fff;
	background-clip: border-box;
	border: 1px solid rgba(0,0,0,.125);
	border-radius: .25rem;
}
.card-text{white-space: normal !important;}

/*inputs*/
input,textarea {
	resize:none;
}
input[type=text],
	input[type=url],
	input[type=tel],
	input[type=number],
	input[type=password],
	input[type=email] {
		/*box-shadow:0px 0px 5px #C0C0C0 inset;*/
		padding:3px 4px;
}
input[type=text],
	input[type=url],
	input[type=tel],
	input[type=number],
	input[type=email] {
		height:38px;
		
}
select {
	box-shadow:0px 0px 5px #C0C0C0 inset;
	padding:3px 4px;
	height:38px;
}
textarea {
	font-size-adjust:0.55;
	border:1px solid #BFBFBF;
	/*box-shadow:0px 0px 5px #C0C0C0 inset;*/padding:5px 6px;
}
input.error,textarea.error,select.error {
	border-color:#FF0000 !important;
	background-color:#FFE5E5;
}
/************************/
@media (max-width:319px) {
	body > * {
		display:none !important;
	}
	body:before {
		content:"Resolution is too small. please enter from other device.";
		display:block !important;
		padding:10px 10px;
		text-align:center;
	}
}
/*** Styles added to fix the issue with zoom in on iphone ***/
/* iPhone < 5: */
@media screen and (device-aspect-ratio: 2/3) {
	select, textarea, input[type="text"], input[type="password"],
	input[type="datetime"], input[type="datetime-local"],
	input[type="date"], input[type="month"], input[type="time"],
	input[type="week"], input[type="number"], input[type="email"],
	input[type="url"] {
		font-size: 16px;
	}
}
/* iPhone 5, 5C, 5S, iPod Touch 5g */
@media screen and (device-aspect-ratio: 40/71) {
	select, textarea, input[type="text"], input[type="password"],
	input[type="datetime"], input[type="datetime-local"],
	input[type="date"], input[type="month"], input[type="time"],
	input[type="week"], input[type="number"], input[type="email"],
	input[type="url"] {
		font-size: 16px;
	}
}
/* iPhone 6, iPhone 6s, iPhone 7 portrait/landscape */
@media screen and (device-aspect-ratio: 375/667) {
	select, textarea, input[type="text"], input[type="password"],
	input[type="datetime"], input[type="datetime-local"],
	input[type="date"], input[type="month"], input[type="time"],
	input[type="week"], input[type="number"], input[type="email"],
	input[type="url"] {
		font-size: 16px;
	}
}
/* iPhone 6 Plus, iPhone 6s Plus, iPhone 7 Plus portrait/landscape */
@media screen and (device-aspect-ratio: 9/16) {
	select, textarea, input[type="text"], input[type="password"],
	input[type="datetime"], input[type="datetime-local"],
	input[type="date"], input[type="month"], input[type="time"],
	input[type="week"], input[type="number"], input[type="email"],
	input[type="url"] {
		font-size: 16px;
	}
}

.tabs {
  display: block;
}

.tab-buttons {
  display: flex;
  margin-bottom: 20px; /* Отступ между кнопками табов и контентом */
    flex-wrap: wrap; /* Позволяет кнопкам табов переноситься на новую строку на маленьких экранах */

}

.tab-button {
  padding: 10px;
  background-color: #f0f0f0;
  color: black;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  margin-right: 5px; /* Отступ между кнопками */
  flex-grow: 1; /* Равномерное распределение кнопок на доступном пространстве */
}

.tab-button:hover,
.tab-button.active {
  background-color: #ddd;
  border-bottom: 1px solid green; /* Зеленая рамка для активного таба */
}

.tab-content {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.tab-pane {
  display: none;
  padding: 20px;
  border: 1px solid #ddd;
  width: 100%;
}

.tab-pane.active {
  display: flex;
}
/*Блоки внутри */
.container_menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  padding: 0 15px;
}

.block {
  flex-basis: 100%; /* Full width on mobile devices */
  max-width: 100%;
  box-sizing: border-box;
  padding: 15px;
  text-align: center; /* Center the text */
}

.block-image {
  max-width: 100%;
  height: auto;
  margin-bottom: 15px; /* Space between image and text */
}

.block-text {
  font-size: 16px;
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .block {
    flex-basis: calc(50% - 30px); /* Two blocks per row with padding */
    max-width: calc(50% - 30px);
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .block {
    flex-basis: calc(33.333% - 30px); /* Three blocks per row with padding */
    max-width: calc(33.333% - 30px);
  }
}

/* Стили для блоков и модального окна остаются прежними */
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
}

.modal-content {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
}

.close {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
  transition: 0.3s;
}

.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}
/* ... */
/* Затемнённый фон, скрыт по умолчанию */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* Содержимое окна */
.modal-content {
  background: #fff;
  border-radius: 10px;
  padding: 30px 20px;
  width: 90%;
  max-width: 400px;
  position: relative;
  text-align: center;
}

/* Крестик */
.modal-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 24px;
  color: #888;
  cursor: pointer;
}

/* Опции */
.modal-options {
  list-style: none;
  padding: 0;
  margin: 0;
}

.modal-options li {
  margin: 15px 0;
}

.modal-options a {
  text-decoration: none;
  color: #007BFF;
  font-size: 1.2rem;
  transition: color 0.3s;
}

.modal-options a:hover {
  color: #0056b3;
}

/* Показать модалку, если чекбокс включён */
#modal-toggle:checked + label + .modal {
  display: flex;
}

/* Модальное окно Телефон */
.modal-overlay {
  display: none;
}
@media (max-width: 768px) {
  .modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    justify-content: center;
    align-items: center;
  }

  .modal-overlay:target {
    display: flex;
  }

  .modal-content {
    position: relative;
    background: #fff;
    padding: 23px;
    border-radius: 12px;
    max-width: 90%;
    text-align: center;
    font-size: 18px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
  }
	.modal-content a {
	margin-bottom: 10px;
	}

  .modal-close {
    position: absolute;
    top: 10px;
    right: 12px;
    font-size: 24px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
  }

  .modal-close:hover {
    color: red;
  }

  .booking-trigger {
    display: inline-block;
    padding: 12px 20px;
    background-color: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
    font-weight: bold;
  }
}
