/* ------------------------
Common/UI elements (images, video, buttons, etc)
------------------------ */

video {
	max-width: 100%;
	height: auto;
}

.back-to-top {
	text-align: right;
	display: block;
}


.alignright,
.alignleft,
.aligncenter,
.alignnone,
.caption {
	display: block;
	height: auto;
	margin: 0 auto 1em;
	max-width: 100%;
	float: none;

	/* Tablet Styles */
	@media (width >= 768px) {
		margin-bottom: 1em;
		max-width: 50%;
	}
}

.alignleft {

	/* Tablet Styles */
	@media (width >= 768px) {
		float: left;
		margin-right: 1em;
	}
}

.alignright {

	/* Tablet Styles */
	@media (width >= 768px) {
		float: right;
		margin-left: 1em;
	}
}

.wp-caption {
	max-width: 95%;

	img {
		width: 100%;
		height: auto;
	}
}

button.button {
	border: none;
}

.button {
	cursor: pointer;
	display: inline-block;
	position: relative;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: var(--fw-bold);
	font-size: 18px;
	line-height: 1.5em;
	letter-spacing: .06em;
	font-family: var(--primary-font);
	color: var(--text-color);
	padding-bottom: 4px;
	border-bottom: 1px solid var(--primary-alt);

	&:hover,
	&:active,
	&:focus {
		color: var(--primary-color);
	}

	&.btn-inverse {
		color: var(--light-color);

		&:hover,
		&:active,
		&:focus {
			color: var(--primary-alt);
		}
	}

	&.btn-dark {
		background-color: var(--dark-color);

		&:hover,
		&:active,
		&:focus {
			color: var(--primary-color);
		}
	}
}

div[id^="gform_wrapper_"].btn-inverse_wrapper {
	.button {
		background-color: transparent;
		color: var(--light-color);

		&:hover,
		&:active,
		&:focus {
			color: var(--primary-alt);
		}
	}
}

.callout {
	margin: 60px 0;
	border-top: 1px solid rgb(from var(--dark-color) r g b / 0.2);
	border-bottom: 1px solid rgb(from var(--dark-color) r g b / 0.2);
	text-align: center;

	blockquote {
		font-family: var(--secondary-font);
		margin: 0;
		padding: 40px 0 20px;

		p {
			&:first-of-type {
				&:before {
					content: '“';
				}
			}

			&:last-of-type {
				&:after {
					content: '”';
				}
			}
		}
	}

	figcaption {
		color: var(--primary-color);
		text-transform: uppercase;
		font-size: 1.25em;
		padding: 0 0 40px;

		&::before {
			content: "— ";
		}
	}
}

.disclaimer {
	font-size: 11px;
	font-style: italic;
}

.two-column {

	/* Tablet Styles */
	@media (width >= 768px) {
		column-count: 2;
		column-gap: 40px;
	}
}

.three-column {

	/* Tablet Styles */
	@media (width >= 768px) {
		column-count: 2;
		column-gap: 40px;
	}

	/* Desktop Styles */
	@media (width >= 1024px) {
		column-count: 3;
	}
}

.spaced-list {
	li {
		margin-bottom: 1.5em;
	}
}

.b-lazy {
	transition: opacity 500ms ease-in-out;
	max-width: 100%;
	opacity: 0;
}

.b-lazy.b-loaded {
	opacity: 1;
}

::selection {
	background: rgb(from var(--primary-alt) r g b / 0.5);
}

.sc-address-block {
	margin-bottom: 1em;
}

.bg-fixed {
	@media (width >= 1024px) {
		background-attachment: fixed;
	}
}

main,
.upper-footer {
	.site-locations {
		.show-icon {
			display: flex;

			svg {
				width: auto;
				height: 32px;

				/* Tablet Styles */
				@media (width >= 768px) {
					height: 44px;
				}
			}
		}

		.phone-sms-container {
			display: flex;
			align-items: center;
		}

		.phone-text,
		.sms-text {
			display: flex;
		}
	}
}

/* Responsive iframes  and */
/*=====================================================================
=            Responsive iFrames and wysiwyg Youtube videos            =
=====================================================================*/

.ytwrap {
	max-width: 1000px;
	margin: 0 auto 60px;
}

.ytvideo {
	background-repeat: no-repeat;
	background-size: cover;
}

.iframe-container,
.ytvideo {
	position: relative;
	height: 0;
	overflow: hidden;

	iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: none;
		min-height: 0;
	}
}

.yt-title {
	font-size: 1.25em;
	text-align: center;
	transform: translateY(-100%);
}

/* 16x9 Aspect Ratio */
.iframe-container-16x9,
.ytvideo {
	padding-bottom: 56.25%;
}

/* 4x3 Aspect Ratio */
.iframe-container-4x3 {
	padding-bottom: 75%;
}

.custom-placeholder {
	position: relative;
}

.ytvideo.clicked {
	background: none !important;
}

.ytvideo.clicked:after,
.ytvideo.clicked:before,
.custom-placeholder.clicked:after,
.custom-placeholder.clicked:before {
	display: none;
}

.ytvideo,
.custom-placeholder {
	cursor: pointer;

	&:before {
		content: '';
		position: absolute;
		width: 100%;
		height: 100%;
		background-color: rgb(from var(--dark-color) r g b / 0.1);
		transition: background-color .3s;
	}

	&:after {
		content: '';
		position: absolute;
		width: 80px;
		height: 80px;
		background-image: url('images/svg/video-arrow.svg');
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		opacity: 85%;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		transition: opacity .3s;

		/* Desktop Stylßes */
		@media (width >= 1024px) {
			width: 156px;
			height: 156px;
		}
	}

	&:hover,
	&:focus,
	&:active {
		&::after {
			opacity: 100%;
		}
	}
}

.custom-placeholder {
	img {
		max-width: 100%;
	}
}

/*=====  End of Responsive iFrames and wysiwyg Youtube videos  ======*/


/* Owl Carousel Styling */

/* .owl-carousel {
	display:none;
	overflow: hidden
}

.owl-carousel.owl-loaded {
	display: block;
} */


/* Social Blur */
.social-blur {
	position: relative;
	display: inline-block;
	overflow: hidden;

	&:after {
		content: 'View Image';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		color: var(--light-color);
		font-size: 20px;
		font-weight: var(--fw-bold);
		display: flex;
		justify-content: center;
		align-items: center;
		background: rgb(from var(--dark-color) r g b / 0.5);
	}

	&.no-blur {
		&:after {
			display: none;
		}

		img {
			filter: blur(0);
		}
	}

	img,
	video {
		filter: blur(15px);
	}
}

/* End Social Blur */

.no-wrap {
	white-space: nowrap;
}

.skipto {
	display: block;
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/*==================================
=            Pagination            =
==================================*/

.pagination {
	display: flex;
	flex-direction: column;
	margin-bottom: 30px;
	position: relative;
	width: 100%;
	padding-top: 80px;
	@media (width >= 768px) {
		flex-direction: row;
		justify-content: space-between;
		margin-bottom: 60px;
	}
	.pagination-back {
		text-transform: uppercase;
		font-weight: var(--fw-bold);
		a {
			text-decoration: none;
			&:hover {
				color: var(--primary-alt);
				svg {
					path {
						fill: var(--primary-alt);
					}
				}
			}
		}
		svg {
			margin-right: 6px;
			path {
				fill: var(--dark-color);
			}
		}
	}
	.prev-blog-button,
	.next-blog-button {
		text-transform: uppercase;
		display: flex;
		align-items: center;
		text-decoration: none;
		font-weight: var(--fw-bold);
		svg {
			height: 10px;
			width: auto;
			path {
				fill: var(--dark-color);
			}
		}
	}
	.prev-blog-button {
		svg {
			/* transform: rotate(180deg); */
			margin-right: 6px;
		}
	}
	.next-blog-button {
		svg {
			margin-left: 6px;
		}
	}
	&.pagination-header {
		flex-direction: row;
		.pagination-navigation {
			justify-content: space-between;
			width: 100%;
			padding-top: 50px;
			position: relative;
			@media (width >= 768px) {
				padding-top: 0;
			}
			.button {
				@media (width >= 768px) {
					width: 100px;
				}
			}
			.prev-blog-button, .next-blog-button {
				@media (width < 768px) {
					top: 0;
				}
			}
			.prev-blog-button {
				order: 1;
			}
			.next-blog-button {
				order: 3;
			}
		}
	}
	.tmpl_type_index {
		@media (width >= 768px) {
			justify-content: flex-end;
		}
	}
	.blog-title {
		order: 2;
		text-align: center;
	}
	.main-blog-button {
		text-align: center;
		margin: 0 auto;
		order: 2;
		text-transform: uppercase;
		@media (width >= 768px) {
			order: 1;
			margin: 0;
		}
		a {
			text-decoration: none;
		}
		.button {
			@media (width >= 768px) {
				min-width: 200px;
			}
		}
		/* svg {
			width: 11px;
			height: 11px;
			margin-right: 13px;
		}
		@media (width >= 768px) {
			padding-top: 0;
		}
		&:hover, &:active, &:focus {
			svg {
				path {
					fill: $secondaryAlt;
				}
			}
		}
		&:before {
			display: none;
		} */
	}
	.pagination-navigation {
		display: flex;
		align-items: center;
		justify-content: center;
		column-gap: 20px;
		order: 1;
		text-align: center;
		@media (width >= 768px) {
			order: 2;
		}
		a {
			text-decoration: none;
			&:hover {
				color: var(--primary-alt);
				svg {
					path {
						fill: var(--primary-alt);
					}
				}
			}
		}
		.button {
			display: flex;
			align-items: center;
			justify-content: center;

			span {
				display: flex;
				svg {
					width: 14px;
					height: auto;
					path {
						fill: var(--light-color);
					}
				}
			}
		}
	}
	.prev-blog-button {
		margin-right: 5px;
		margin-bottom: 10px;
		position: relative;
		@media (width >= 768px) {
			margin-bottom: 0;
		}
		.text-container {
			margin-left: 5px;
		}
	}
	.next-blog-button {
		margin-left: 5px;
		margin-bottom: 10px;
		position: relative;
		@media (width >= 768px) {
			margin-bottom: 0;
		}
		.text-container {
			margin-right: 5px;
		}
	}
	.button {
		@include font(12px);
		width: 140px;
		padding: 14px 10px 12px;
		@media (width >= 768px) {
			@include font(16px);
			width: 170px;
			padding: 14px 30px 12px;
		}
	}
}