/**
 * Swiper carousel styles — kept separate from the theme's main CSS.
 *
 * The carousels were migrated from Slick to Swiper. To keep the UI identical
 * across every screen size, all of the old Slick arrow rules from
 * pages_and_global.css and landing.css have been ported here verbatim, with the
 * selectors renamed:  .slick-prev -> .swiper-button-prev,  .slick-next ->
 * .swiper-button-next,  slides use .swiper-slide. Order and media queries match
 * the originals so the cascade resolves the same way.
 *
 * Structural layout (flex track, overflow) comes from swiper-bundle.min.css
 * (loaded from the CDN before this file). The block immediately below resets
 * Swiper's default arrow icon/sizing so the theme's PNG arrows show instead.
 */

/* ---- Positioning context + slide sizing -------------------------------- */

/* Slick added .slick-slider to the container as the arrows' positioning
 * context. We no longer load Slick, so set it explicitly. Arrows live on this
 * (overflow-visible) wrapper; the inner .swiper viewport handles overflow. */
.logo_carousel,
.carousel {
	position: relative;
}

/* Logo slides size to their content (Slick variableWidth:true). */
.logo_carousel .swiper-slide {
	width: auto;
}

/* Testimonial slides take their natural height. */
.carousel .swiper-slide {
	height: auto;
}

/* Vertically centre slides + match the old track (was .slick-track in slick.css:
 * display:flex; align-items:center; column-gap:20px — the gap is handled by
 * Swiper's spaceBetween in carousel.js). */
.logo_carousel .swiper-wrapper,
.carousel .swiper-wrapper {
	align-items: center;
}

/* Equal-height review cards on desktop (>=1025px, where 2-3 show side by side).
 * Pure CSS (replaces the old JS min-height):
 *   1. The flex track stretches every slide to the tallest card's height.
 *   2. Each slide becomes a flex box and the card fills it (flex: 1), so the
 *      card itself — not just the slide — is the full column height.
 *   3. The reviewer name (absolutely positioned at the card bottom) then lines
 *      up across all columns, so they read as equal-height columns.
 * Below 1025px a single card shows, so heights stay natural. */
@media only screen and (min-width: 1025px) {
	.carousel .swiper-wrapper {
		align-items: stretch;
	}
	.carousel .swiper-slide {
		display: flex;
		height: auto;
	}
	.carousel .swiper-slide .carousel-testimonial-content {
		flex: 1;
	}
}

/* Normalize logo images so every logo is the same height and the
 * variable-width slides stay consistent (was .slick-slide img in slick.css). */
.logo_carousel .swiper-slide img,
.carousel .swiper-slide img {
	display: block;
	max-width: 200px;
	max-height: 50px;
	object-fit: contain;
}

/* Reset Swiper's built-in arrow glyph and default geometry. */
.swiper-button-prev::after,
.swiper-button-next::after {
	display: none;
	content: '';
}

/* Always keep the arrows visible (Slick showed them regardless). */
.logo_carousel .swiper-button-lock,
.carousel .swiper-button-lock {
	display: block;
}

/* ---- Arrows: base (ported from pages_and_global.css) -------------------- */

.swiper-button-prev,
.swiper-button-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	-webkit-appearance: none;
	appearance: none;
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
	z-index: 10;
}

.swiper-button-prev {
	background: url(/wp-content/themes/PolicyAdvisor/images/left-arrow.png);
	left: -25px;
	width: 15px;
	height: 23px;
	background-repeat: no-repeat;
	background-size: 12px;
}

.logo_carousel .swiper-button-prev {
	background: url(/wp-content/themes/PolicyAdvisor/images/left-arrow.png);
	left: -30px;
	right: auto;
	width: 20px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: 20px;
}

.swiper-button-next {
	right: -25px;
	background: url(/wp-content/themes/PolicyAdvisor/images/right-arrow.png);
	width: 15px;
	height: 23px;
	background-repeat: no-repeat;
	background-size: 12px;
}

.logo_carousel .swiper-button-next {
	background: url(/wp-content/themes/PolicyAdvisor/images/right-arrow.png);
	right: -40px;
	left: auto;
	width: 20px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: 18px;
}

.carousel .swiper-button-next {
	right: -25px;
	background: url(/wp-content/themes/PolicyAdvisor/images/right-arrow.png);
	width: 20px;
	height: 32px;
	background-size: 20px;
	background-repeat: no-repeat;
	filter: invert(70%) sepia(87%) saturate(1857%) hue-rotate(311deg) brightness(71%) contrast(156%);
}

.carousel .swiper-button-prev {
	background: url(/wp-content/themes/PolicyAdvisor/images/left-arrow.png);
	left: -25px;
	width: 20px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: 20px;
	filter: invert(70%) sepia(87%) saturate(1857%) hue-rotate(311deg) brightness(71%) contrast(156%);
}

/* ---- Arrows: mobile <=767px (ported from pages_and_global.css) ---------- */

@media only screen and (max-width: 767px) {
	.section4_reviews .swiper-button-next {
		right: -22px;
	}
	.section4_reviews .swiper-button-prev {
		left: -15px;
	}
	.swiper-button-next {
		right: 0px;
	}
	.swiper-button-prev {
		left: 0px;
	}
	.logo_carousel .swiper-button-prev {
		left: -40px;
		right: auto;
		top: 53px;
	}
	.logo_carousel .swiper-button-next {
		right: -36px;
		left: auto;
		top: 53px;
		background-size: 14px;
	}
	.logo_carousel .swiper-button-prev {
		left: -30px;
		background-size: 15px;
	}
}

/* ---- Arrows: tablet 768-991px (ported from pages_and_global.css) -------- */

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.testimonial-right .swiper-button-prev {
		left: -32px;
	}
	.testimonial-right .swiper-button-next {
		right: -28px;
	}
	.swiper-button-next {
		right: 0;
	}
}

/* ======================================================================== */
/* Landing template overrides (ported from landing.css, .page-template-landing) */
/* ======================================================================== */

.page-template-landing .swiper-button-prev {
	background: url(/wp-content/themes/PolicyAdvisor/images/left-arrow.png);
	left: -25px;
	width: 15px;
	height: 23px;
	background-repeat: no-repeat;
	background-size: 12px;
}

.page-template-landing .logo_carousel .swiper-button-prev {
	background: url(/wp-content/themes/PolicyAdvisor/images/left-arrow.png);
	left: -30px;
	right: auto;
	width: 20px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: 20px;
}

.page-template-landing .swiper-button-next {
	right: -25px;
	background: url(/wp-content/themes/PolicyAdvisor/images/right-arrow.png);
	width: 15px;
	height: 23px;
	background-repeat: no-repeat;
	background-size: 12px;
}

.page-template-landing .logo_carousel .swiper-button-next {
	background: url(/wp-content/themes/PolicyAdvisor/images/right-arrow.png);
	right: -40px;
	left: auto;
	width: 20px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: 18px;
}

.page-template-landing .carousel .swiper-button-next {
	right: -25px;
	background: url(/wp-content/themes/PolicyAdvisor/images/right-arrow.png);
	width: 20px;
	height: 32px;
	background-size: 20px;
	background-repeat: no-repeat;
	filter: invert(70%) sepia(87%) saturate(1857%) hue-rotate(311deg) brightness(71%) contrast(156%);
}

.page-template-landing .carousel .swiper-button-prev {
	background: url(/wp-content/themes/PolicyAdvisor/images/left-arrow.png);
	left: -15px;
	width: 20px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: 20px;
	filter: invert(70%) sepia(87%) saturate(1857%) hue-rotate(311deg) brightness(71%) contrast(156%);
}

@media only screen and (max-width: 767px) {
	.page-template-landing .logo_carousel .swiper-button-prev {
		top: 53px;
	}
	.page-template-landing .logo_carousel .swiper-button-next {
		right: -36px;
		left: auto;
		top: 53px;
	}
	.page-template-landing .carousel .swiper-button-next {
		right: -5px;
	}
	.page-template-landing .carousel .swiper-button-prev {
		left: -5px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {

	.page-template-landing .testimonial-right .swiper-button-next {
		right: -8px !important;
	}
}

/* In landing.css these <=400px rules are global, but that stylesheet only
 * loads on the landing template, so they are scoped to it here to keep the
 * exact same effect (other carousel pages are unaffected). */
@media only screen and (max-width: 400px) {
	.page-template-landing .carousel .swiper-button-next {
		right: -10px !important;
	}
	.page-template-landing .carousel .swiper-button-prev {
		left: -12px !important;
	}
}

@media only screen and (max-width: 767px) {
   .carousel .carousel-testimonial-content {
        padding-right:25px!important;
        padding-left: 25px!important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .vc_section.section4_reviews > .vc_row.wpb_row.vc_row-fluid {
        max-width: none !important;
        margin-inline: auto;
    }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
    .carousel .testimonial-right {
        width: 55%;
        float: right;
        padding: 0 0px 0 30px;
    }
	.carousel .carousel-testimonial-content {
    padding: 20px 20px 0 20px !important;
	}
}

.carousel {
    position: relative;
    padding: 0 15px;
}


@media only screen and (min-width: 1025px) and (max-width: 1240px) {
.testimonial-right {
    width: 65%;
    float: left;
    padding-left: 30px;
}
}