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


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

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

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

/* .content { */
img.alignright, img.alignleft, div.alignright, div.alignleft {
	float: none;
	@media (min-width: 768px) {
		margin-bottom: 1em;
		max-width: 50%;
	}
}
img.alignleft, div.alignleft {
	@media (min-width: 768px) {
		float: left;
		margin-right: 1em;
	}
}
img.alignright, div.alignright {
	@media (min-width: 768px) {
		float: right;
		margin-left: 1em;
	}
}
/* } */

.wp-caption {
	max-width: 95%;
	img {
		width: 100%;
		height: auto;
	}
}


img.alignleft, img.alignright, img.aligncenter, .yes-frame {
	visibility: visible;
}

/* svg:not(:root) {
	height: 100%;
	width: auto;
} */

button.button {
	border: none;
}

.button, .buttons a, .rm-content-styles .button {
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.1em;
	font-weight: var(--fw-regular);
	letter-spacing: 0.03em;
	cursor: pointer;
	display: inline-block;
	position: relative;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	font-family: var(--primary-font);
	background: transparent;
	color: var(--primary-color);
	padding: 10px 0px;
	&:after {
		content: '';
		position: absolute;
		width: 29px;
		height: 5px;
		bottom: 0;
		left: 0;
		background-color: var(--primary-highlight);
		transition: all .3s;
	}
	&:hover, &:active, &:focus {
		/* background: $secondaryColor; */
		color: var(--primary-highlight);
		&:after {
			width: 100%;
			background-color: var(--light-alt);
		}
	}
	&.btn-inverse {
		/* Consider .btn-light? */
		/* background: $lightColor; */
		color: var(--light-color);
		&:after {
			background-color: var(--light-color);
		}
		&:hover, &:active, &:focus {
			/* background: darken($lightColor, 10%); */
			/* color: $primaryColor; */
		}
	}
	&.btn-dark {
		background: var(--dark-color);
		&:hover, &:active, &:focus {
			background: color-mix(in srgb, var(--dark-color), white 10%);
		}
	}
	&.btn-block {
		background-color: var(--primary-highlight);
		color: var(--light-color);
		padding: 16px 30px;
		letter-spacing: 1.6px;
		&::after {
			display: none;
		}
		&:hover {
			background-color: var(--light-alt);
		}
	}
}

div[id^="gform_wrapper_"].btn-inverse_wrapper {
	.button {
		/* NOTE: original used @extend .btn-inverse; declarations duplicated from .btn-inverse above */
		color: var(--light-color);
		&:after {
			background-color: var(--light-color);
		}
	}
}

/* blockquote {
	@include font(20px, 1.5em);
	position: relative;
	margin-top: 100px;
	font-style: italic;
	font-family: $highlightFont;
	@include media($tablet) {
		margin-left: 50px;
		padding-left: 40px;
		border-color: $primaryColor;
	}
	footer {
		@include font(24px, 1em);
		color: $primaryColor;
		&:before {
			content: "~ ";
		}
	}
} */

.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-size: 18px;
		font-size: 1.125rem;
		line-height: 1.55em;
		font-weight: var(--fw-light);
		margin: 0;
		padding: 40px 0 20px;
		@media (min-width: 768px) {
			font-size: 20px;
			font-size: 1.25rem;
		}
		p {
			&:first-of-type {
				&:before {
					content: '“';
				}
			}
			&:last-of-type {
				&:after {
					content: '”';
				}
			}
		}
	}
	figcaption {
		font-size: 20px;
		font-size: 1.25rem;
		line-height: 1.5em;
		font-weight: var(--fw-semi-bold);
		letter-spacing: 0.06em;
		font-family: var(--primary-font);
		color: var(--secondary-color);
		text-transform: uppercase;
		padding: 0 0 40px;
		@media (min-width: 768px) {
			font-size: 22px;
			font-size: 1.375rem;
		}
		&::before {
			content: "— ";
		}
	}
}



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

.two-column {
	@media (min-width: 768px) {
		column-count: 2;
		column-gap: 40px;
	}
}

.three-column {
	@media (min-width: 768px) {
		column-count: 2;
		column-gap: 40px;
	}
	@media (min-width: 1060px) {
		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;
				@media (min-width: 768px) {
					width: 28px;
				}
			}
		}
		.phone-sms-container {
			display: flex;
			align-items: center;
		}
		.phone-text, .sms-text {
			display: flex;
		}
	}
}

/* For jump links on a site with fixed header */

/* :target:before {
	@include media($desktop) {
		content:"";
		display:block;
		height:70px; fixed header height
		margin:-70px 0 0; negative fixed header height
	}
} */

/* 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;
		@media (min-width: 1060px) {
			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;
}
