@media(min-width:1151px) {
	.animate--height.animate::before {
		height: 0;
	}
	.animate--width.animate::before {
		width: 0;
	}
	.animate--height::before, 
	.animate--width::before {
		transition: all ease-in-out 850ms;
		content: '';
		position: absolute;
		height: 100%;
		width: 100%;
		background-color: #292827;
		bottom: 0;
		right: 0;
		z-index: 2;
	}
	.animate--height, 
	.animate--width {
		position:relative;
	}
}
@media(min-width:992px) {
	.header--logo:not(.header--logo-scrolled) {
		left: 50%;
		transform: translateX(-50%);
	}
}
@media(max-width:1550px) {
	.template--the-villa__amenities {
		margin-top: 80px;
	}
	.template--the-villa__amenities .section--title {
		margin-bottom: 60px;
	}
	.template--the-villa__amenities .content .text.editor ul {
		column-gap: 70px;
	}
	.template--the-villa__information {
		column-gap: 40px;
		margin-top: 40px;
	}
	.gallery--categories-wrapper {
		margin-top: 80px;
	}
	.gallery--categories-wrapper .section--title {
		margin-bottom: 20px;
	}
	.section--title, .h2, h2 {
		font-size: 22px;
	}
	.gallery--categories-wrapper .owl-carousel a {
		height: 550px;
	}
	.gallery--categories-wrapper .gallery--categories-main:not(:last-child) {
		margin-bottom: 70px;
	}
	.template--the-villa__information .single .icon {
		width: 70px;
		height: 70px;
	}
	.template--the-villa__information .single {
		font-size: 16px;
	}
	h1, .h1 {
		font-size: 50px;
	}
	.oel-3columns--wrapper, .oel--wrapper {
		margin-top: 75px;
	}
	.text--on-image-preview__card .image {
		height: 525px;
	}
	.text--on-image-preview__card:nth-child(2) .image {
		height: 450px;
	}
	#testimonials .col--left .image {
		height: 540px;
	}
	#testimonials .testimonials--actions {
		margin-top: 50px;
	}
	#testimonials .cols .col--right .section--title {
		margin-bottom: 50px;
	}
	#footer {
		margin-top: 80px;
	}
	#footer.style_1 .footer--cols {
		padding-inline: 0;
	}
	#footer.style_1 .contact--list.style_1 {
		margin-bottom: 70px;
	}
	.sub-footer.style_1 {
		margin-top: 100px;
	}
	#testimonials {
		margin-top: 90px;
	}
	.gallery--wrapper .gallery--content.grid a {
		height: 540px;
	}
	#hero.style_4 .content {
		bottom: 80px;
		width: 90vw;
	}
	.left--right-wrapper .cols .col--left .inner {
		max-width: 100%;
		padding-inline: 60px 80px;
	}
	.left--right-wrapper .cols .col--left .inner .section--title {
		margin-bottom: 20px;
	}
	ul:not([class]) {
		row-gap: 8px;
	}
	#location-map {
		height: 550px;
	}
	#hero.smaller .image {
		height: 400px;
	}
	#hero.smaller {
		min-height:400px;
	}
	#hero .owl-item.active .image img {
		transform: translateY(-35px) scale(1.2);
	}
	.template--contact-wrapper {
		margin-top:60px;
	}
	.template--contact-header.style_1 {
		margin-bottom: 60px;
	}
	.template--contact-header.style_1 .template--contact-header__flex {
		padding-bottom: 50px;
	}
	.template--contact-main__header .section--title {
		margin-bottom: 30px;
	}
	.contact--form-map {
		margin-top: 70px;
	}
	#contact-map {
		height: 550px;
		margin-top: 40px;
	}
	.nagivation--wrapper .navigation {
		margin-bottom: 40px;
	}
	.nagivation--wrapper {
		padding: 115px 50px 50px;
		width: 475px;
		overflow-x: hidden;
		overflow-y: auto;
	}
	.menu--contact.contact--list {
		row-gap: 20px;
		margin-bottom: 40px;
	}
	.nagivation--wrapper .socials--list {
		margin-bottom:0;
	}
}
@media(max-width:1150px) {
	#footer {
		position:relative;
	}
	.be--on-holidays {
		text-align: center;
	}
	#footer.style_1 .footer--cols .col--right {
		max-width: 700px;
		min-width: 700px;
	}
	.oel--wrapper.overflow-visible .container--full {
		max-width: 90vw;
	}
	.oel--wrapper .owl-carousel .image {
		height: 500px;
	}
	#footer.style_1 .footer--cols {
		flex-direction: column;
		row-gap: 40px;
		justify-content: center;
		align-items: center;
	}
	#footer.style_1 .navigation {
		display: none;
	}
	#footer.style_1 {
		padding-block: 40px 20px;
	}
	.sub-footer.style_1 {
		margin-top: 50px;
	}
}
@media(max-width:991px) {
	.gallery--wrapper .owl-carousel a {
		height: 500px;
	}
	.template--the-villa__amenities .content .text.editor ul {
		column-gap: 30px;
	}
	.location--map-wrapper {
		flex-direction: column;
		row-gap: 40px;
	}
	#location-map {
		height: 450px;
	}
	.gallery--wrapper .gallery--content.grid a {
		height: 400px;
	}
	h1, .h1 {
		font-size: 40px;
	}
	#hero.style_1 .owl-dots {
		bottom:40px;
	}
	#hero.style_1 .content {
		bottom: 80px;
	}
	.oel-3columns--wrapper .loop {
		grid-template-columns: 1fr;
	}
	.text--on-image-preview__card .image {
		height: 425px;
	}
	#testimonials.style_1 .cols {
		grid-template-columns: 1fr;
		row-gap: 50px;
	}
	#testimonials .cols .col--right {
		margin-inline: auto;
		text-align: center;
	}
	#testimonials .testimonials--actions {
		justify-content: center;
	}
	.oel-3columns--wrapper .loop, .oel--wrapper .carousel--parent {
		margin-top: 60px;
	}
	#footer.style_1 .footer--cols .col--right {
		max-width: 100%;
		min-width: unset;
		width:100%;
	}
	.nagivation--wrapper {
		padding: 120px 35px 40px;
	}
	.nagivation--wrapper .navigation {
		margin-bottom: 40px;
	}
	.nagivation--wrapper .main--menu li a {
		font-size: 20px;
	}
	.nagivation--wrapper .main--menu {
		row-gap: 12px;
	}
	.menu--contact.contact--list {
		row-gap: 20px;
		margin-bottom: 40px;
	}
	.left--right-wrapper .cols {
		display: block;
	}
	.left--right-wrapper .cols .col--left {
		margin-bottom: 40px;
	}
	.left--right-wrapper {
		margin-top: 50px;
	}
	.left--right-wrapper .cols .image {
		height: 400px;
	}
}
@media(max-width:767px) {
	#header.style_1 .header--content .col--left {
		display: none;
	}
	#fixed--book-button:not(.active) {
		transform: translateX(100px);
	}
	#fixed--book-button {
		position: fixed;
		bottom: 40px;
		right: 15px;
		z-index: 10;
		border-radius: 50%;
		transition: all linear 400ms;
		border: 1px solid var(--cta_color);
		background-color: var(--cta_bg);
		color: var(--cta_color);
		width: 85px;
		height: 85px;
		font-weight: 700;
		line-height: 1.1;
		text-align: center;
		font-size: 14px;
		text-transform: uppercase;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 10px;
	}
	.has--mobile-gallery .owl-carousel:not(.mobile) {
		display: none;
	}
	.has--mobile-gallery .owl-carousel.mobile {
		display: block;
	}
	body.page-template-default .header--logo:not(.header--logo-scrolled),
	body.page-template-template-contact .header--logo:not(.header--logo-scrolled) {
		top: 90px;
		transform: translateX(-50%);
	}
	body.page-template-template-contact #hero .content {
		bottom: 60px;
	}
	.be--on-holidays {
		margin-top: 20px;
	}
	#testimonials .col--left {
		display: none;
	}
	.template--contact-header.style_1 .template--contact-header__flex .contact--list {
		grid-template-columns: 1fr;
	}
	.template--contact-header.style_1 .template--contact-header__flex {
		flex-direction: column;
		row-gap: 20px;
	}
	.contact--list.style_3 li a, .contact--list.style_3 li span {
		justify-content: center;
		align-items: center;
		text-align: center;
		margin-inline: auto;
	}
	.template--contact-header.style_1 .template--contact-header__flex {
		padding-bottom: 30px;
	}
	.template--contact-wrapper {
		margin-top: 50px;
	}
	.template--contact-header.style_1 {
		margin-bottom: 40px;
	}
	.contact--form .contact--form-item__double {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	.contact--form-map .inner--flex {
		flex-direction: column;
		row-gap: 20px;
		text-align: center;
	}
	#contact-map {
		height: 380px;
	}
	.contact--form > div:not(:last-child) {
		margin-bottom: 15px;
	}
	#hero.style_4 .content .subtitle {
		font-size: 16px;
	}
	.left--right-wrapper .cols .col--left .inner {
		padding-inline: 25px;
		width:100%;
	}
	#hero.style_1 .content {
		max-width: 90vw;
		bottom: 90px;
		width: 100%;
	}
	h1, .h1 {
		font-size: 30px;
	}
	.section--title, .h2, h2 {
		font-size: 22px;
	}
	.oel-3columns--wrapper, .oel--wrapper {
		margin-top: 60px;
	}
	.container--large,
	.container--full,
	.container {
		padding-inline: 25px;
		max-width:100%;
	}
	.oel--wrapper .owl-carousel .image {
		height: 300px;
	}
	.slider--controls > span {
		width: 40px;
		height: 40px;
	}
	.text--on-image-preview__card .image {
		height: 380px;
	}
	.oel-3columns--wrapper .loop, .oel--wrapper .carousel--parent {
		margin-top: 50px;
	}
	#testimonials.style_1 .cols {
		display:block;
	}
	#testimonials .cols .col--right {
		margin-top:50px;
	}
	#testimonials .col--left .image {
		height: 340px;
	}
	.footer--logo {
		width: 180px;
		height: 110px;
	}
	#footer.style_1 .footer--cols {
		row-gap:55px;
	}
	.contact--list.style_1 li .contact--item-title {
		font-size: 16px;
	}
	.contact--list li a {
		font-size: 15px;
	}
	.footer--socials-back__wrapper {
		flex-direction: column;
		row-gap: 25px;
	}
	.sub-footer.style_1 {
		margin-top: 25px;
		flex-direction: column;
		text-align: center;
		justify-content: center;
		align-items: center;
		row-gap: 10px;
	}
	#footer.style_1 .contact--list.style_1 {
		margin-bottom: 50px;
	}
	#footer {
		margin-top: 50px;
	}
	.sub-footer .license--number {
		order: 1;
	}
	.sub-footer .copyright {
		order:2;
	}
	.sub-footer .created-by {
		order:3;
	}
	#header.style_4 .col--right .cta--border {
		display:none;
	}
	#header.style_4 .col--right-inner {
		padding: 20px;
	}
	#header.style_4 {
		padding-left: 20px;
	}
	.nagivation--wrapper {
		width: 90vw;
		padding: 120px 35px 40px;
		overflow-x: hidden;
		overflow-y: auto;
	}
	.nagivation--wrapper .socials--list {
		margin-bottom: 0;
	}
	.gallery--wrapper .gallery--content.grid {
		grid-template-columns:repeat(2, 1fr);
		gap:10px;
	}
	.gallery--wrapper .gallery--content.grid a:nth-child(3n-1) {
		transform: translateY(0);
	}
	.gallery--wrapper .gallery--content.grid a {
		height:200px;
	}
	.gallery--wrapper {
		margin-top: 50px;
	}
	.location--map-wrapper {
		row-gap: 20px;
	}
	.location--map-wrapper {
		margin-top: 0;
		border: none;
	}
	.template--the-villa__information {
		column-gap: 20px;
		margin-top: 20px;
	}
	.template--the-villa__information .single .icon {
		width: 50px;
		height: 50px;
	}
	.left--right-wrapper .cols .col--left .inner .cta--border {
		margin-top: 25px;
		max-width:100%;
	}
	.template--the-villa__amenities {
		margin-top: 60px;
	}
	.template--the-villa__amenities .section--title {
		margin-bottom: 40px;
	}
	.template--the-villa__amenities .content .text.editor ul {
		column-gap: 15px;
		grid-template-columns: repeat(2, 1fr);
	}
	.gallery--categories-wrapper {
		margin-top: 60px;
	}
	.gallery--categories-wrapper .owl-carousel a {
		height: 300px;
	}
	.gallery--categories-wrapper .gallery--categories-inner {
		max-width: 80vw;
	}
	.gallery--categories-wrapper .slider--controls {
		right: 50%;
		transform: translateX(50%);
		bottom: 20px;
		padding: 6px;
		column-gap: 20px;
	}
	.header--logo:not(.header--logo-scrolled) {
		top: 50vh;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	#header {
		padding-inline:25px;
	}
	.header--logo.header--logo-scrolled {
		position: static;
		transform: unset;
		width: 135px;
		height: 31px;
	}
	#header.style_1 .header--content .col--middle {
		justify-content: flex-start;
	}
	#footer.style_3 .col--top {
		grid-template-columns: 1fr;
		row-gap: 40px;
	}
	#footer.style_3 .col--top .col--left {
		display: none;
	}
	#footer.style_3 .col--top .contact--list {
		justify-content: center;
		align-items: center;
	}
	#footer.style_3 .sub-footer {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
		row-gap: 10px;
	}
	#footer.style_3 .footer--cols > .col--middle {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		row-gap: 20px;
		padding-block: 25px;
		margin-block: 25px;
	}
	.container .container {
		padding-inline:0;
	}
	.gallery--wrapper .owl-carousel a {
		height: 350px;
	}
	body.page-template-template-the-villa .gallery--wrapper {
		margin-top: 70px;
	}
	.gallery--wrapper.owl-carousel--parent .section--title {
		margin-bottom: 30px;
	}
}