/*
    This CSS File will only display on pages and posts using the ACF Flexible Layouts
*/

/* Table of Contents
    - Defaults
    - Text Section
    - Image Text Section
    - Icon Section
    - Galery Section
    - Background Image Section
    - Blog & Services Section
    - Team Section
    - Testimonials Section
    - Form Section
    - Events Section
    - Tabs Section
        - Horizontal Tabs Section
        - Vertical Tabs Section
    - FAQs Section
    - Media Queries
*/

:root {
	--mainColor: #df8f45;
	--secondColor: #0173ba;
	--boxShadow: 0rem 1rem 4rem rgb(0 0 0 / 15%);
}

/* Defaults
---------------------------------------------------------------------------- */
.flexible-layout-page .site-inner {
	padding: 0;
	max-width: 100%;
}

.flexible-layout-page .entry {
	padding: 0;
	margin: 0;
	display: none;
}

.flexible-layout,
.flexible-layout.flexible-layout-image-text-section .image-text-default {
	padding: 40px 0;
}

.flexible-layout .section-title {
	font-size: 30px;
	font-weight: 700;
	text-transform: capitalize;
	color: var(--mainColor);
}

.flexible-layout .section-button {
	margin-top: 20px;
}

.flexible-layout .section-button a.button {
	margin: 0 5px;
}

.flexible-layout-blog-section .section-content,
.flexible-layout-blog-section .section-title,
.flexible-layout-services-section .section-content,
.flexible-layout-services-section .section-title {
	text-align: center;
}

.flexible-layout[style="background-color:#df8f45;color:#ffffff;"] .section-title,
.flexible-layout[style="background-color:#0173ba;color:#ffffff;"] .section-title {
	color: white;
}

/* Text Section
---------------------------------------------------------------------------- */
.flexible-layout-text-section .text-centered {
	text-align: center;
	max-width: 1280px;
	margin: 0 auto;
}

.flexible-layout-text-section .text-cta .flexcol p {
	margin: 0;
}

.flexible-layout-text-section .text-styling.text-list .section-content ul {
	padding-left: 20px;
}

.flexible-layout-text-section .text-cta .flexcol:last-of-type a.button.underlined-button:hover {
	color: var(--secondColor);
}

.flexible-layout-text-section .text-cta .flexcol:last-of-type a.button:not(:last-of-type) {
	margin-bottom: 15px;
}

.flexible-layout-text-section .text-styling.text-list .section-content ul {
	padding-left: 20px;
}

.flexible-layout-text-section .text-styling.text-list .section-content ul>li {
	list-style: disc;
	margin-bottom: 15px;
}

.flexible-layout-text-section .text-cta .flexcol:last-of-type a.button {
	border-radius: 10px;
}

.flexible-layout-text-section .text-cta .flexcol:last-of-type a.button.underlined-button {
	color: white;
	display: inline-block;
	border-color: white;
	min-width: auto;
}

/* Image Text Section
---------------------------------------------------------------------------- */
.flexible-layout.flexible-layout-image-text-section,
.flexible-layout.flexible-layout-image-text-section>.wrap {
	padding: 0;
}

.flexible-layout-image-text-section .section-content ul>li {
	position: relative;
	padding-left: 35px;
	margin-bottom: 10px;
	line-height: 1.6;
}

.flexible-layout-image-text-section .section-content ul>li:before {
	font-family: "Font Awesome 6 Pro";
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 0;
	font-size: 24px;
	line-height: 1;
	text-shadow: none;
	content: '\f06c';
	color: var(--mainColor);
	opacity: 1;
}

.flexible-layout-image-text-section .image-text-full-width .flexcol:last-of-type .content-wrap {
	padding: 30px 5%;
}

.flexible-layout-image-text-section .image-text-full-width .wrap {
	padding: 0;
}

.flexible-layout-image-text-section .image-text-default .flexcol {
	overflow: visible;
}

.flexible-layout-image-text-section .image-text-default .image-wrap {
	position: relative;
	width: calc(100% - 15px);
}

.flexible-layout-image-text-section .image-text-default .flexcol:first-of-type.flex-1 .image-wrap {
	margin: 0 0 0 auto;
}

.flexible-layout-image-text-section .image-text-default .flexcol:first-of-type.flex-2 .image-wrap {
	margin: 0 auto 0 0;
}

.flexible-layout-image-text-section .image-text-default .flexcol .image-wrap::before {
	content: '';
	position: absolute;
	top: -15px;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	z-index: -1;
}

.flexible-layout-image-text-section .image-text-default .flexcol:first-of-type.flex-1 .image-wrap::before {
	left: -15px;
	background-color: var(--mainColor);
}

.flexible-layout-image-text-section .image-text-default .flexcol:first-of-type.flex-2 .image-wrap::before {
	right: -15px;
	background-color: var(--secondColor);
}

.flexible-layout-locations-section .section-title,
.flexible-layout-image-text-section .image-text-default .flexcol:first-of-type.flex-2~.flex-1 .section-title {
	color: var(--secondColor);
}

.flexible-layout-image-text-section .image-text-default .image-wrap img {
	border-radius: 10px;
	box-shadow: var(--boxShadow);
}



/* Icon Section
---------------------------------------------------------------------------- */
.flexible-layout-icon-section .flexcol {
	text-align: center;
}

.flexible-layout-icon-section .section-content,
.flexible-layout-icon-section .section-title {
	text-align: center;
}

.flexible-layout-icon-section .flexcol .icon i {
	font-size: 40px;
	margin-bottom: 10px;
}

.flexible-layout-icon-section .flexcol h3.icon-title {
	margin-bottom: 10px;
	line-height: 1;
	font-size: 22px;
	font-weight: 700;
}

.flexible-layout-icon-section .flexcol .icon-content {
	font-size: 16px;
}

.flexible-layout-icon-section .section-button {
	text-align: center;
	margin-top: 20px;
}

/* Gallery Section
---------------------------------------------------------------------------- */
.flexible-layout-gallery-section .section-title {
	text-align: center;
}

.flexible-layout-gallery-section .section-content {
	text-align: center;
	max-width: 960px;
	margin: 0 auto 20px;
}

.slick-slider.gallery-slider-navigation .slick-track {
	width: auto !important;
	transform: none !important;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.flexible-layout-gallery-section .gallery-section ul>li,
.gallery-slider-navigation .item {
	padding: 5px;
	list-style-type: none;
	flex-basis: 100%;
	max-width: 100%;
}

.flexible-layout-gallery-section .image-links {
	text-align: center;
}

.flexible-layout-gallery-section .image-links .section-image {
	padding: 5px;
}

.flexible-layout-gallery-section .section-button {
	text-align: center;
	margin-bottom: 20px;
}

/* Gallery Lightbox
---------------------------------------------------------------------------- */
.gallery-modal {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0 0 0 / 75%);
	z-index: -1;
	opacity: 0;
	transition: opacity 0.15s ease;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-animation-duration: .75s;
	animation-duration: .75s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
}

@-webkit-keyframes modalZoom {
	0% {
		opacity: 0;
		z-index: -1;
	}

	50% {
		opacity: 1;
		z-index: 99999;
	}

	100% {
		opacity: 1;
		z-index: 99999;
	}
}

@keyframes modalZoom {
	0% {
		opacity: 0;
		z-index: -1;
	}

	50% {
		opacity: 1;
		z-index: 99999;
	}

	100% {
		opacity: 1;
		z-index: 99999;
	}
}

.gallery-modal.active {
	-webkit-animation-name: modalZoom;
	animation-name: modalZoom;
	opacity: 1;
	z-index: 99999;
}

/* Modal Content */
.modal-content {
	position: relative;
	margin: auto;
	padding: 0;
	max-width: 1280px;
	transform: scale(0);
	transition: transform 0.5s ease;
}

.gallery-modal.active .modal-content {
	transform: scale(1);
}

/* The Close Button */

.gallery-modal .close {
	color: white;
	position: absolute;
	top: -60px;
	right: 0;
	font-size: 50px;
	font-weight: bold;
	line-height: 1;
	transition: color 0.25s ease;
}

.gallery-modal .close:hover,
.gallery-modal .close:focus {
	color: #999;
	text-decoration: none;
	cursor: pointer;
}

.slick-slider.gallery-slider,
.slick-slider.gallery-slider-navigation {
	margin: 0;
}

.slick-slider.gallery-slider .slick-track {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.slick-slider.gallery-slider .item {
	height: inherit;
}

.slick-slider.gallery-slider-navigation .item img:not(.Logo):hover {
	cursor: zoom-in;
}

.gallery-slider .item img {
	box-shadow: var(--boxShadow);
	border-radius: 5px;
	margin: auto;
	background-color: white;
	padding: 10px;
	height: 100%;
}

.gallery-slider .item:not(.slick-active) img {
	opacity: 0;
}

.gallery-slider .slick-prev,
.gallery-slider .slick-next {
	bottom: -80px;
	top: auto;
	width: auto;
	height: auto;
}

.gallery-slider .slick-prev {
	left: calc(50% - 40px);
}

.gallery-slider .slick-next {
	right: calc(50% - 40px);
}

.gallery-slider .slick-prev::before,
.gallery-slider .slick-next::before {
	font-family: var(--iconFont);
	opacity: 1;
	font-size: 32px;
	color: white;
	font-weight: 900;
	transition: color 0.25s ease;
}

.gallery-slider .slick-prev:hover::before,
.gallery-slider .slick-next:hover::before {
	color: #999;
}

.gallery-slider .slick-prev::before {
	content: '\f30a';
}

.gallery-slider .slick-next::before {
	content: '\f30b';
}

/* Background Image Section
---------------------------------------------------------------------------- */
.flexible-layout.flexible-layout-background-image-section .section-title {
	color: white;
}

.flexible-layout-background-image-section .background-image.half-height,
.flexible-layout-background-image-section .background-image.half-height .background-content {
	min-height: 50vh;
}

.flexible-layout-background-image-section .background-image.full-height,
.flexible-layout-background-image-section .background-image.full-height .background-content {
	min-height: calc(100vh - 70px);
	max-height: 1080px;
}

.flexible-layout-background-image-section .background-image .background-content {
	background-color: rgba(0, 0, 0, .35);
}

.flexible-layout.flexible-layout-background-image-section {
	padding: 0;
}

.flexible-layout.flexible-layout-background-image-section>.wrap {
	max-width: none;
	padding: 0;
}

.flexible-layout-background-image-section .background-image,
.flexible-layout-background-image-section .background-image .background-content {
	position: relative;
}

.flexible-layout-background-image-section .background-image .image-section {
	position: absolute;
	top: 0;
	bottom: 0;
	overflow: hidden;
	margin: 0;
	right: 0;
	left: 0;
}

.flexible-layout-background-image-section .background-image .image-section img {
	position: relative;
	z-index: 1;
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center center;
}

.flexible-layout-background-image-section .background-image .background-content {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 1;
	color: #fff;
	padding: 40px 0;
}

.flexible-layout-background-image-section .background-image .background-content .section-content,
.flexible-layout.flexible-layout-background-image-section .section-title {
	text-shadow: .1px .1px 15px rgb(0 0 0 / 25%);
}

.flexible-layout-background-image-section .background-image:not(.full-height) .background-content .section-content {
	line-height: 1.625;
}

.flexible-layout-background-image-section .background-image .background-content .section-content p {
	margin: 0;
}

.flexible-layout-background-image-section .background-image .background-content .section-button {
	margin-top: 20px;
}

/* Blog & Services Section
---------------------------------------------------------------------------- */
.flexible-layout-blog-section .section-button {
	text-align: center;
	margin-top: 20px;
}

.flexible-layout-blog-section .flexcol,
.flexible-layout-services-section .flexcol {
	box-shadow: var(--boxShadow);
	position: relative;
	border-radius: 5px;
	background-color: #fff;
}

.flexible-layout-blog-section .flexcol .post-link,
.flexible-layout-services-section .flexcol .service-link {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
}

.flexible-layout-blog-section .flexcol .post-image,
.flexible-layout-services-section .flexcol .service-image {
	overflow: hidden;
	border-radius: 5px 5px 0 0;
}

.flexible-layout-blog-section .flexcol .post-image img,
.flexible-layout-services-section .flexcol .service-image img {
	border-radius: 5px 5px 0 0;
	transition: .5s ease all;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.flexible-layout-blog-section .flexcol:hover .post-image img,
.flexible-layout-services-section .flexcol:hover .service-image img {
	transform: scale(1.1);
}

.flexible-layout-blog-section .flexcol .post-content,
.flexible-layout-services-section .flexcol .service-content {
	padding: 15px;
}

.flexible-layout-services-section .section-button,
.flexible-layout-team-section .section-button {
	text-align: center;
	margin-top: 20px;
}

.flexible-layout-services-section .section-button a.button,
.flexible-layout-team-section .section-button a.button {
	margin: 0 5px;
}

.flexible-layout-blog-section .flexcol .post-date {
	color: var(--secondColor);
	text-transform: uppercase;
	font-weight: 700;
	font-size: 15px;
}

.flexible-layout-blog-section .flexcol .post-title,
.flexible-layout-services-section .flexcol .service-title {
	font-size: 22px;
	text-transform: capitalize;
	line-height: 1.4;
	margin-bottom: 10px;
	font-weight: 700;
}

/* Team Section
---------------------------------------------------------------------------- */
.flexible-layout-team-section .flexcol {
	text-align: center;
	position: relative;
}

.flexible-layout-team-section .flexcol .team-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
}

.flexible-layout-team-section .flexcol .team-headshot img {
	border-radius: 50%;
}

.flexible-layout-team-section .flexcol h3.team-name {
	font-size: 26px;
	font-weight: 700;
	margin: 0;
}

.flexible-layout-team-section .flexcol .team-position {
	color: var(--mainColor);
	font-size: 16px;
	font-weight: 700;
}

.flexible-layout-team-section .section-title {
	text-align: center;
}

.flexible-layout-team-section .section-content {
	text-align: center;
	max-width: 960px;
	margin: 0 auto;
}

/* Testimonials Section
---------------------------------------------------------------------------- */
.flexible-layout-testimonial-section .testimonial-section .flexcol,
.flexible-layout-testimonial-section .testimonial-section .item .content-wrap {
	background-color: #fff;
	box-shadow: var(--boxShadow);
	border-radius: 5px;
	padding: 15px;
}

.flexible-layout-testimonial-section .testimonial-section .item .content-wrap {
	margin: 15px;
	box-shadow: 0 5px 20px rgb(0 0 0 / 10%);
}

.flexible-layout-testimonial-section .section-content,
.flexible-layout-testimonial-section .section-title {
	text-align: center;
}

.flexible-layout-testimonial-section .section-button {
	text-align: center;
	margin-top: 20px;
}

.flexible-layout-testimonial-section .section-button a.button {
	margin: 0 5px;
}

.flexible-layout-testimonial-section .testimonial-section .flexcol h3.client-name,
.flexible-layout-testimonial-section .testimonial-section .item h3.client-name {
	font-weight: 700;
	margin-bottom: 5px;
	line-height: 1;
	font-size: 18px;
}

.flexible-layout-testimonial-section .testimonial-section .flexcol .review-info,
.flexible-layout-testimonial-section .testimonial-section .item .review-info {
	font-size: 12px;
	color: #999;
	line-height: 1.2;
	margin-top: 3px;
}

.flexible-layout-testimonial-section .testimonial-section .flexcol .stars,
.flexible-layout-testimonial-section .testimonial-section .item .stars {
	color: #ffc107;
	margin: 10px 0;
	font-size: 15px;
}

.flexible-layout-testimonial-section .testimonial-section .flexcol .review,
.flexible-layout-testimonial-section .testimonial-section .item .review {
	max-height: 110px;
	overflow: auto;
	font-size: 15px;
	padding: 0 10px 0 0;
	line-height: 1.4;
	color: black;
}

.flexible-layout-testimonial-section .testimonial-section .flexcol .review::-webkit-scrollbar,
.flexible-layout-testimonial-section .testimonial-section .item .review::-webkit-scrollbar {
	width: 04px;
}

.flexible-layout-testimonial-section .testimonial-section .flexcol .review::-webkit-scrollbar-track,
.flexible-layout-testimonial-section .testimonial-section .item .review::-webkit-scrollbar-track {
	background: #f1f1f1;
}

.flexible-layout-testimonial-section .testimonial-section .flexcol .review::-webkit-scrollbar-thumb,
.flexible-layout-testimonial-section .testimonial-section .item .review::-webkit-scrollbar-thumb {
	background: #999;
	cursor: pointer;
}

.flexible-layout-testimonial-section .testimonial-section .flexcol .review::-webkit-scrollbar-thumb:hover,
.flexible-layout-testimonial-section .testimonial-section .item .review::-webkit-scrollbar-thumb:hover {
	background: var(--secondColor);
}

/* Form Section
-------------------------------------------------------------------------- */
.flexible-layout.flexible-layout-form-section {
	padding: 0;
	position: relative;
}

.flexible-layout.flexible-layout-form-section>.wrap {
	max-width: none;
	padding: 0;
}

.flexible-layout-form-section .flexible-form-section.has-image .form-styling,
.flexible-layout-form-section .flexible-form-section.has-image .form-styling.form-full-height .background-content .flexcol:last-of-type {
	overflow: hidden;
	position: relative;
}

.flexible-layout-form-section .form-styling.form-overlay::before {
	content: '';
	width: 100%;
	height: 200px;
	background-color: white;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 9;
}

.flexible-layout-form-section .form-styling.form-overlay .background-content>.wrap {
	position: relative;
	z-index: 10;
}

.flexible-layout-form-section .form-styling.form-full-height .background-content {
	padding: 0;
}

.flexible-layout-form-section .image-section {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	overflow: hidden;
	margin: 0;
}

.flexible-layout-form-section .image-section img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.flexible-layout-form-section .flexible-form-section.has-image .background-content {
	background-color: rgba(0, 0, 0, 0.25);
	color: white;
	text-shadow: 2px 2px 10px rgb(0 0 0 / 25%);
	position: relative;
}

.flexible-layout-form-section .background-content {
	padding: 40px 0;
}

.flexible-layout-form-section .form-styling.form-default .form-title,
.flexible-layout-form-section .form-styling.form-overlay .form-title {
	background-color: var(--mainColor);
	color: white;
	margin: 0;
	padding: 20px;
	text-align: center;
	border-radius: 10px 10px 0 0;
	font-weight: 700;
	font-size: 30px;
	box-shadow: var(--boxShadow);
}

.flexible-layout-form-section .form-styling.form-default .form-shortcode,
.flexible-layout-form-section .form-styling.form-overlay .form-shortcode {
	background-color: white;
	color: #333;
	padding: 20px;
	border-radius: 0 0 10px 10px;
	box-shadow: var(--boxShadow);
}

.flexible-layout-form-section .form-shortcode .gfield textarea.medium {
	height: 125px;
}

.flexible-layout-form-section .form-shortcode input,
.flexible-layout-form-section .form-shortcode textarea,
.flexible-layout-form-section .form-shortcode select {
	padding: 12px;
}

.flexible-layout-form-section .form-shortcode .gform_wrapper.gravity-theme .gfield_label {
	font-size: 15px;
	margin-bottom: 5px;
}

.flexible-layout-form-section .form-shortcode .gform_wrapper.gravity-theme .ginput_complex label {
	padding: 0;
	font-size: 14px;
}

.flexible-layout-form-section .form-shortcode .gform_wrapper.gravity-theme .gform_fields {
	grid-row-gap: 8px;
}

.flexible-layout-form-section .form-shortcode input[type=submit] {
	display: block;
	width: 100%;
	margin: 0;
	padding: 18px;
	color: white;
}

.flexible-layout-form-section .form-shortcode input[type=submit]:not(:hover) {
	background-color: var(--mainColor);
}

.flexible-layout-form-section .form-styling:not(.form-overlay) .background-content .flexbox {
	align-items: center;
}

.flexible-layout-form-section .background-content .flexcol:first-of-type {
	padding: 0 0 40px 0;
	font-weight: 700;
}

.flexible-layout-form-section .background-content .flexcol .section-content .jsmt-shortcode {
	display: block;
	margin-bottom: 15px;
}

.flexible-layout-form-section .background-content .flexcol .section-content ul.jsmt-hours {
	padding-left: 30px;
}

.flexible-layout-form-section .background-content .flexcol .section-content ul>li {
	margin-bottom: 10px;
	position: relative;
	padding-left: 45px;
	list-style-type: none;
	line-height: 1.8;
}

.flexible-layout-form-section .background-content .flexcol .section-content ul>li::before,
.flexible-layout-form-section .background-content .flexcol .section-content ul>li::after {
	font-family: "Font Awesome 6 Duotone";
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 0;
	font-size: 30px;
	line-height: 1;
	text-shadow: none;
}

.flexible-layout-form-section .background-content .flexcol .section-content ul>li::before {
	content: '\f336';
	color: white;
	opacity: 1;
}

.flexible-layout-form-section .background-content .flexcol .section-content ul>li::after {
	content: '\10f336';
	color: var(--mainColor);
	opacity: 1;
}

.flexible-layout-form-section .background-content .flexcol .section-content .jsmt-shortcode ul>li {
	margin-bottom: 0;
	padding: 0;
}

.flexible-layout-form-section .background-content .flexcol .section-content .jsmt-shortcode ul>li::before,
.flexible-layout-form-section .background-content .flexcol .section-content .jsmt-shortcode ul>li::after {
	content: '';
}

.flexible-layout-form-section .background-content .flexcol:first-of-type .section-button {
	margin-top: 30px;
}

.flexible-layout-form-section .flexible-form-section.has-image .background-content .flexcol:first-of-type a.button.primary-button,
.flexible-layout-background-image-section .background-content a.button.primary-button,
.flexible-layout-text-section .text-cta .flexcol:last-of-type a.button.primary-button {
	background-color: white;
	color: var(--mainColor);
	text-shadow: none;
}

.flexible-layout-form-section .flexible-form-section.has-image .background-content .flexcol:first-of-type a.button.primary-button:hover,
.flexible-layout-background-image-section .background-content a.button.primary-button:hover,
.flexible-layout-text-section .text-cta .flexcol:last-of-type a.button.primary-button:hover {
	background-color: var(--mainColor);
	color: white;
}

.flexible-layout-form-section .flexible-form-section.has-image .background-content .flexcol:first-of-type a.button.secondary-button,
.flexible-layout-background-image-section .background-content a.button.secondary-button,
.flexible-layout-text-section .text-cta .flexcol:last-of-type a.button.secondary-button {
	color: white;
	border: 2px solid white;
	text-shadow: none;
	background-color: transparent;
}

.flexible-layout-form-section .flexible-form-section.has-image .background-content .flexcol:first-of-type a.button.secondary-button:hover,
.flexible-layout-background-image-section .background-content a.button.secondary-button:hover,
.flexible-layout-text-section .text-cta .flexcol:last-of-type a.button.secondary-button:hover {
	background-color: var(--secondColor);
	border-color: var(--secondColor);
}

.flexible-layout-form-section .form-styling.form-full-height .form-title {
	color: white;
	margin: 0;
	padding: 20px;
	text-align: center;
	font-weight: 700;
	font-size: 30px;
}

.flexible-layout-form-section .form-styling.form-full-height .form-section .gform_wrapper .gfield_required {
	color: white;
}

.flexible-layout-form-section .form-styling.form-full-height .background-content .flexcol:last-of-type {
	background-color: var(--mainColor);
	color: white;
	padding: 40px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	box-shadow: var(--boxShadow);
}

.flexible-layout-form-section .form-styling.form-full-height .form-shortcode input[type=submit] {
	margin-top: 20px;
}

.flexible-layout-form-section .form-styling.form-full-height .form-shortcode input[type=submit]:not(:hover) {
	background-color: white;
	color: var(--mainColor);
}

/* Events Section
---------------------------------------------------------------------------- */
.flexible-layout-events-section .section-content,
.flexible-layout-events-section .section-title {
	text-align: center;
}

.flexible-layout-events-section .event-section .flexbox {
	border-radius: 10px;
	box-shadow: var(--boxShadow);
	align-items: center;
	background-color: #fff;
	position: relative;
}

.flexible-layout-events-section .event-section .flexbox:not(:last-of-type) {
	margin-bottom: 40px;
}

.flexible-layout-events-section .event-section .flexcol img {
	border-radius: 10px 0 0 10px;
}

.flexible-layout-events-section .event-section .flexcol .event-date,
.flexible-layout-events-section .event-section .flexcol .event-time {
	font-size: 20px;
}

.flexible-layout-events-section .event-section .flexcol h2.event-title {
	color: var(--mainColor);
	font-size: 26px;
	line-height: 1.2;
	margin-bottom: 15px;
}

.flexible-layout-events-section .event-section .flexcol .event-button {
	margin-top: 15px;
}

.flexible-layout-events-section .event-section .flexcol .event-date i,
.flexible-layout-events-section .event-section .flexcol .event-time i {
	margin-right: 10px;
}

.flexible-layout-events-section .section-button {
	text-align: center;
	margin-top: 40px;
}

/* Tabs Section
---------------------------------------------------------------------------- */
.flexible-layout-tabs-section .section-title,
.flexible-layout-tabs-section .section-content {
	text-align: center;
}

.flexible-layout-tabs-section ul.tabs-nav>li {
	list-style-type: none;
}

.flexible-layout-tabs-section ul.tabs-nav>li a {
	display: block;
	padding: 20px;
	background-color: #f7f7f7;
	border-bottom: 5px solid #f7f7f7;
	outline: none;
	color: #333;
	transition: 0.5s ease all;
	margin: 0 2px;
}

.flexible-layout-tabs-section ul.tabs-nav>li a:hover,
.flexible-layout-tabs-section ul.tabs-nav>li.ui-tabs-active a {
	color: var(--mainColor);
	border-bottom: 5px solid var(--mainColor);
}

.flexible-layout-tabs-section .tabs-content {
	padding: 20px 5%;
	box-shadow: var(--boxShadow);
	background-color: white;
}

.flexible-layout-tabs-section .tabs-content .tab-title {
	font-size: 24px;
	font-weight: 700;
}

/* Horizontal Tabs Section
------------------------------------------------- */
.flexible-layout-tabs-section .horizontal-tabs ul.tabs-nav {
	box-shadow: var(--boxShadow);
	border-radius: 5px 5px 0 0;
	overflow: hidden;
}

.flexible-layout-tabs-section .horizontal-tabs .tabs-content {
	border-radius: 0 0 5px 5px;
}

/* Vertical Tabs Section
------------------------------------------------- */
.flexible-layout-tabs-section .vertical-tabs ul.tabs-nav {
	border-radius: 5px 0 0 5px;
	overflow: hidden;
	position: relative;
	z-index: 9;
}

.flexible-layout-tabs-section .vertical-tabs ul.tabs-nav>li a {
	display: inline-flex;
	width: 100%;
	align-items: center;
	margin: 2px 0;
}

.flexible-layout-tabs-section .vertical-tabs ul.tabs-nav>li a .tab-icon {
	font-size: 26px;
	margin-right: 10px;
	width: 30px;
}

.flexible-layout-tabs-section .vertical-tabs ul.tabs-nav>li a .tab-title {
	font-family: var(--headingFont);
	font-weight: 700;
}

.flexible-layout-tabs-section .vertical-tabs .tabs-content {
	border-radius: 0 5px 5px 0;
}

/* FAQs Section
---------------------------------------------------------------------------- */
.flexible-layout-faqs-section .section-title,
.flexible-layout-faqs-section .section-content,
.flexible-layout-faqs-section .section-button {
	text-align: center;
}

.flexible-layout-faqs-section .section-content {
	text-align: center;
	max-width: 960px;
	margin: 0 auto 20px;
}

.flexible-layout-faqs-section .faq-section {
	max-width: 960px;
	margin: 0 auto;
}

/* Locations Section
---------------------------------------------------------------------------------------------------------------- */

.flexible-layout-locations-section .section-title,
.flexible-layout-locations-section .section-content {
	text-align: center;
}

.flexible-layout-locations-section .flexcol {
	box-shadow: var(--boxShadow);
	background-color: white;
	overflow: hidden;
	border-radius: 10px;
	text-align: center;
}

.flexible-layout-locations-section .flexcol a.button {
	width: 100%;
}

.flexible-layout-locations-section .flexcol .post-info {
	padding: 10px;
}

.flexible-layout-locations-section .flexcol .post-info .address:not(:last-child) {
	margin-bottom: 1rem;
}

.flexible-layout-locations-section .flexcol .post-info .phone,
.flexible-layout-locations-section .flexcol .post-info .phone i {
	color: var(--secondColor);
	font-weight: 700;
}

.flexible-layout-locations-section .flexcol .post-info .phone i {
	transition: .2s ease-in-out;
}

.flexible-layout-locations-section .flexcol .post-info .phone:hover a,
.flexible-layout-locations-section .flexcol .post-info .phone:hover i {
	color: var(--mainColor);
}

.flexible-layout-locations-section .flexcol a.button {
	border-radius: 0 0 10px 10px;
}

.flexible-layout-locations-section .flexcol a.button:hover {
	background-color: var(--mainColor);
	color: white;
}

.flexible-layout-locations-section .flexcol img {
	width: 100%;
}

/* Media Queries
---------------------------------------------------------------------------- */
@media only screen and (min-width:660px) {

	.flexible-layout-gallery-section .gallery-section ul,
	.flexible-layout-icon-section .flexbox,
	.flexible-layout-team-section .flexbox {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.flexible-layout-gallery-section .gallery-section ul {
		align-items: center;
	}

	.flexible-layout-team-section .flexbox,
	.flexible-layout-icon-section .flexbox {
		gap: 30px;
	}

	.flexible-layout-icon-section .flexcol {
		flex-basis: calc(50% - 15px);
		max-width: calc(50% - 15px);
	}

	.flexible-layout-gallery-section .gallery-section ul>li,
	.gallery-slider-navigation .item {
		flex-basis: 50%;
		max-width: 50%;
	}

	.flexible-layout-background-image-section .background-image .background-content .section-button a.button {
		margin: 0 5px;
		display: inline-block;
		vertical-align: middle;
	}

	.flexible-layout-team-section .flexbox {
		justify-content: center;
		gap: 30px;
	}

	.flexible-layout-team-section .flexcol {
		flex-basis: calc(50% - 15px);
		max-width: calc(50% - 15px);
	}

	.flexible-layout-image-text-section .section-content ul {
		column-count: 2;
	}
}

@media only screen and (min-width:660px) and (max-width:959px) {
	.flexible-layout-image-text-section .image-text-full-width .flexcol .image-wrap {
		height: 350px;
		position: relative;
		overflow: hidden;
	}

	.flexible-layout-image-text-section .image-text-full-width .flexcol .image-wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
	}

	.flexible-layout-locations-section .flexbox {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
	}

	.flexible-layout-locations-section .flexcol {
		flex-basis: calc(50% - 10px);
		max-width: calc(50% - 10px);
	}

}

@media only screen and (min-width:960px) {

	.background-image .background-content,
	.flexible-layout,
	.flexible-layout.flexible-layout-image-text-section .image-text-default,
	.flexible-layout-form-section .background-content {
		padding: 60px 0;
	}

	.flexible-layout-image-text-section>.wrap,
	.flexible-layout-image-text-section>.wrap .image-text-full-width>.wrap {
		max-width: none;
	}

	.flexible-layout-image-text-section .image-text-default .flexbox,
	.flexible-layout-text-section .text-cta .flexbox {
		align-items: center;
	}

	.flexible-layout-image-text-section .flexcol.flex-1 {
		order: 1;
	}

	.flexible-layout-image-text-section .flexcol.flex-2 {
		order: 2;
	}

	.flexible-layout-image-text-section .image-text-default .flexcol.flex-1 {
		margin-right: 20px;
	}

	.flexible-layout-image-text-section .image-text-default .flexcol.flex-2 {
		margin-left: 20px;
	}

	.flexible-layout-image-text-section .image-text-full-width .flexcol:last-of-type .content-wrap {
		max-width: 750px;
		padding: 60px;
		margin: 0 auto;
	}

	.flexible-layout-image-text-section .image-text-full-width .flexcol .image-wrap {
		width: 100%;
		height: 100%;
	}

	.flexible-layout-image-text-section .image-text-full-width .flexcol .image-wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
	}

	.flexible-layout-gallery-section .gallery-section ul>li,
	.gallery-slider-navigation .item {
		flex-basis: 33.3%;
		max-width: 33.3%;
	}

	.flexible-layout-icon-section .flexcol.col-3,
	.flexible-layout-icon-section .flexcol.col-4,
	.flexible-layout-icon-section .flexcol.col-5 {
		flex-basis: calc(33.3% - 20px);
		max-width: calc(33.3% - 20px);
	}

	.flexible-layout.flexible-layout-background-image-section .section-title {
		font-size: 50px;
	}

	.background-image .background-content .section-content {
		margin: 0 auto;
		font-size: 20px;
	}

	.flexible-layout-text-section .text-cta .flexcol:first-of-type {
		flex: 2;
		margin-right: 30px;
	}

	.flexible-layout-text-section .text-cta .flexcol:last-of-type {
		flex: 1;
		margin-left: 30px;
		text-align: right;
	}

	.flexible-layout-text-section .text-cta .flexcol:last-of-type a.button {
		min-width: 250px;
	}

	.flexible-layout .section-title,
	.flexible-layout-form-section .form-styling.form-full-height .form-title {
		font-size: 40px;
	}

	.flexible-layout-blog-section .flexbox,
	.flexible-layout-services-section .flexbox,
	.flexible-layout-testimonial-section .testimonial-section .flexbox {
		gap: 30px;
	}

	.flexible-layout-blog-section .flexcol,
	.flexible-layout-services-section .flexcol,
	.flexible-layout-testimonial-section .testimonial-section .flexcol {
		flex-basis: calc(50% - 15px);
		max-width: calc(50% - 15px);
	}

	.flexible-layout-team-section .flexcol {
		flex-basis: calc(33.3% - 20px);
		max-width: calc(33.3% - 20px);
	}

	.flexible-layout-text-section .text-cta .flexcol:last-of-type .section-button {
		margin: 0;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-flow: column;
		align-items: flex-end;
	}

	.flexible-layout-form-section .background-content .flexcol:first-of-type {
		padding: 0 40px 0 0;
	}

	.flexible-layout-form-section .form-styling.form-overlay .flexbox {
		align-items: center;
	}

	.flexible-layout-form-section .form-styling.form-overlay .background-content .flexcol:first-of-type {
		margin: 0 0 80px 0;
	}

	.flexible-layout-image-text-section .flexcol:last-of-type {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.flexible-layout-events-section .event-section .flexcol .event-date,
	.flexible-layout-events-section .event-section .flexcol .event-time {
		display: inline-flex;
		vertical-align: middle;
		margin-bottom: 15px;
		align-items: center;
	}

	.flexible-layout-events-section .event-section .flexcol .event-date {
		margin-right: 10px;
		padding-right: 10px;
		border-right: .1px solid;
		line-height: 1;
	}

	.flexible-layout-events-section .event-section .flexcol:last-of-type {
		flex: 4;
		padding: 20px 40px;
	}

	.flexible-layout-events-section .event-section .flexcol h2.event-title {
		font-size: 30px;
		line-height: 1;
	}

	.flexible-layout-events-section .section-content {
		max-width: 960px;
		margin: 0 auto 20px;
	}

	.flexible-layout-tabs-section .horizontal-tabs ul.tabs-nav {
		text-align: center;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}

	.flexible-layout-tabs-section .horizontal-tabs ul.tabs-nav>li {
		flex: 1;
	}

	.flexible-layout-tabs-section .horizontal-tabs ul.tabs-nav>li .tab-icon {
		font-size: 40px;
		margin-bottom: 10px;
	}

	.flexible-layout-tabs-section .horizontal-tabs ul.tabs-nav>li .tab-title {
		font-family: var(--headingFont);
		font-size: 24px;
		line-height: 1;
		font-weight: 700;
	}

	.flexible-layout-tabs-section .vertical-tabs .tabs {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}

	.flexible-layout-tabs-section .vertical-tabs .tabs .tabs-nav {
		flex: 1;
	}

	.flexible-layout-tabs-section .vertical-tabs .tabs .tabs-content {
		flex: 4;
	}

	.flexible-layout-tabs-section .tabs-content {
		padding: 40px;
	}

	.flexible-layout-tabs-section .tabs-content .tab-title {
		font-size: 3.60px;
	}

	.flexible-layout-gallery-section .image-links {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
	}

	.flexible-layout-gallery-section .image-links .section-image {
		flex: 1;
	}

	.flexible-layout-form-section .flexible-form-section.has-image .background-content {
		width: 100%;
		height: 100%;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.flexible-layout-form-section .background-content .flexcol .section-content ul>li::after,
	.flexible-layout-form-section .background-content .flexcol .section-content ul>li::before {
		font-size: 32px;
	}

	.flexible-layout-form-section .form-styling.form-full-height .background-content .flexcol:last-of-type {
		padding: 40px;
	}

	.flexible-layout-text-section .text-styling.text-list .section-content ul {
		column-count: 2;
		column-gap: 30px;
		padding-left: 30px;
	}

	/* Locations Section
	------------------------------------------------------------------------------------------------------------- */

	.flexible-layout-locations-section .flexbox {
		gap: 20px;
		justify-content: center;
	}

	.flexible-layout-locations-section .flexcol {
		flex-basis: calc(33.33% - 13.33px);
		max-width: calc(33.33% - 13.33px);
	}
}

@media only screen and (min-width:1280px) {

	.flexible-layout-icon-section .flexcol.col-4,
	.flexible-layout-icon-section .flexcol.col-5 {
		flex-basis: calc(25% - 23px);
		max-width: calc(25% - 23px);
	}

	.flexible-layout-gallery-section .gallery-section ul>li,
	.gallery-slider-navigation .item {
		flex-basis: 25%;
		max-width: 25%;
	}

	.flexible-layout-blog-section .flexcol,
	.flexible-layout-services-section .flexcol,
	.flexible-layout-testimonial-section .testimonial-section .flexcol {
		flex-basis: calc(33.3% - 20px);
		max-width: calc(33.3% - 20px);
	}

	.flexible-layout-team-section .flexcol {
		flex-basis: calc(25% - 23px);
		max-width: calc(25% - 23px);
	}

	.flexible-layout-form-section .background-content .flexcol:first-of-type {
		flex: 1.5;
	}
}

@media only screen and (min-width:1340px) {
	.flexible-layout-icon-section .flexcol.col-5 {
		flex-basis: calc(20% - 24px);
		max-width: calc(20% - 24px);
	}
}

@media only screen and (min-width:2000px) {
	.flexible-layout-image-text-section .image-text-full-width .flexcol:last-of-type .content-wrap {
		max-width: 80%;
	}

	.flexible-layout-image-text-section .image-text-full-width .flexcol img {
		width: 100%;
	}

	.flexible-layout-text-section .text-centered {
		max-width: 60%;
	}

	.flexible-layout-text-section .text-cta .flexcol:last-of-type a.button {
		min-width: 70%;
	}

	.background-image .background-content .section-content {
		max-width: 60%;
		margin: 0 auto;
	}

	.flexible-layout-gallery-section .gallery-section ul>li img,
	.gallery-slider-navigation .item img {
		width: 100%;
	}
}

@media only screen and (max-width: 1339px) and (min-width: 960px) {
	.flexible-layout .wrap {
		padding: 0 5%;
	}
}



@media only screen and (max-width:1279px) {
	.modal-content {
		width: 90%;
		max-height: 90%;
	}
}

@media only screen and (max-width:1279px) and (min-width: 960px) {
	.flexible-layout-locations-section .post-info {
		min-height: 171px;
	}
}

@media only screen and (max-width:959px) {
	.flexible-layout-text-section .text-cta .flexcol:last-of-type {
		margin-top: 20px;
	}

	.flexible-layout.flexible-layout-image-text-section .image-text-default .flexcol:first-of-type {
		padding-bottom: 20px;
	}

	.site-container .flexible-layout-background-image-section .background-image.full-height,
	.site-container .flexible-layout-background-image-section .background-image.full-height .background-content {
		min-height: 85vh;
	}

	.site-container .flexible-layout-background-image-section .background-image:not(.full-height) .background-content .section-content {
		line-height: 1.4;
	}

	.flexible-layout-events-section .event-section .flexbox {
		padding: 0;
	}

	.flexible-layout-events-section .event-section .flexcol img {
		border-radius: 15px 15px 0 0;
		width: 100%;
		box-shadow: none;
	}

	.flexible-layout-events-section .event-section .flexcol:last-of-type {
		padding: 20px 5%;
	}

	.flexible-layout-events-section .event-section .flexcol .event-date,
	.flexible-layout-events-section .event-section .flexcol .event-time {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		margin-bottom: 10px;
	}

	.flexible-layout-tabs-section .horizontal-tabs ul.tabs-nav>li a {
		display: inline-flex;
		width: 100%;
		align-items: center;
		margin: 2px 0;
	}

	.flexible-layout-tabs-section .horizontal-tabs ul.tabs-nav>li .tab-icon {
		font-size: 26px;
		margin-right: 10px;
		width: 30px;
	}

	.flexible-layout-tabs-section .horizontal-tabs ul.tabs-nav>li .tab-title {
		font-family: var(--headingFont);
		font-weight: 700;
	}

	.flexible-layout-gallery-section .gallery-section ul>li img,
	.flexible-layout-gallery-section .image-links .section-image img,
	.gallery-slider-navigation .item img {
		width: 100% !important;
	}

	.flexible-layout-form-section .flexible-form-section.has-image .form-styling.form-full-height .wrap {
		padding: 0;
	}

	.gallery-slider .item img {
		padding: 5px;
	}
}

@media only screen and (max-width:659px) {
	.flexible-layout-background-image-section .background-image .background-content .section-button a.button {
		display: block;
		margin: 10px 0;
	}

	.flexible-layout-icon-section .flexcol h3.icon-title {
		font-size: 20px;
	}

	.flexible-layout .section-button a.button {
		display: block;
		margin: 10px 0;
	}

	.flexible-layout .section-button a.button.underlined-button {
		display: inline-block;
	}

	.flexible-layout-text-section .text-cta .flexcol:last-of-type .section-button {
		text-align: center;
	}

	.flexible-layout-gallery-section .gallery-section ul>li,
	.gallery-slider-navigation .item {
		padding: 5px 0;
	}

	.flexible-layout-events-section .event-section .flexcol .event-button a.button {
		display: block;
	}

	.flexible-layout .section-button {
		text-align: center;
	}

	.flexible-layout-team-section .flexcol:not(:last-of-type),
	.flexible-layout-icon-section .flexcol:not(:last-of-type) {
		margin-bottom: 20px;
	}

	.flexible-layout-locations-section .flexcol:not(:last-of-type) {
		margin-bottom: 20px;
	}
}