/* ------------------------
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-family: var(--secondary-font);
	background-color: var(--primary-color);
	color: var(--light-color);
	padding: 12px 30px;

	&:hover,
	&:active,
	&:focus {
		background-color: var(--secondary-color);
		color: var(--light-color);
	}

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

		&:hover,
		&:active,
		&:focus {
			background-color: oklch(from var(--light-color) calc(l - 0.10) c h);
			color: var(--primary-color);
		}
	}

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

		&:hover,
		&:active,
		&:focus {
			background-color: oklch(from var(--dark-color) calc(l + 0.10) c h);
		}
	}
}

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

		&:hover,
		&:active,
		&:focus {
			background-color: oklch(from var(--light-color) calc(l - 0.10) c h);
			color: var(--primary-color);
		}
	}
}

.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: var(--primary-color);
}

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

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

			svg {
				width: 18px;
				height: auto;

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

		.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;
}