/* ------------------------
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 {
	font-size: 16px;
	line-height: 1.1em;
	font-weight: var(--fw-regular);
	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(--secondary-color);
	padding: 5px 20px 5px 48px;
	@media (width >= 768px) {
		font-size: 20px;
	}
	@media (width >= 1024px) {
		font-size: 22px;
		padding-left: 62px;
	}
	&:before {
		content: "";
		width: 35px;
		height: 2px;
		position: absolute;
		left: 0;
		top: 52%;
		transform: translateY(-50%);
		background-color: var(--secondary-color);
		transition: all 0.3s;
		@media (width >= 1024px) {
			width: 45px;
		}
	}

	&:hover,
	&:active,
	&:focus {
		color: var(--primary-highlight);
		text-decoration: none;
		&:before {
			background-color: var(--primary-highlight);
		}
	}

	&.btn-inverse {
		color: var(--light-color);
		border-color: var(--light-color);
		&:before {
			background-color: var(--light-color);
		}

		.icon {
			svg {
				path, g {
					fill: var(--light-color);	
				}
			}
		}

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

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

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

	&.btn-alt {
		border: 1px solid var(--primary-color);
		color: var(--primary-color);
        padding: 10px 20px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: fit-content;
		.icon {
			margin-right: 10px;
			svg {
				width: 25px;
				height: auto;
				path, g {
					fill: var(--primary-color);
				}
			}
		}
		&:hover {
			border-color: var(--primary-highlight);
			color: var(--primary-highlight);
			.icon {
				svg {
					path, g {
						fill: var(--primary-highlight);
					}
				}
			}
		}
		&:before {
			display: none;
		}
	}
	&.btn-light {
		border-color: var(--light-color);
		color: var(--light-color);
		.icon {
			svg {
				path, g {
					fill: var(--light-color);
					transition: all 0.3s;
				}
			}
		}
		&:hover {
			border-color: var(--primary-highlight);
			color: var(--primary-highlight);
			.icon {
				svg {
					path, g {
						fill: var(--primary-highlight);
					}
				}
			}
		}
	}
}

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(--primary-font);
		margin: 0;
		padding: 40px 0 20px;

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

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

	figcaption {
		color: var(--primary-color);
		font-family: var(--secondary-font);
		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; */
				width: auto;
				height: 27px;

				/* 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; */
	max-width: 768px;
	margin: 0 auto 60px;
	position: relative;
	&:before {
	 content: "";
	 width: 100vw;
	 height: 50%;
	 background-color: var(--primary-highlight);
	 top: 50%;
	 left: 50%;
	 transform: translate(-50%, -50%);
	 position: absolute;
	 @media (width >= 768px) {
		height: 31%;
	 }
	}
}

.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: 120px;
			height: 120px;
		}
	}

	&: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;
	filter: blur(25px);

	/* &: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 {
		filter: blur(0);

		/* &:after {
			display: none;
		}

		img {
			filter: blur(0);
		} */
	}

	img,
	video {
		/* filter: blur(25px); */
	}
}

/* End Social Blur */

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

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


.img-border {
	position: relative;
	padding: 0 20px 0 25px;
	margin-top: 25px;
	@media (width >= 768px) {
		/* margin-top: 50px; */
		/* padding: 0 40px 0 50px; */
	}
	&:before {
        content: "";
        width: 50%;
        height: calc(65% + 25px);
        background-color: rgb(from var(--primary-color) r g b / 0.8);
        top: -25px;
        left: 0;
        position: absolute;
		z-index: -1;
		/* @media (width >= 768px) {
			height: calc(82% + 50px);
			top: -50px;
		} */
	}
	&:after {
        content: "";
        width: 20%;
        height: 85%;
        background-color: var(--tertiary-color);
        top: 50%;
        right: 0;
        position: absolute;
		z-index: -1;
		transform: translateY(-50%);
	}
	img {
		max-width: 100%;
		margin: 0;
	}
}


.nav-bar .site-search {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
}

.nav-bar .site-search a {
  margin-right: 0;
/*   padding-left: 17px; */
  padding-right: 0;
  border-right: none;
}

.nav-bar .site-search a:hover svg path {
  fill: var(--primary-highlight);
}


.nav-bar .site-search .display-icon {
  display: flex;
}

.nav-bar .site-search svg {
  width: auto;
  height: 26px;
}

.nav-bar .site-search svg path {
  fill:  var(--primary-color);
}


/* Search Box Popup */
.search-box {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(40, 40, 40, 0.8);
  z-index: 1000;
  top: 0;
  left: 0;
}

.search-box .box {
  background: var(--primary-color);
  position: absolute;
  width: 100%;
  height: 68px;
  top: 50%;
  left: 50%;
  text-align: left;
  max-width: 90%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
}

@media only screen and (min-width: 768px){
  .search-box .box {
    max-width: 730px;
  }
}

.search-box .box form {
  display: flex;
  align-items: center;
  width: calc(100% - 60px);
  height: 100%;
}

.search-box .box input[type="text"] {
  font-size: 30px;
  font-size: 1.875rem;
  font-family: "Raleway", sans-serif;
  margin-left: 10px;
  border: none;
  background: transparent;
  color: white;
  outline: none;
  display: inline-block;
  width: 90%;
}

.search-box .box input[type="text"]::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.search-box .box input[type="text"]:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.search-box .box input[type="text"]::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.search-box .box input[type="submit"] {
  position: absolute;
  top: 50%;
  right: 0;
  background-image: url("/wp-content/themes/rm-basetheme/images/svg/search-arrow.svg");
  width: 29px;
  height: 29px;
  border: none;
  background-size: 15px 15px;
  border: none;
  background-color: var(--light-color);
  border-radius: 50px;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-60%, -50%);
}

.search-box .box .search-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 100%;
  margin-left: 20px;
}


/* Cherry */
#hero {
	.widget-mount {
		section {
			padding-left: 0;
			padding-right: 0;
		}
	}
}


/* Resume Format */
.quick-items {
  position: relative;
  z-index: 1;
  > div {
    margin-bottom: 0.5em;
    display: grid;
	column-gap: 20px;
	row-gap: 5px;
    grid-template-columns: 150px auto;
    &:last-of-type {
      margin-bottom: 0;
    }
  }
  dt, dd {
    display: inline;
  }
  dt {
    /* font-weight: var(--fw-bold); */
  }
  dd {
    margin-left: 0;
    &:before {
      content: ' ';
    }
  }
}




.form-wrap.mod-basic {
	.module-subheading {
		margin-bottom: 1em;
	}
}