/*
Theme Name: WWS Child Theme
Description: Child theme for Themify Ultra
Author: Themify
Template: themify-ultra
*/

/* write custom css below */


body:is(.page-id-2339, .page-id-2594, .page-id-2759) {
	.site-logo-image {
		content:url('/wp-content/uploads/2024/09/Footer-Logo-1.svg');
	}
		#content {
			padding-bottom:0px!important;
		}
	.menu-icon-inner {
		color:#000;
	}
	
}
body:is(.page-id-2594, .page-id-2759) {
	#main-nav {
		color:#000;
	}
}

#header {
	width:1280px;
}
li.has-sub-menu {
	margin-right:16px!important;
}
.bg-wide {
	background-position:bottom center!important;
	background-size:100%  auto!important;
}
.bg-fullwidth {
		background-size:100%  auto!important;
}
@media screen and (max-width:768px) {
	.mobile-bg-wide {
	background-position:bottom center!important;
	background-size:100%  auto!important;
}
}
@media screen and (min-width:1920px) {
	.bg-wide.extra-wide {
		background-position:50% 50%!important;
}
}
#header .btn {
	margin-left:2em;
	a {

		color:#fff;
		transition:all 0.2s ease;
		text-shadow: 0px 2px 2px rgba(0,0,0,0.32);
		padding:0;
		text-transform:uppercase;
			box-shadow: 1px 2px 2px 0 rgba(0, 0, 0, .32);
    background-image: none;
    background-color: #f71627;
	border-radius:20px;
			padding:0.4em 2em;
			&:hover {
		background:#c2000f;
		transform:translatey(-2px);
				color:#fff;
	}
}
}
	#header	.sidemenu-on .btn {
margin-left:0px;
		margin-top:1em;
		a {
			color:#fff!important;
			text-align:center;
			background-color: #f71627!important;
			border-radius:20px;
		color:#fff;
		}
	}

/* Federal policing */
.specialties .icon p{
	display:grid;
	align-items:center;
	grid-template-columns:96px auto;
	column-gap:1em;
	font-size:1.8em;
	font-weight:800;
}
.specialties .icon img {
	margin-bottom:0px;
}

/* Federal election page */
.nm-campaign h1 {
	font-family:"avenirnext"!important;
	display:none!important;
}
.nm-form label, .vf-label, .vf-floating-label {
	color:#fff!important;
}

.entry-password-required #content{
	padding-top:10em;
	padding-bottom:10em;
}

/*New NL page */
.nl-stats.module-counter{
	display:grid;
	grid-template-columns:120px auto;
	text-align:left;
	align-items:center;
}
.nl-stats.module-counter .counter-text {
	margin-top:0px;
}
.bg-half {
	background-position:left!important;
	background-size:auto 120%;
}
.nl.trained, .nl.act {
	background-size:60vw auto;
}
@media screen and (max-width:1280px) {
	.nl.trained, .nl.act {
	background-size:auto 100%;
		background-position:-30%;
}
}
@media screen and (max-width:960px) {
	.nl.trained, .nl.act {
	background-size:auto 100%;
		background-position:-30vw;
}
}
	@media screen and (max-width:768px) {
		.nl.trained,.nl.act {
		background-position:top;
			background-size:100% auto;
			padding-top:110%;
	}
}
/* ONtario page */
.on.icons .module-icon {
	margin-left:0;
	margin-bottom:1em;
}
.on .module-icon-item:last-child {
	display:flex!important;
}
@media screen and (max-width:768px) {
	body:not(.home) .on.hero {
		background-position:bottom!important;
	}
}

/*Northern*/
body:not(.home) .northern.hero {
	padding-top:14em;
	padding-bottom:20em;
}

/* PEI */
.pei.hero {
	padding-top:10em!important;
	padding-bottom:30%!important;
}
.pei.hero .builder_row_cover::before {
	background-size:100% auto!important;
	background-position:100% 110%!important;
}
@media screen and (max-width:768px) {
	.pei.hero {
		padding-top:30%!important;
	padding-bottom:100%!important;
}
}

/* BC page */
.hero.bc {
	padding-bottom: 40%!important;
}
@media screen and (max-width:768px) {
	.hero.bc {
	padding-bottom: 30em!important;
}
	.hero.bc .builder_row_cover:before {
		background-size:50% auto!important;
	}
}

/* Quebec Page */
.hero.quebec {
	padding-bottom:12em!important;
}
.cta.quebec:before {
	content:'';
	width:320px;
	height:200px;
	background-image:url('https://whyweserve.ca/wp-content/uploads/2025/07/Flag.webp');
	background-repeat:no-repeat;
	background-size:contain;
	display:block;
	position:absolute;
	top:-4em;
	margin-left:-6em;
}
@media screen and (max-width:768px) {
	.hero.quebec {
		padding-top:10em!important;
		padding-bottom:20em!important;
	}
	.cta.quebec {
		padding-top:12em;
	}
	.cta.quebec:before {
		left:0px;
		top:0px;
		width:150px;
		right:0px;
		margin:0 auto;
		background-position:center;
	}
}

/* Manitoba */
.module-icon.wide .red {
	font-weight:700;
	color:#f71627;
	font-size:1.4em;
	margin:0;
}
.hero.mb {
	padding-bottom:20em!important;
}
.mb.icons img{
	display:block;
	margin:0 auto 1em auto;
}
.mb.icons .module-icon-item {
	text-align:left;
	@media (max-width:768px) {
		text-align:center;
	}
}

/*** NS page ***/
/** Slider **/

/*Temporarily hide element from public */

.ns.slider {
	.slide-inner-wrap {
		display:grid;
		grid-template-columns:50% 50%;
		@media (max-width:768px) {
			grid-template-columns:auto;
			grid-template-rows:300px auto;
		}
	}
		.tf_swiper-slide-active{
			.slide-image {
				@media (max-width:768px) {
					height:300px;
				}
				img {
					opacity:1;
				}
			}
	}
	margin-bottom:0px;
	.slide-image {
		margin-bottom:0px;
		a {
		height: 100%;
    display: block;
			img {
				position:absolute;
				height:100%;
				width:100%;
				object-fit:cover;
				object-position:left;
				left:0px;
				opacity:0;
				transition:all 0.3s;
				transition-delay:0.6s;
			}
		}
	}
	 .tf_swiper-slide-active {
			img {
				opacity:1;
			}
		}
	.slide-content {
		padding-top:4em;
		position:relative;
		padding-bottom:8em;
		padding-right:4em;
		text-align:center;
		font-size:1.4em;
		@media (max-width:768px) {
			padding-right:1em;
		}
		h3 {
			text-align:center;
		}
		
		&::before {
			content:'Our Latest Blog:';
				font-size:1.8em;
			line-height:1em;
			font-weight:800;
			margin-bottom:1em;
			display:block;
		}
		.slide-title a{
			&::after {
				content:'Read more';
				color:#0047b6;
				bottom:5em;
				background:#eacc4a;
				font-size:1.2rem;
				padding:0.4em 1em;
				border-radius:40px;
				display:block;
				position:absolute;
				margin:0 auto;
				left:50%;
				z-index:10;
				transform:translatex(-55%);
			}
		}
	}
	.carousel-pager {
		position:absolute;
		right:calc(25% - 2.5em);
		bottom:2em;
		@media (max-width:768px) {
			right:unset;
		}
	}
	.tf_carousel_nav_wrap {
		margin-top:0px;
		.tf_box {
					@media (max-width:768px) {
						top:unset;
						bottom:0.5em;
		}
		}
		.tf_carousel_bullet {
			border-color:#fff;
			margin:0 1em;
		}
		.tf_box {
			background:transparent;
			color:#fff;
		}
	}
}

/* RCMP Grid */
#rcmp-grid {
	.module-image {
					.image-content {
						h3 {
							font-size:2em;
							opacity:0.8;
							text-shadow:0px 0px 6px rgba(0,0,0,1);
							max-width:60%;
							margin:0 auto;
							transition: all 0.2s ease;
							@media (max-width:1200px) {
								font-size:1.2em;
							}
						}
		&:before {
			opacity:0;
			transition:all 0.2s ease;
			pointer-events:none;

		}
		
	}
		&:hover {
			.image-content {
				&:before {
					opacity:1;
					backdrop-filter:blur(8px);
				}
				h3 {
					opacity:1;
				}
			}
		}
}
	@media screen and (max-width:768px) {
		.federal-policing {
			.image-wrap {
				height:44vw;

			}
			img {
				object-fit:cover;
				object-position:center;
				position:absolute;
				height:100%;
				width:100%;
			}
		}
	}
}

/* Theo helper classes */
.fullwidth-content-align-left {
	    margin-left: calc((100vw - 1160px) / 2);
	@media (max-width:1160px) {
		padding-left:5%;
		margin-left:0px;
	}
}
.fullwidth-content-align-right {
	    margin-right: calc((100vw - 1160px) / 2);
		@media (max-width:1160px) {
		padding-right:5%;
			margin-right:0px;
	}
}
/* v sets the desirted aspect ratio of the element */
.widescreen-ratio {
	aspect-ratio:16 / 9;
}