/**
 * Base styles of our Breadcrumbs, Post Info, Call to Action, Slides, Blockquote and Gallery widgets
 * (widgets/breadcrumbs.php, post-info.php, call-to-action.php, slides.php, blockquote.php, gallery.php):
 * the rules Elementor Pro's own stylesheets gave these widgets (widget-breadcrumbs, widget-post-info,
 * widget-call-to-action, widget-slides, widget-blockquote, widget-gallery; Elementor Pro 4.3.1, GPL), for
 * what the site uses (the Call to Action's Cover skin; no Tweet button, no gallery filter bar or
 * captions). Each widget's own settings come on top, in the page's Elementor CSS. Loaded while Elementor
 * Pro is inactive.
 */

/* Breadcrumbs */
.elementor-widget-breadcrumbs {
	font-size: 0.85em;
}

.elementor-widget-breadcrumbs p {
	margin-bottom: 0;
}

/* Post Info (the list itself is Elementor's icon list: widget-icon-list) */
.elementor-widget-post-info.elementor-align-center .elementor-icon-list-item::after {
	margin: initial;
}

.elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text {
	display: inline-block;
}

.elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text a,
.elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text span {
	display: inline;
}

/* Call to Action, Cover skin (two rules: a browser without :has() drops the whole rule it's in) */
.elementor-widget-call-to-action .elementor-widget-container {
	overflow: hidden;
}

.elementor-widget-call-to-action:not(:has(.elementor-widget-container)) {
	overflow: hidden;
}

.elementor-cta {
	display: flex;
	overflow: hidden;
	position: relative;
	transition: 0.5s;
}

.elementor-cta--skin-cover .elementor-cta {
	display: block;
}

.elementor-cta--skin-cover .elementor-cta__bg-wrapper {
	inset: 0;
	position: absolute;
	transition: all 0.4s;
	width: 100%;
}

.elementor-cta--skin-cover .elementor-cta__content {
	min-height: 280px;
}

.elementor-cta--skin-cover .elementor-cta__button.elementor-button,
.elementor-cta--skin-cover .elementor-cta__content-item {
	border-color: #fff;
	color: #fff;
}

.elementor-cta__bg,
.elementor-cta__bg-overlay {
	inset: 0;
	position: absolute;
	transition: all 0.4s;
}

.elementor-cta__bg-wrapper {
	overflow: hidden;
	z-index: 1;
}

.elementor-cta__bg {
	background-position: 50%;
	background-size: cover;
	z-index: 1;
}

.elementor-cta__bg-overlay {
	z-index: 2;
}

.elementor-cta__button.elementor-button {
	align-self: center;
	background: transparent;
	border: 2px solid #fff;
	cursor: pointer;
	margin-inline: auto;
}

.elementor-cta__button.elementor-button:hover {
	background: transparent;
	text-decoration: none;
}

.elementor-cta__title {
	font-size: 23px;
}

.elementor-cta__content {
	align-content: center;
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	padding: 35px;
	width: 100%;
	z-index: 1;
}

.elementor-cta__content,
.elementor-cta__content-item {
	color: #fff;
	position: relative;
	transition: 0.5s;
}

.elementor-cta__content-item {
	margin: 0;
	width: 100%;
}

.elementor-cta__content-item:not(:last-child) {
	margin-bottom: 15px;
}

.elementor-cta--valign-top .elementor-cta__content {
	align-content: flex-start;
	align-items: flex-start;
}

.elementor-cta--valign-middle .elementor-cta__content {
	align-content: center;
	align-items: center;
}

.elementor-cta--valign-bottom .elementor-cta__content {
	align-content: flex-end;
	align-items: flex-end;
}

.elementor-cta:hover .elementor-cta__bg-overlay {
	background-color: rgba(0, 0, 0, 0.3);
}

/* Slides (the arrows and dots are Elementor's e-swiper styles) */
.elementor-slides .swiper-slide-bg {
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 100%;
	min-width: 100%;
}

.elementor-slides .swiper-slide-inner {
	background-position: 50%;
	background-repeat: no-repeat;
	inset: 0;
	margin: auto;
	padding: 50px;
	position: absolute;
}

.elementor-slides .swiper-slide-inner,
.elementor-slides .swiper-slide-inner:hover {
	color: #fff;
	display: flex;
}

.elementor-slides .swiper-slide-inner .elementor-background-overlay {
	inset: 0;
	position: absolute;
	z-index: 0;
}

.elementor-slides .swiper-slide-inner .elementor-slide-heading {
	font-size: 35px;
	font-weight: 700;
	line-height: 1;
}

.elementor-slides .swiper-slide-inner .elementor-slide-description {
	font-size: 17px;
	line-height: 1.4;
}

.elementor-slides .swiper-slide-inner .elementor-slide-description:not(:last-child),
.elementor-slides .swiper-slide-inner .elementor-slide-heading:not(:last-child) {
	margin-bottom: 30px;
}

.elementor-slides .swiper-slide-inner .elementor-slide-button {
	background: transparent;
	border: 2px solid #fff;
	color: #fff;
	display: inline-block;
}

.elementor-slides .swiper-slide-inner .elementor-slide-button,
.elementor-slides .swiper-slide-inner .elementor-slide-button:hover {
	background: transparent;
	color: inherit;
	text-decoration: none;
}

.elementor--v-position-top .swiper-slide-inner {
	align-items: flex-start;
}

.elementor--v-position-bottom .swiper-slide-inner {
	align-items: flex-end;
}

.elementor--v-position-middle .swiper-slide-inner {
	align-items: center;
}

.elementor--h-position-left .swiper-slide-inner {
	justify-content: flex-start;
}

.elementor--h-position-right .swiper-slide-inner {
	justify-content: flex-end;
}

.elementor--h-position-center .swiper-slide-inner {
	justify-content: center;
}

.elementor-slides-wrapper div:not(.swiper-slide) > .swiper-slide-inner {
	display: none;
}

@media (max-width: 767px) {
	.elementor-slides .swiper-slide-inner {
		padding: 30px;
	}

	.elementor-slides .swiper-slide-inner .elementor-slide-heading {
		font-size: 23px;
		line-height: 1;
		margin-bottom: 15px;
	}

	.elementor-slides .swiper-slide-inner .elementor-slide-description {
		font-size: 13px;
		line-height: 1.4;
		margin-bottom: 15px;
	}
}

/* Blockquote */
.entry-content blockquote.elementor-blockquote:not(.alignright):not(.alignleft),
.entry-summary blockquote.elementor-blockquote {
	margin-left: 0;
	margin-right: 0;
}

.elementor-widget-blockquote blockquote {
	background: transparent;
	border: 0;
	color: #3f444b;
	font-size: 100%;
	font-style: normal;
	margin: 0;
	outline: 0;
	padding: 0;
	quotes: none;
	vertical-align: baseline;
}

.elementor-widget-blockquote blockquote .e-q-footer::after,
.elementor-widget-blockquote blockquote .e-q-footer::before,
.elementor-widget-blockquote blockquote cite::after,
.elementor-widget-blockquote blockquote cite::before,
.elementor-widget-blockquote blockquote::after,
.elementor-widget-blockquote blockquote::before {
	content: none;
}

.elementor-blockquote {
	transition: 0.3s;
}

.elementor-blockquote__author,
.elementor-blockquote__content {
	font-style: normal;
	margin-bottom: 0;
}

.elementor-blockquote__author {
	font-weight: 700;
}

.elementor-blockquote .e-q-footer {
	display: flex;
	justify-content: space-between;
	margin-top: 12px;
}

.elementor-blockquote--skin-boxed .elementor-blockquote {
	background-color: #f9fafa;
	padding: 30px;
}

.elementor-blockquote--skin-border .elementor-blockquote {
	border-color: #f9fafa;
	border-inline-start-width: 7px;
	border-style: solid;
	padding-inline-start: 20px;
}

.elementor-blockquote--skin-quotation .elementor-blockquote::before {
	color: #f9fafa;
	content: "\201C";
	display: block;
	font-family: "Times New Roman", Times, serif;
	font-size: 100px;
	font-weight: 900;
	height: 0.6em;
	line-height: 1;
}

.elementor-blockquote--skin-quotation .elementor-blockquote__content {
	margin-top: 15px;
}

.elementor-blockquote--align-left .elementor-blockquote__content {
	text-align: left;
}

.elementor-blockquote--align-left .elementor-blockquote .e-q-footer {
	flex-direction: row;
}

.elementor-blockquote--align-right .elementor-blockquote__content {
	text-align: right;
}

.elementor-blockquote--align-right .elementor-blockquote .e-q-footer {
	flex-direction: row-reverse;
}

.elementor-blockquote--align-center .elementor-blockquote {
	text-align: center;
}

.elementor-blockquote--align-center .elementor-blockquote .e-q-footer,
.elementor-blockquote--align-center .elementor-blockquote__author {
	display: block;
}

/* Gallery (the layout itself is Elementor's e-gallery styles) */
.elementor-gallery__container {
	min-height: 1px;
}

.elementor-gallery-item {
	border: solid var(--image-border-width) var(--image-border-color);
	border-radius: var(--image-border-radius);
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.elementor-gallery-item__overlay {
	height: 100%;
	left: 0;
	mix-blend-mode: var(--overlay-mix-blend-mode);
	position: absolute;
	top: 0;
	transition-duration: var(--overlay-transition-duration);
	transition-property: mix-blend-mode, transform, opacity, background-color;
	width: 100%;
}

.e-gallery-item.elementor-gallery-item {
	transition-property: all;
}
