/*
*
* Utilities custom
*/
.height-fill {
	position: relative;
	display: flex;

	> * {
		flex-grow: 1;
		flex-shrink: 0;
		width: 100%;
	}

	.google-map {
		min-height: 100%;
	}
}

// Object inline 
.object-inline {
	white-space: nowrap;
	> * {
		display: inline-block;
		min-width: 20px;
		vertical-align: top;
		white-space: normal;
	}

	> * + * {
		margin-left: 5px;
	}
}

.oh {
	position: relative;
	overflow: hidden;
}

// Text decorations
.text-decoration-lines {
	position: relative;
	overflow: hidden;
	width: 100%;
	text-align: center;

	&-content {
		position: relative;
		display: inline-block;
		min-width: 170px;
		font-size: 13px;
		text-transform: uppercase;

		&::before,
		&::after {
			content: '';
			position: absolute;
			height: 1px;
			background: $gray-400;
			top: 50%;
			width: 100vw;
		}

		&::before {
			left: 0;
			transform: translate3d(-100%, 0, 0);
		}

		&::after {
			right: 0;
			transform: translate3d(100%, 0, 0);
		}
	}
}

* + .text-decoration-lines {
	margin-top: 30px;
}

// Rights
p.rights {
	font-size: 14px;
	color: $body-color;
	a {
		color: inherit;

		&:hover {
			color: $primary;
		}
	}
}

.one-page {
	.rights {
		color: $white;
		
		a:hover {
			color: $secondary;
		}
	}
}

.text-block {
	> * {
		margin-left: .125em;
		margin-right: .125em;
	}
}

.cols-2 {
	@media (min-width: 480px) {
		columns: 2;
		break-inside: avoid;
		column-gap: 26px;
		
		> * {
			display: inline-block;
			width: 100%;
		}
	}
}

.f1 {
	@include media-breakpoint-up(lg) {
		width: 109%;
	}
}

// Features Block
.features-block {
	padding: 20px 15px;
	background-color: $gray-25;
}

.features-block-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	@include group(20px, 12px);
}

.features-block-list {
	display: flex;
	flex-wrap: wrap;
	color: $gray-13;
	letter-spacing: 0;
	@include group(10px, 15px);

	> li {
		display: inline-flex;
	}

	span {
		display: inline-block;
		vertical-align: middle;
		min-height: 15px;
		line-height: 15px;
	}

	.icon {
		margin-right: 10px;
		font-size: 19px;
		color: $gray-6;
	}

	.icon[class*='hotel-icon-'] {
		margin-left: -5px;
		margin-right: 3px;
	}

	.hotel-icon-05 {
		font-size: 32px;
	}

	.hotel-icon-10,
	.hotel-icon-26 {
		font-size: 34px;
	}
}

.features-block + p { margin-top: 20px; }

@include media-breakpoint-up(md) {
	.features-block {
		padding: 14px 22px;
	}
	.features-block-list {
		@include groupX(25px);
	}

	.features-block + p { margin-top: 30px; }
}

//
// Item 1
//
.item-1 {
	display: flex;
	align-items: center;
	letter-spacing: .1em;

	> * + * {
		margin-left: 10px;
	}
	dl {

	}

	a {
		&,
		&:active,
		&:focus {
			color: $gray-3;
		}

		&:hover {
			color: $primary;
		}
	}
}

span.item-1-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	line-height: 40px;
	flex-shrink: 0;
	border-radius: 50%;
	font-size: 18px;
	color: $gray-1;
	background: $secondary;
}

//
// Image group 1
//
.image-group-1 {
	max-width: 600px;
	margin: 0 auto 13%;
	
	a {
		position: relative;
		z-index: 1;
		display: block;
		box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.13);

		&:nth-child(1) {
			max-width: (500 / 600) * 100%;
		}
		&:nth-child(2) {
			max-width: (320 / 600) * 100%;
			margin-top: -25%;
			margin-left: (70 / 600) * 100%;
		}
		&:nth-child(3) {
			max-width: (314 / 600) * 100%;
			margin-top: -68%;
			margin-left: auto;
		}
		
		img {
			width: 100%;
		}
		
		&:hover {
			transform: translateY(-15px);
		}
	}
}


//
// Image Group 2
//
.image-group-2 {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	
	> * + * {
		margin-left: -(70 / 1170) * 100%;
	}
	
	a {
		position: relative;
		z-index: 1;
		display: block;
		flex-shrink: 0;
		width: (370 / 1170) * 100%;
		box-shadow: 0 5px 7px 0 rgba(0, 0, 0, 0.35);
		
		img {
			width: 100%;
		}
		
		&::after {
			content: '';
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			background: rgba($white, .1);
			opacity: 0;
			visibility: hidden;
			transition: .22s;
			pointer-events: none;
		}
		
		&:nth-child(2) {
			z-index: 2;
			width: (570 / 1170) * 100%;
		}
		
		&:hover {
			&::after {
				opacity: 1;
				visibility: visible;
			}
		}
	}
}


* + .image-group-2 { margin-top: 30px; }

@include media-breakpoint-up(lg) {
	* + .image-group-2 { margin-top: 60px; }
}
