/* article styles */
.article {
	@extend %clearfix;
	line-height: 1.714;
	max-width: 500px;
	margin: $global-sm-space auto 0;

	&.thumb-full {
		.thumbnail {
			border-radius: 5px 5px 0 0;

			.img-wrap {
				margin: -10px -10px 25px;
				overflow: hidden;
				border-radius: 5px 5px 0 0;
			}
		}
	}

	&.has-hover-s1 {
		.img-wrap {
			overflow: hidden;

			img {
				transform: scale(1);
				transition: transform 0.2s linear;
			}
		}

		&:hover {
			.img-wrap {
				img {
					transform: scale(1.4);
				}
			}
		}
	}

	&.has-hover-s2 {
		.img-wrap {
			position: relative;
			overflow: hidden;

			img {
				margin: -10px 0 0 -10px;
				max-width: none;
				width: -webkit-calc(100% + 10px);
				width: calc(100% + 10px);
				transition: opacity 0.35s, transform 0.35s;
				transform: translate3d(10px,10px,0);
			}

			.text:before {
				position: absolute;
				right: -120px;
				bottom: -140px;
				width: 250px;
				height: 250px;
				border: 2px solid #fff;
				border-radius: 50%;
				box-shadow: 0 0 0 900px rgba(255,255,255,0.2);
				content: '';
				opacity: 0;
				transform: scale3d(0.5,0.5,1);
				transform-origin: 50% 50%;
				background: rgba(0,0,0,0.2);
			}

			.text:before,
			p {
				transition: opacity 0.35s, transform 0.35s;
			}

			p {
				margin: 0;
				color: $white;
				font-size: 42px;
				line-height: 1;
				position: absolute;
				right: 0;
				bottom: 0;
				padding: 0 28px 25px 0;
				width: 110px;
				text-align: right;
				opacity: 0;
				transform: translate3d(20px,20px,0);
			}
		}

		&:hover {
			h3 {
				a {
					color: $secondary-color;
				}
			}

			img {
				transform: translate3d(0,0,0);
			}

			.text:before {
				opacity: 1;
				transform: scale3d(1,1,1);
			}

			p {
				transform: translate3d(0,0,0);
				opacity: 1;
			}
		}
	}

	&.has-hover-s3 {
		img,
		.info-footer,
		.hover-article {
			transition: opacity 0.35s, transform 0.35s;
		}

		.star-rating {
			> span {
				color: $primary-color;

				&.disable {
					color: $white;
				}

				&:hover {
					color: darken($primary-color, 10%);
				}
			}
		}

		&:hover {
			img {
				opacity: 0.4;
				transform: scale3d(1.2,1.2,1);
			}

			.hover-article {
				opacity: 1;
			}

			.img-caption {
				color: $white;
			}

			.info-footer {
				@include translate(0, 0);
			}

			h3 {
				a {
					color: $primary-color;
				}
			}

			.more {
				color: $primary-color;
			}
		}

		.img-wrap {
			background: $black;
			overflow: hidden;
		}
	}

	.hover-article {
		color: $white;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		text-align: left;
		opacity: 0;

		a {
			color: $white;

			&:hover {
				color: $primary-color;
			}
		}

		.icons {
			@include translate(-50%, -50%);
			position: absolute;
			left: 50%;
			top: 50%;
			font-size: 25px;
		}

		.star-rating {
			position: absolute;
			top: 15px;
			left: 15px;
		}

		.price {
			display: inline-block;
			vertical-align: middle;
			width: 50%;
			font-size: 1em;
			margin-right: -.25em;
			font-weight: 400;
			letter-spacing: 1px;
			font-style: italic;

			span {
				font-size: 1.286em;
				display: block;
				margin-top: -5px;
				font-weight: 900;
				font-style: normal;
			}
		}

		.link-more {
			max-width: 50%;
			text-align: right;
			float: right;
			margin: 20px 0 0;
			text-transform: uppercase;
			font-weight: 900;
			font-size: 1.143em;
			letter-spacing: 1px;
		}

		.info-footer {
			@include translate(0, -20px);
			font-weight: 700;
			position: absolute;
			bottom: 15px;
			left: 15px;
			right: 15px;
		}
	}

	.link-view {
		a {
			&:after {
				@include rotate(270deg);
				content: "\e906";
				display: inline-block;
				vertical-align: middle;
				margin-left: 5px;
				font: 10px/10px 'icomoon';
				margin-top: -3px;
			}
		}
	}

	.ico-action {
		@extend %listreset;
		display: inline-block;
		vertical-align: middle;

		li {
			display: inline-block;
			vertical-align: middle;
			padding: 0 5px;
		}

		a {
			&:hover {
				color: $secondary-color;
			}
		}
	}

	.heading {
		margin-bottom: 15px;
		font-weight: 700;
	}

	h3 {

		a {
			color: $link-color;

			&:hover {
				color: $article-link-hover-color;
			}
		}
	}

	.more {
		color: $link-color;
		font-style: italic;
		font-weight: 400;
		letter-spacing: 0.05em;

		&:hover {
			color: $article-link-hover-color;
		}
	}

	.social-networks {
		font-size: 21px;
		margin: 0 -10px;

		li {
			padding: 0 10px;
			font-size: 17px;
		}

		a {
			color: $link-color;
		}
	}

	.ico-list {
		@extend %listreset;
		line-height: 1;

		li {
			display: inline-block;
			vertical-align: middle;
			padding: 0 3px;
		}
	}

	.sub-title {
		font-style: italic;
		font-size: 1em;
		display: block;
		margin-bottom: 10px;
	}


	.img-wrap,
	.img-wrap1 {
		margin: 0 0 40px;
		text-align: center;
	}

	h2 {
		color: $black;
		letter-spacing: 0.1em;
	}
	.col {
		display: table-cell;
		vertical-align: middle;
		padding: 0 30px;

		&:first-child {
			width: 51.3%;
		}
	}

	.img-wrap {
		position: relative;

		img {
			width: 100%;
			backface-visibility: hidden;
		}

		.social-networks {
			position: absolute;
			top: 50%;
			left: 50%;
			@include translate(-50%, -50%);
			z-index: 2;
			width: 160px;
			text-align: center;
			opacity: 0;
			transition: all linear .2s;

			li {
				margin-right: -.25em;
				padding: 0 1px;
			}

			a {
				width: 36px;
				height: 34px;
				display: block;
				text-align: center;
				line-height: 34px;
				background: $secondary-color;

				&:hover {
					background: $black;
					color: $white;
				}
			}
		}
	}

	.img-caption {
		position: absolute;
		top: 15px;
		right: 0;
		background: $black;
		color: $listing-caption-color;
		font-size: 14px;
		line-height: 18px;
		padding: 4px 10px;
		font-weight: 400;
		z-index: 2;
		letter-spacing: 0.02em;
		font-family: $montserrat;
	}

	.thumbnail {
		@extend %clearfix;
		margin-bottom: 0;
		padding: 10px;
		border: none;
		line-height: 1.7142857;
		box-shadow: 0 2px 2px rgba(1, 2, 2, 0.05);

		&:hover {
			h3 {
				a {
					color: $thumbnail-link-hover-color;
				}
			}

			footer {
				.price {
					span {
						color: $thumbnail-link-hover-color;
					}
				}
			}
		}

		.info-title {
			display: block;
			margin-bottom: 10px;
		}

		.img-wrap {
			margin: 0 0 25px;
		}

		.meta {
			padding-bottom: 25px;
			margin-bottom: 10px;
			border-bottom: 1px solid $gainsboro;

			.country {
				padding-right: 5px;
			}

			.country,
			.activity {
				max-width: 50%;
				display: inline-block;
				vertical-align: top;
				margin-right: -.25em;

				[class^="icon-"],
				[class*=" icon-"] {
					font-size: 15px;
					display: inline-block;
					vertical-align: middle;
					margin: -1px 5px 0 0;
				}
			}
		}

		.star-rating {
			[class^="icon-"],
			[class*=" icon-"] {
				margin-right: 0;
			}
		}

		p {
			letter-spacing: 0.03em;
			margin-bottom: 25px;
		}
	}

	footer,
	.info-aside {
		overflow: hidden;
		margin: 15px 0 -5px;
		padding-top: 5px;
		border-top: 1px solid $gainsboro;

		.social-networks {
			max-width: 68%;
			float: right;
			padding-top: 5px;
		}

		.price {
			overflow: hidden;
			display: block;
			font-style: italic;
			letter-spacing: 1px;
			max-width: 32%;
			font-weight: 400;

			span {
				display: block;
				font-weight: 900;
				font-style: normal;
				font-size: 1.286em;
				margin-top: -5px;
			}
		}
	}

	.ico-list {
		@extend %listreset;
		overflow: hidden;

		li {
			display: inline-block;
			vertical-align: middle;
			padding: 0 5px;
		}
	}

	.info-aside {
		text-align: center;
		border-top: 0;
		border-left: 1px solid $cararra;

		.price {
			font-size: 1.286em;
			margin-bottom: 15px;

			span {
				font-size: 2.143em;
				line-height: 1.5em;
			}
		}
	}

	.activity-level {
		margin-bottom: 15px;

		.text {
			display: block;
			margin-top: 5px;
			color: $gray;
		}
	}

	@include breakpoint-min($screen-sm) {
		max-width: none;
		
		.heading {
			margin: 0 0 10px;

			h3 {
				display: inline-block;
				vertical-align: middle;
				margin-right: -.25em;
				max-width: 78%;
				padding-right: 10px;
				margin: 0;
			}
		}

		.meta {
			font-size: .9em;
		}

		.img-caption {
			font-size: 16px;
		}

		.thumbnail {
			.meta {
				padding-bottom: 15px;
			}

			.country,
			.activities {
				[class^="icon-"],
				[class*=" icon-"] {
					font-size: 13px;
					margin-right: 2px;
				}
			}

			.img-wrap {
				margin-bottom: 15px;
			}
		}

		.info-day {
			display: inline-block;
			vertical-align: middle;
			font-size: 1.143em;
			line-height: 1em;
			padding-left: 10px;
			position: relative;
			border-left: 1px solid $platinum;
			max-width: 20%;
		}
	}

	@include breakpoint-min($screen-md) {
		.heading {
			h3 {
				padding-right: 30px;
			}
		}

		.meta {
			font-size: 1em;
		}

		.thumbnail {
			.meta {
				padding-bottom: 25px;

				.country,
				.activities {
					[class^="icon-"],
					[class*=" icon-"] {
						font-size: 15px;
						margin-right: 5px;
					}
				}
			}

			.img-wrap {
				margin-bottom: 25px;
			}
		}

		footer ,
		.info-aside {
			.social-networks{
				max-width: 68%;
				float: right;
				padding-top: 5px;
				border-bottom: 0;
			}

			.price{
				overflow: hidden;
				display: block;
				font-style: italic;
				letter-spacing: 1px;
				max-width: 32%;
				font-weight: 400;

				span{
					display: block;
					font-weight: 900;
					font-style: normal;
					font-size: 1.286em;
					margin-top: -5px;
				}
			}
		}
	}

	@include breakpoint-min($screen-lg) {
		.info-day {
			padding-left: 30px;
			font-size: 1.286em;
		}

		.img-caption {
			font-size: 18px;
		}
	}

	@include breakpoint-max($screen-sm - 1) {
		&.height {
			height: auto !important;
		}
	}
}

/* meta article styles */
.meta-article {
	overflow: hidden;
	margin: $global-xs-space 0 5px -5px;
	padding-top: 5px;

	.ico-action {
		@extend %listreset;
		display: inline-block;
		vertical-align: middle;

		li {
			display: inline-block;
			vertical-align: middle;
			padding: 0 5px;
		}

		a{
			color: $link-color;
			
			&:hover {
				color: $secondary-color;
			}
		}
	}

	.ico-list {
		@extend %listreset;
		display: inline-block;

		li {
			display: inline-block;
			vertical-align: middle;
			padding: 0 5px;
		}
	}

	.star-rating,
	.comment,
	.ico-action,
	.rate-info {
		display: inline-block;
		vertical-align: middle;
		position: relative;
		padding: 0 10px;

		&:before {
			content: '';
			position: absolute;
			left: 0;
			top: 4px;
			bottom: 3px;
			width: 1px;
			background: $platinum;
		}
	}

	.star-rating {
		padding-left: 0;

		&:before {
			display: none;
		}
	}
}

/* article with image styles */
.img-article {
	max-width: 500px;
	margin: 0 auto;

	.img-wrap {
		margin-bottom: 0;

		img {
			width: 100%;
		}
	}

	&.article-light {
		&:hover {
			.text-block {
				background: darken($desert-storm, 5%);
			}
		}
		.text-block {
			background: $desert-storm;
			color: $scarpa-flow;

			a {
				color: $scarpa-flow;
			}
		}
	}

	.caption {
		margin: -50px 40px 0;
		position: relative;
		z-index: 4;
		background: $guide-caption-bg;
		padding: 20px 10px;
		color: $white;
		text-align: center;
		box-shadow: 1px 2px 1px rgba(1,2,2,.3);
		transition: margin 0.2s linear;

		h3 {
			color: $white;
		}
	}

	.text-block{
		background: $guide-caption-bg;
		padding: $global-xs-space 15px 15px;
		color: $white;
		transition: background .2s linear;

		h3 {
			text-transform: none;
			font-weight: 700;
			color: $white;
			letter-spacing: 1px;
			margin-bottom: 15px;

			a {
				color: $white;
			}
		}
		p {
			margin-bottom: 25px;
		}
	}

	.holder:hover {
		.caption,
		.text-block {
			background: $guide-caption-hover-bg;
		}
	}

	.social-networks {
		margin: 0 -10px;

		li {
			font-size: 22px;
			padding: 0 10px;
		}

		a {
			color: $white;
		}
	}
}

.guide-info {
	margin-top: $global-sm-space;

	@include breakpoint-min($screen-sm) {
		margin-top: $global-md-space;
	}

	@include breakpoint-min($screen-md) {
		margin-top: $global-space;
	}
}

.content-with-sidebar {
	@include breakpoint-min($screen-sm) {
		.article {
			.social-networks {
				margin: 0 -5px;

				li {
					padding: 0 5px;
				}
			}
		}
	}

	@include breakpoint-min($screen-lg) {
		.article {
			.meta {
				> span,
				.country {
					display: inline-block;
					vertical-align: middle;
					margin: 0 -.25em 0 0;
					width: 49%;
				}
			}
		}
	}
}