h2, h3, .h2, .h3 {
    margin-top: 70px;
    margin-bottom: 35px;
    padding: 0;
}

.block-title {
    font-size: 28px;
    font-weight: bold;
    color: var(--main-color);
}

.border-1 {
    border-radius: 8px;
}

.text-up {
    font-size: 1.25em;
}

.b-hero {
    position: relative;
    display: flex;
    align-items: center;
    padding-inline: 56px;
    height: 397px;
    border-radius: 8px;
    background: #51abcc no-repeat center/cover url(/images/sozdanie-sajta-kurort/bg_top.jpg);
}
.b-hero__title {
    max-width: 650px;
    text-wrap: balance;
    font-size: 42px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}
.b-hero__img {
    margin-left: auto;
    margin-top: 90px;
}
@media (width <= 767.98px) {
    .b-hero {
        height: auto;
        padding: 40px 20px;
        background-position-x: 70%;
    }
    .b-hero__title {
        max-width: calc(100% - 130px);
        font-size: 24px;
    }
    .b-hero__img {
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        width: 120px;
        margin: 0;
        padding: 8px;
    }
}

.b-form-bronir {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 550px;
}
.b-form-bronir__item {
    position: relative;
    border-radius: 8px;
    padding: 20px 25px;
    background-color: #e9f5fb;
}
.b-form-bronir__item-title {
    margin-bottom: 30px;
    font-size: 32px;
    font-weight: 600;
}
.b-form-bronir__item-text {
    font-size: 15px;
}
.b-form-bronir__item-logo {
    position: absolute;
    top: 20px;
    right: 24px;
    margin-left: 270px;
}

.b-food-images {
    margin-top: 30px;
    display: flex;
}
.b-food-images__item:nth-child(2) {
    margin-left: -190px;
}


.b-video-obraz {
	display: grid;
	grid-template-columns: 9fr 5fr;
	grid-template-areas: "a b" "a c";
	gap: 33px 40px;
}
.b-video-obraz__item:nth-child(1) {
	grid-area: a;
}
.b-video-obraz__item:nth-child(2) {
	grid-area: b;
}
.b-video-obraz__item:nth-child(3) {
	grid-area: c;
}
.b-video-obraz__item img {
	max-width: unset;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	border-radius: 16px;
}
.b-video-obraz__item a {
	position: relative;
	display: block;
}
.b-video-obraz__item a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 34px;
	height: 38px;
	background: no-repeat url(/images/sozdanie-sajta-kurort/play.png);
}
@media (width <= 767.98px) {
    .b-video-obraz {
        grid-template-columns: 1fr;
        grid-template-areas: "a" "b" "c";
    }
}

.b-widget-pogoda {
	float: right;
}
@media (width <= 1199.98px) {
    .b-widget-pogoda {
        float: none;
    }
}

.b-site-obj-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.b-site-obj {
	position: relative;
	border-radius: 8px;
    overflow: hidden;
	padding: 0 20px 70px;
}
.b-site-obj__img {
	margin-inline: -20px;
}
.b-site-obj__img img {
	width: 100%;
}
.b-site-obj__content {
	padding-inline: 20px;
}
.b-site-obj__title {
	margin-top: -30px;
	margin-bottom: 25px;
	font-size: 20px;
	font-weight: 600;
	color: #fff;
}
.b-site-obj__text {
	bottom: 85px;
	font-size: 14px;
	color: #fff;
}
@media (width <= 991.98px) {
	.b-site-obj-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (width <= 575.98px) {
	.b-site-obj-grid {
		grid-template-columns: 1fr;
	}
}

.b-site-obj_gr {
	background-color: #A6BACB;
}

.b-site-obj_cy {
	background-color: #4FABCA;
}

.b-text-panel {
    position: relative;
}
.b-text-panel__img {
    max-width: fit-content;
    margin-left: auto;
}
.b-text-panel__img img {
    border-radius: 8px;
}
.b-text-panel__text {
    max-width: 500px;
    border-radius: 16px;
    position: absolute;
    top: 90px;
    left: 0;
    padding: 35px 42px;
    background-color: #fff;
    border: 1px dashed #000;
}
@media (width <= 767.98px) {
    .b-text-panel__text {
        position: static;
        margin-bottom: 20px;
        max-width: unset;
    }
}