/* -----------------------------------------
	05. Modules
----------------------------------------- */

/* General Layout
=================================== */
.main {
	padding: $section-padding-lg 0;

	@include media-breakpoint-down(md) {
		padding: $section-padding-md 0;
	}

	@include media-breakpoint-down(sm) {
		padding: $section-padding-sm 0;
	}
}

.sidebar {
	@include media-breakpoint-down(md) {
		margin-top: 80px;
	}
}

/* Sections
=================================== */
.widget-section {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	margin-bottom: $section-padding-lg;

	@include media-breakpoint-down(md) {
		margin-bottom: $section-padding-md;
	}

	@include media-breakpoint-down(sm) {
		margin-bottom: $section-padding-sm;
	}

	&:last-child {
		margin-bottom: 0;
	}
}

.widget-section-parallax {
	background-attachment: fixed;
}

.section-padded {
	padding-top: $section-padding-lg;
	position: relative;

	@include media-breakpoint-down(md) {
		padding-top: $section-padding-md;
	}

	@include media-breakpoint-down(sm) {
		padding-top: $section-padding-sm;
	}
}

.section-heading {
	margin-bottom: 30px;
	position: relative;
	display: flex;
	align-items: center;
}

.section-heading-content {
	flex: auto;

	.term-description {
		margin-top: 15px;
	}
}

.section-title {
	font-size: 26px;
	margin: 0;

	@include media-breakpoint-down(sm) {
		font-size: 22px;
		line-height: 1;
		margin-bottom: 5px;
	}

	> a {
		color: $secondary-text-color;
		font-size: 16px;
		margin-left: 5px;
	}
}

.section-subtitle {
	margin: 0;

	a {
		color: $text-color;
	}
}

.page-title {
	line-height: normal;
	margin: 0 0 45px;
	word-wrap: break-word;
	text-rendering: optimizeLegibility;
	letter-spacing: -.01em;
	font-weight: 400;
	font-size: 28px;
}

/* Entry Styles
=================================== */
.entry {
	margin: 0 0 100px;

	&:only-of-type {
		margin-bottom: 0;
	}
}

.entry-header {
	margin-bottom: 25px;
}

.entry-title {
	margin: 2px 0 0;

	@include media-breakpoint-down(sm) {
		font-size: 24px;
		line-height: 1;
		margin-bottom: 10px;
	}

	a {
		color: $text-color;

		&:hover {
			color: $accent-color;
		}
	}
}

.entry-meta {
	font-size: 16px;
	color: $text-color-light;

	.item-media & {
		margin-bottom: 15px;
	}

	@include media-breakpoint-down(sm) {
		font-size: 14px;
	}

	a {
		color: $text-color-dark;
	}

	span {
		&::after {
			content: "\2022";
			margin: 0 4px;
			opacity: .5;
		}

		&:last-child {
			&::after {
				display: none;
			}
		}
	}
}

.entry-meta-item {
	&.entry-sticky {
		&::before {
			@include font-awesome(\f005);
			font-size: .7em;
			position: relative;
			top: -1px;
		}
	}
}

.entry-thumb {
	margin-bottom: 50px;

	@include media-breakpoint-down(md) {
		margin-bottom: 30px;
	}

	img {
		border-radius: $border-radius-base;
		border: 1px solid $border-color;
	}

	&.alignnone,
	&.alignleft,
	&.alignright,
	&.aligncenter {
		margin-top: 0;
	}
}

.entry-content {
	@include clearfix;

	h1, h2, h3, h4, h5, h6 {
		margin: 35px 0 30px;

		&:first-child {
			margin-top: 0;
		}
	}

	audio,
	video,
	blockquote {
		margin: 40px 0;

		&:first-child {
			margin-top: 0;
		}

		&:last-child {
			margin-bottom: 0;
		}
	}

	blockquote {
		font-size: 20px;
		position: relative;
		padding-left: 35px;
		border: 0;
		line-height: 1.428571429;

		&::before {
			content: "\00201C";
			font-size: 4.3em;
			line-height: 0;
			position: absolute;
			left: -10px;
			top: 34px;
			opacity: .35;
		}

		@include media-breakpoint-down(lg) {
			font-size: 22px;
		}

		@include media-breakpoint-down(sm) {
			font-size: 18px;
			padding-left: 30px;
			margin: 35px 0 35px 10px;
		}
	}

	.alignleft,
	.alignright {
		@include media-breakpoint-down(sm) {
			display: block;
			float: none;
			margin-left: auto;
			margin-right: auto;
		}
	}
}

.entry-content-intro {
	font-size: 20px;
	line-height: 1.4;
	margin-bottom: 25px;
}

.entry-content-column-split {
	@include media-breakpoint-up(md) {
		columns: 2;
	}
}

.entry-tags {
	margin: 30px 0 0;

	a {
		text-transform: capitalize;
		color: $text-color-dark;
	}
}

.entry-more-btn {
	margin-top: 25px;
}

.entry-author-box {
	display: flex;
	margin: 65px 0 0;

	@include media-breakpoint-down(sm) {
		display: block;
	}
}

.section-related {
	margin-top: 65px;
}

.entry-author-desc {
	border-radius: $border-radius-base;
	background-color: $grey;
	padding: 25px 30px;
}

.entry-author-thumbnail {
	width: 80px;
	flex: none;
	margin-right: 30px;

	img {
		border-radius: $border-radius-base;
	}

	@include media-breakpoint-down(md) {
		width: 100px;
		margin-right: 15px;
	}

	@include media-breakpoint-down(sm) {
		width: 140px;
		margin: 0 0 10px;
	}
}

.entry-author-title {
	font-size: 18px;
	margin-bottom: 15px;
}

.entry-author-subtitle {
	margin-top: -15px;
	font-size: 14px;
}

.post-password-form {
	padding: 20px;
	background-color: $grey;
	border-radius: $border-radius-base;
}

/* Alignments
=================================== */
[class*="-template-builder"],
[class*="-template-full-width-page"] {
	.alignfull {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		width: 100vw;
		max-width: 100vw;
	}
}

[class*="-template-builder"] {
	.alignwide {
		@include media-breakpoint-up(sm) {
			margin-left: calc(25% - 25vw);
			margin-right: calc(25% - 25vw);
			max-width: 100vw;
		}
	}
}

/* Items & Item Listings
=================================== */
.row-items {
	margin-bottom: -30px;

	&.no-gutters {
		margin-bottom: 0;
	}
}

.item {
	margin-bottom: 30px;
	position: relative;
	border: 1px solid $border-color;
	border-radius: $border-radius-base;

	.no-gutters &,
	.slick-slide & {
		margin-bottom: 0;
	}
}

.item-media {
	border: 0;
	border-radius: 0;
	display: flex;
	margin-bottom: $section-padding-lg;

	@include media-breakpoint-down(md) {
		margin-bottom: $section-padding-md;
	}

	@include media-breakpoint-down(sm) {
		margin-bottom: $section-padding-sm;
	}

	@include media-breakpoint-down(xs) {
		display: block;

		&.item-media-sm {
			display: flex;
		}
	}

	&.item-media-sm {
		margin-bottom: 15px;
	}
}

.item-thumb {
	img {
		border-radius: $border-radius-base $border-radius-base 0 0;
	}

	.item-product & {
		padding: 15px 15px 0 15px;

		img {
			border-radius: $border-radius-base;
		}
	}

	.item-media & {
		flex: none;
		width: 300px;
		margin-right: 30px;

		img {
			border-radius: $border-radius-base;
		}

		@include media-breakpoint-down(lg) {
			width: 220px;
		}

		@include media-breakpoint-down(md) {
			width: 180px;
		}

		@include media-breakpoint-down(sm) {
			width: 150px;
			margin-right: 20px;
		}

		@include media-breakpoint-down(xs) {
			width: 100%;
			margin-bottom: 25px;
		}

		img {
			border: 1px solid $border-color;
		}
	}

	.item-media-sm & {
		width: 70px;
		margin-right: 15px;

		@include media-breakpoint-down(lg) {
			width: 70px;
		}

		@include media-breakpoint-down(md) {
			width: 70px;
		}

		@include media-breakpoint-down(sm) {
			width: 70px;
			margin-right: 15px;
		}

		@include media-breakpoint-down(xs) {
			width: 70px;
			margin: 0 15px 0 0;
		}
	}
}

.item-content {
	padding: 30px 30px 25px;
	min-width: 0;

	.item-media & {
		padding: 0;
	}

	@include media-breakpoint-down(xl) {
		padding: 20px 20px 15px;

		.item-media & {
			padding: 0;
		}
	}
}

.item-meta {
	font-size: 13px;
	line-height: normal;
	margin-bottom: 3px;
	color: $text-color-light;
	letter-spacing: $letter-spacing-base;

	a {
		color: $text-color-light;
	}

	.item-media & {
		margin-bottom: 5px;
		font-size: 16px;
	}

	.item-media-sm & {
		font-size: 13px;
	}
}

.item-title {
	line-height: normal;
	font-size: 16px;
	letter-spacing: $letter-spacing-base;
	margin-bottom: 10px;

	a {
		color: $text-color-dark;

		&:hover {
			color: $accent-color;
		}
	}

	.item-media & {
		@include media-breakpoint-up(md) {
			font-size: 28px;
		}
	}

	.item-media-sm & {
		font-size: 14px;

		@include media-breakpoint-up(md) {
			font-size: 14px;
		}
	}
}

.item {
	.price {
		display: block;
		font-size: 16px;
		color: $tertiary-text-color;
		margin-bottom: 5px;
		font-weight: 600;

		del {
			opacity: .5;
			font-size: 15px;
			margin-right: 3px;
			font-weight: 400;
		}

		&:last-child {
			margin-bottom: 0;
		}
	}
}

.item-inset {
	color: $tertiary-text-color;
	margin-bottom: 0;
	line-height: normal;

	a {
		color: currentColor;
	}
}

.item-read-more {
	margin-top: 20px;
}

/* Block Items
=================================== */
.block-layout {
	margin-bottom: -30px;
}

.block-item {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	border-radius: $border-radius-base;
	margin-bottom: 30px;
	position: relative;
	height: 0;
	overflow: hidden;

	&::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		background-color: rgba($text-color-dark, .4);
	}
}

.block-item-xl,
.block-item-lg {
	padding-bottom: percentage(calc(9/16));

	@include media-breakpoint-up(lg) {
		.block-item-title {
			font-size: 36px;
		}

		.block-item-subtitle {
			font-size: 20px;
		}

		.btn-block-item {
			@include button-md;
		}
	}
}

.block-item-md {
	padding-bottom: percentage(calc(9/16.455));
}

.block-item-long {
	height: 215px;
}

.block-item-content-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
}

.block-item-content {
	padding: 30px;
	color: $white;

	@include media-breakpoint-down(md) {
		padding: 15px;
	}
}

.block-item-title {
	font-size: 26px;
	margin: 0;
	line-height: normal;
	letter-spacing: $letter-spacing-base;
	font-weight: 600;

	@include media-breakpoint-down(md) {
		font-size: 22px;
	}
}

.block-item-subtitle {
	font-size: 16px;
	margin: 0;
	line-height: normal;
	letter-spacing: $letter-spacing-base;
}

.btn-block-item {
	margin-top: 15px;
}

/* Pagination
=================================== */
.woocommerce-pagination {
	margin: 30px 0 0;
	background-color: $grey;
	border-radius: $border-radius-base;
	padding: 10px;
	text-align: center;

	ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}

	li {
		display: inline-block;
		list-style: none;
	}

	a,
	span {
		display: inline-block;
		margin: 2px 6px;
		color: $text-color-dark;
	}

	a:hover, // sass-lint:disable-line force-pseudo-nesting
	.current {
		color: $accent-color;
	}
}

.navigation {
	margin: 30px 0 0;
	background-color: $grey;
	border-radius: $border-radius-base;
	padding: 10px;
	text-align: center;

	a,
	.page-numbers {
		display: inline-block;
		margin: 2px 6px;
		color: $text-color-dark;
	}

	a:hover, // sass-lint:disable-line force-pseudo-nesting
	.current {
		color: $accent-color;
	}

	.nav-links {
		@include clearfix;
	}

	.nav-previous {
		float: left;
	}

	.nav-next {
		float: right;
	}
}

.comment-navigation {
	margin: 30px 0;
}

.page-links {
	margin: 30px 0 0;
	background-color: $grey;
	border-radius: $border-radius-base;
	padding: 10px;
	text-align: center;
	clear: both;

	.page-number {
		display: inline-block;
		margin: 2px 6px;
		color: $text-color-dark;

		&:hover {
			color: $accent-color;
		}
	}

	> .page-number {
		color: $accent-color;
	}

	> a,
	> span {
		&:first-child {
			margin-left: 10px;
		}
	}
}

/* Social Icons
=================================== */
.list-social-icons,
.list-card-icons {
	margin: 0;
	padding: 0;
	list-style: none;

	li {
		display: inline-block;
		margin: 3px;
	}
}

.social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	font-size: 14px;
	text-align: center;
	color: $text-color-dark;
	border: 2px solid $border-color;
	border-radius: 50%;

	&:hover {
		border-color: $accent-color;
		color: $accent-color;
	}

	.header & {
		color: inherit;
		font-size: inherit;
	}

	.footer-info-addons & {
		color: $white;
		font-size: 24px;
		border: 0;
	}

	.footer-widgets & {
		color: $white;
		border-color: $border-on-dark;
	}

	.entry-author-socials & {
		border: 0;
		padding: 0;
		width: auto;
		height: auto;
		font-size: 18px;
		color: $secondary-text-color;
	}
}

.entry-social-share {
	text-align: center;

	@include media-breakpoint-up(lg) {
		li {
			display: block;
		}
	}

	@include media-breakpoint-down(md) {
		text-align: left;
		margin-bottom: 30px;
	}
}

.entry-social-share-title {
	margin-bottom: 10px;
}

/* Skip link
=================================== */
.skip-link {
	left: -9999rem;
	top: 2.5rem;
	z-index: 100000;
	background-color: $grey;
	color: $black;
	box-shadow: 0 0 10px rgba($black, .15);

	&:focus {
		position: fixed;
		display: block;
		left: 6px;
		top: 7px;
		right: auto;
		font-size: 14px;
		font-weight: 600;
		text-decoration: none;
		line-height: normal;
		padding: 15px 23px 14px;
		z-index: 100000;
	}
}

/* Responsive embeds
=================================== */
.nozama-lite-responsive-embed {
	position: relative;
	padding-top: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	margin-bottom: 30px;
  
	iframe,
	object,
	embed {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	}
  }
