

/*------------------------------------------------------------------
    Slider hero — sécurité mobile
    Sur mobile, l'animation d'entrée GSAP peut ne pas se déclencher
    et laisser le slider invisible (opacity:0 initial de showcase.css)
-------------------------------------------------------------------*/

@media (hover: none) and (pointer: coarse) {
    .showcase-slider-parallax {
        opacity: 1 !important;
    }
}


/*------------------------------------------------------------------
    Preloader — sécurité mobile / rotation
    Quand body n'a plus la classe hidden, le preloader ne doit jamais
    rester visible (écran noir sur rotation iOS/Android)
-------------------------------------------------------------------*/

body:not(.hidden) #clapat-preloader[style*="display: none"],
body:not(.hidden) #clapat-preloader[style*="display:none"] {
    display: none !important;
}

/* Transition CSS de repli : si yPercent -100 est appliqué par GSAP,
   on s'assure que le preloader est bien sorti de l'écran */
#clapat-preloader {
    transition: transform 0s;
}


/*------------------------------------------------------------------
    Section Expertise — fond one_half + overlay 3 colonnes
-------------------------------------------------------------------*/

/*
 * STRUCTURE :
 *  #page-expertise          ← contexte de positionnement
 *    .expertise-bg-layer    ← one_half blanc | one_half image (génère la hauteur)
 *      .expertise-bg-title  ← fond blanc 50%, titre
 *      .expertise-bg-image  ← absolute 50% droite, s'étend sur TOUTE la section
 *    .expertise-overlay     ← 3 blocs centrés, remontent par-dessus le fond
 */

/* Conteneur global : contexte de position, padding pour l'espace sous les blocs */
#page-expertise {
    position: relative;
    overflow: hidden;
    padding-bottom: 80px;
}

/* ── COUCHE DE FOND ── */
.expertise-bg-layer {
    display: flex;
    width: 100%;
    /* Hauteur = visible derrière le titre uniquement ;
       l'image déborde grâce à position:absolute sur la section entière */
    min-height: 340px;
}

/* Moitié gauche : blanc + titre */
.expertise-bg-title {
    flex: 0 0 50%;
    width: 50%;
    background-color: #f7f7f7;
    display: flex;
    align-items: flex-start;
    box-sizing: border-box;
    padding: 80px var(--horizontal-gutter, 60px) 40px;
}

.expertise-bg-title-inner {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Moitié droite : image — absolute sur #page-expertise, couvre toute la hauteur */
.expertise-bg-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;           /* couvre toute la section, blocs compris */
    overflow: hidden;
    z-index: 0;
}

/* Slides images empilées */
.expertise-image-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.expertise-image-slide.active {
    opacity: 1;
}

.expertise-image-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ── OVERLAY : 3 blocs centrés, par-dessus le fond ── */
.expertise-overlay {
    display: flex;
    /* Largeur contrainte — style "content-full-width" */
    width: 90%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    margin-top: -80px;      /* remonte sur la zone titre */
    z-index: 2;
    padding-bottom: 0;
    box-sizing: border-box;
}

/* Chaque colonne one_third */
.expertise-item {
    flex: 0 0 33.3333%;
    width: 33.3333%;
    box-sizing: border-box;
    padding: 40px 32px;
    cursor: default;
    transition: transform 0.3s ease;
}

/* Couleurs des 3 colonnes (comme la capture) */
.expertise-col-1 {
    background-color: rgba(255, 255, 255, 1);
    color: #222;
}

.expertise-col-2 {
    background-color: rgba(200, 200, 200, 0.9);
    color: #222;
}

.expertise-col-3 {
    background-color: rgba(233, 78, 27, 0.9);
    color: #fff;
}

/* Légère élévation au survol */
.expertise-item:hover {
    transform: translateY(-6px);
}

/* Numéro */
.expertise-number {
    display: block;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 12px;
    font-family: var(--heading-font, inherit);
}

.expertise-col-1 .expertise-number,
.expertise-col-2 .expertise-number {
    color: #E94E1B;
}

.expertise-col-3 .expertise-number {
    color: #fff;
}

/* Titres h3 */
.expertise-item h3 {
    font-size: 1.4rem;
    margin-bottom: 16px;
    line-height: 1.25;
    font-weight: 700;
}

.expertise-col-1 h3,
.expertise-col-2 h3 {
    color: #222;
}

.expertise-col-3 h3 {
    color: #fff;
}

/* Textes et listes */
.expertise-item p,
.expertise-item ul,
.expertise-item li {
    text-align: left;
    font-size: 0.9rem;
    line-height: 1.6;
}

.expertise-col-3 p,
.expertise-col-3 li {
    color: rgba(255,255,255,0.9);
}

.expertise-item ul {
    padding-left: 1.2em;
    margin-top: 10px;
}

.expertise-item li {
    margin-bottom: 6px;
}

/* ── RESPONSIVE ── */
@media only screen and (max-width: 1024px) {
    .expertise-overlay {
        flex-wrap: wrap;
        width: 100%;
        margin-top: -40px;
    }

    .expertise-item {
        flex: 0 0 100%;
        width: 100%;
    }

    .expertise-bg-image {
        width: 40%;
    }
}

@media only screen and (max-width: 767px) {
    /* Sur mobile : fond redevient un bloc normal */
    .expertise-bg-layer {
        min-height: 220px;
    }

    .expertise-bg-title {
        width: 100%;
        flex: none;
    }

    .expertise-bg-image {
        position: relative;
        width: 100%;
        height: 50vw;
        min-height: 220px;
        top: auto;
        right: auto;
    }

    .expertise-overlay {
        width: 100%;
        margin-top: 0;
    }
}


/*------------------------------------------------------------------
    Section Équipe — animation portraits au scroll
-------------------------------------------------------------------*/

/* Clip de débordement sur la rangée des portraits pour éviter
   la scrollbar horizontale pendant l'animation */
#page-equipe .content-full-width {
    overflow: clip;   /* clip = pas de scrollbar, mais ne crée pas de contexte de stacking */
}

/* État initial des portraits (positionné via JS/GSAP au chargement) */
.team-portrait-left,
.team-portrait-right {
    will-change: transform, opacity;
}

/* Padding latéral sur les blocs de texte de l'équipe sur mobile */
@media (max-width: 1024px) {
    #page-equipe .team-member:not(.team-portrait-left):not(.team-portrait-right) {
        padding-left: 24px;
        padding-right: 24px;
    }
}

/* Fallback dégradé section expertise (identique au slider 01) */
.expertise-fallback-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #E94E1B, #951B81);
}


/*------------------------------------------------------------------
    Menu mobile — taille de police réduite + padding-top
-------------------------------------------------------------------*/

@media (max-width: 1024px) {
    .clapat-nav > li > a {
        font-size: clamp(1.2rem, 1rem + 2.5vw, 2rem) !important;
    }
    .nav-height {
        padding-top: 20px !important;
    }
}


/*------------------------------------------------------------------
    Slider hero — taille des titres réduite sur mobile
    Évite la troncature des mots longs ("Responsabilité…")
-------------------------------------------------------------------*/

@media (max-width: 767px) {
    .clapat-slider-wrapper .clapat-slider-caption .item-title {
        font-size: clamp(1.4rem, 1rem + 3.5vw, 2.2rem) !important;
        line-height: 1.2 !important;
    }
}


/*------------------------------------------------------------------
    Header
-------------------------------------------------------------------*/

	@media (min-width: 1025px) {

		.hayler .classic-menu .nav-height {
			background-color: transparent;
		}

		.hayler .classic-menu #clapat-nav-wrapper {
			position: absolute;
			top: 50%;
			left: 50%;
			width: auto;
			height: auto;
			padding: 10px;
			background-color: rgba(128, 128, 128, 0.35);
			border-radius: 3px;
			-webkit-backdrop-filter: blur(7px);
			backdrop-filter: blur(7px);
			transform: translate(-50%, -50%);
		}

	}

	.hayler #header-button .button-icon i {
		background-color: var(--primary-color);
		color: var(--color-black);
		filter: none;
	}

	.hayler #header-button .button-icon i::before {
		filter: none;
	}



/*------------------------------------------------------------------
    Footer
-------------------------------------------------------------------*/

	.hayler #clapat-footer:not(.absolute) {
		overflow: visible;
		color: var(--color-white);
		background-color: var(--fullscreen-menu-bg-color);
	}

	.hayler #clapat-footer:not(.absolute)::before {
		content: "";
		position: absolute;
		top: -20px;
		left: 0;
		width: calc(50% - 1px);
		height: 20px;
		background-color: var(--fullscreen-menu-bg-color);
		border-top-right-radius: 10px;
	}

	.hayler #clapat-footer:not(.absolute)::after {
		content: "";
		position: absolute;
		top: -20px;
		right: 0;
		width: calc(50% - 1px);
		height: 20px;
		background-color: var(--fullscreen-menu-bg-color);
		border-top-left-radius: 10px;
	}

	@media only screen and (max-width: 1024px) {

		.hayler #clapat-footer:not(.absolute) {
			overflow: hidden;
		}

		.hayler .footer-nav-lists {
			grid-template-rows: repeat(5, auto);
		}

	}

	@media only screen and (max-width: 767px) {

		.hayler #clapat-footer:not(.absolute) .clapat-footer-left {
			right: 0;
			left: auto;
			justify-content: flex-end;
		}

		.hayler #clapat-footer:not(.absolute) #backtotop {
			bottom: -6px;
			left: 16px;
		}

		.hayler #clapat-footer:not(.absolute) .clapat-footer-center {
			justify-content: flex-start;
		}

		.hayler #clapat-footer:not(.absolute) .clapat-footer-right {
			justify-content: flex-start;
		}

		.hayler #clapat-footer:not(.absolute) .socials-wrap .socials {
			-webkit-transform: translateX(-14px);
			transform: translateX(-14px);
		}

	}



/*------------------------------------------------------------------
    Hero Section
-------------------------------------------------------------------*/

	.hayler .has-media #hero-caption {
		justify-content: flex-end;
	}

	.hayler #hero-caption.text-align-default-desktop .inner {
		width: 100%;
	}

	.hayler #hero-caption.text-align-default-desktop .hero-subtitle {
		width: 100%;
		box-sizing: border-box;
		padding-left: calc(66.6667% - (1 * var(--gap)) / 3 + var(--gap));
	}

	.hayler #hero-caption.error-caption .hero-title {
		font-size: var(--bt-font-size);
		line-height: var(--bt-line-height);
		font-weight: var(--bt-font-weight);
		letter-spacing: var(--bt-letter-spacing);
		column-gap: 0;
	}

	.hayler #hero-caption.error-caption .hero-title .word-wrapper span {
		text-shadow: 0 1.05em 0 currentColor;
	}

	.hayler .has-border {
		--segment: calc(
			(100% - (var(--horizontal-gutter) * 2) - (var(--gap) * 2)) / 3
		);
		mask-image: linear-gradient(
			to right,
			transparent 0,
			transparent var(--horizontal-gutter),
			black var(--horizontal-gutter),
			black calc(var(--horizontal-gutter) + var(--segment)),
			transparent calc(var(--horizontal-gutter) + var(--segment)),
			transparent calc(var(--horizontal-gutter) + var(--segment) + var(--gap)),
			black calc(var(--horizontal-gutter) + var(--segment) + var(--gap)),
			black calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap)),
			transparent calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap)),
			transparent calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap) * 2),
			black calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap) * 2),
			black calc(var(--horizontal-gutter) + var(--segment) * 3 + var(--gap) * 2),
			transparent calc(var(--horizontal-gutter) + var(--segment) * 3 + var(--gap) * 2),
			transparent 100%
		);
	}

	.hayler .has-border::before {
		top: 0;
		bottom: auto;
		transform-origin: left;
	}

	.hayler .has-border::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background-image:
			linear-gradient(to top, var(--color-black) 0%, var(--color-black) 100%),
			linear-gradient(to right, transparent, transparent),
			linear-gradient(to top, transparent, transparent);
		background-position: -100% 50%, 50% 0, 0 50%;
		background-repeat: no-repeat;
		background-size: 50% 2px, 2px 100%, 100% 2px;
		opacity: 1;
	}

	.hayler .light-content .has-border::after {
		background-image:
			linear-gradient(to top, var(--color-white) 0%, var(--color-white) 100%),
			linear-gradient(to right, transparent, transparent),
			linear-gradient(to top, transparent, transparent);
	}

	.hayler .has-border.visible::after {
		background-position: 100% 0%, 50% 0, 0 50%;
		background-size: 0 2px, 2px 100%, 100% 2px;
		transition: transform 0.5s ease-out 0s, background-size 1.5s cubic-bezier(.69, 0, 0, 1) 0.45s, background-position 0.6s cubic-bezier(.6, 0, .05, 1) 0.45s;
	}

	.hayler .hero-footer-left {
		display: flex;
		justify-content: flex-start;
		width: calc(33.3333% - (2 * var(--gap)) / 3);
	}

	.hayler .hero-footer-center {
		display: flex;
		justify-content: flex-start;
		width: calc(33.3333% - (2 * var(--gap)) / 3);
	}

	.hayler .hero-footer-right {
		display: flex;
		justify-content: flex-end;
		width: calc(33.3333% - (2 * var(--gap)) / 3);
	}

	.hayler .hero-footer-left #back-home .text-wrap {
		white-space: nowrap;
	}

	.hayler .hero-footer-left #back-home .button-text {
		display: block;
	}

	/* Responsive */

	@media only screen and (max-width: 1024px) {

		.hayler #hero-caption.text-align-default-desktop .hero-subtitle {
			margin-top: 40px;
			padding-left: calc(33.3333% + var(--gap) / 3);
		}

	}

	@media only screen and (max-width: 767px) {

		.hayler #hero-caption.text-align-default-desktop .hero-subtitle {
			margin-top: 20px;
			padding-left: 0;
		}

	}



/*------------------------------------------------------------------
    Page Nav Section
-------------------------------------------------------------------*/

	.hayler .nav-intro-wrapper {
		position: absolute;
		z-index: 1000;
		display: flex;
		flex-direction: column;
		gap: calc(var(--gap) / 2);
		width: 100%;
		height: auto;
		box-sizing: border-box;
		padding-top: calc(var(--header-height) - var(--gap) * 2);
		padding-left: var(--horizontal-gutter);
		padding-right: var(--horizontal-gutter);
	}

	.hayler .nav-intro-wrapper .nav-intro-text {
		display: flex;
		justify-content: flex-start;
		width: 100%;
	}

	.hayler .nav-intro-wrapper .nav-intro-text .span-text {
		position: relative;
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
		column-gap: 0.2em;
		flex-shrink: 0;
	}

	.hayler .nav-intro-wrapper.text-align-center .nav-intro-text .span-text {
		justify-content: center;
	}

	.hayler .nav-intro-wrapper.text-align-right .nav-intro-text .span-text {
		justify-content: flex-end;
	}

	.hayler .nav-intro-wrapper .nav-intro-text .span-word {
		overflow: hidden;
		justify-content: center;
	}

	.hayler .nav-intro-wrapper .nav-intro-text .span-word:first-child {
		justify-content: flex-start;
	}

	.hayler .nav-intro-wrapper .nav-intro-text .span-word:last-child {
		justify-content: flex-end;
	}

	.hayler .nav-intro-wrapper .nav-intro-text .span-word span {
		position: relative;
		display: block;
	}

	.hayler .nav-intro-wrapper .nav-intro-text .span-word span::before {
		content: attr(data-hover);
		position: absolute;
		top: 0;
		left: 0;
		width: auto;
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
	}

	.hayler .next-hero-subtitle {
		opacity: 1;
	}

/*------------------------------------------------------------------
    custom
-------------------------------------------------------------------*/

.cylinder-lists>li{
	color:#961d82
}

/*------------------------------------------------------------------
    Titres de sections (L'Équipe, Actualités, Localisation)
    Style identique à "Notre Expertise" — next-hero-title hors expertise
-------------------------------------------------------------------*/

#page-equipe .next-hero-title,
#page-actualites .next-hero-title,
#page-cartographie .next-hero-title {
    padding: 0 var(--horizontal-gutter, 60px);
    margin-bottom: 40px;
    text-align: left;
    width: 100%;
}

/* Forcer l'alignement à gauche des conteneurs de titres */
#page-equipe .one_full.justify_content_center,
#page-actualites .one_full.justify_content_center,
#page-cartographie .one_full.justify_content_center {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left;
}

/* Le template injecte un div.col_inner centré — forcer à gauche */
#page-equipe .col_inner,
#page-actualites .col_inner,
#page-cartographie .col_inner {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left;
}

#page-equipe .next-hero-title .word-wrapper span,
#page-actualites .next-hero-title .word-wrapper span,
#page-cartographie .next-hero-title .word-wrapper span {
    font-size: clamp(2.5rem, 5vw, 5rem);
    font-weight: 700;
    line-height: 1.05;
    font-family: var(--heading-font, inherit);
    color: #222;
    display: block;
}

/* Slider : désactiver le curseur flèche et le lien au survol */
.clapat-slider .item-title,
.clapat-slider .item-media,
.clapat-slider .trigger-item {
    cursor: default !important;
    pointer-events: auto;
}

/* Masquer la flèche du curseur custom (clapat-cursor) sur le slider */
#clapat-cursor .clapat-cursor-label,
#clapat-cursor [data-ball-info],
#clapat-cursor .cursor-info,
#clapat-cursor i.fa-arrow-right {
    display: none !important;
}

/* Mobile : réduire le logo de 25% (150px → 112px) et le centrer dans le viewport */
@media (max-width: 767px) {
    #clapat-logo {
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        margin-top: 24px !important;
        text-align: center;
        z-index: 20;
    }
    #clapat-logo a {
        display: inline-block;
    }
    #clapat-logo img {
        height: 112px !important;
        width: auto !important;
    }
}

/* Carte Leaflet en niveaux de gris */
.map-grayscale {
    filter: grayscale(1) saturate(0) brightness(1.05) contrast(1.05);
}

/* Avocate associée / Avocate collaboratrice sous le h4 */
.team-member h4 + p {
    font-style: italic;
    color: #555;
    font-size: 1rem;
}



/*------------------------------------------------------------------
    Showcase Slider Parallax
-------------------------------------------------------------------*/

	.hayler .clapat-slider-wrapper .clapat-slider-caption {
		justify-content: flex-start;
	}

	.hayler .clapat-slider-wrapper .clapat-slider-caption .item-caption {
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		height: auto;
		text-align: left;
	}

	.hayler .clapat-slider-wrapper .clapat-slider-caption .item-title {
		/*left: -0.06em;*/
		width: 75%
	}

	.hayler .clapat-slider-wrapper .clapat-slider-caption .item-role {
		text-align: right;
	}

	.hayler .clapat-slider-wrapper .clapat-slider-caption .item-cat > span {
		display: block;
	}

	/* Slider Pagination Bullets */

	.hayler .clapat-slider-footer {
		overflow: visible;
	}

	.hayler .showcase-slider-parallax .clapat-slider-pagination {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 20;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		height: auto;
		box-sizing: border-box;
		padding-left: var(--horizontal-gutter);
		padding-right: var(--horizontal-gutter);
		gap: var(--gap);
		counter-reset: slide -1;
		pointer-events: none;
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}

	.hayler .showcase-slider-parallax .clapat-pagination-bullet {
		position: relative;
		display: inline-flex;
		align-items: flex-start;
		justify-content: flex-start;
		width: 100%;
		height: auto;
		padding-bottom: 40px;
		margin: 0;
		opacity: 1;
		cursor: pointer;
		pointer-events: none;
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
	}

	.hayler .showcase-slider-parallax .clapat-pagination-bullet::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 1px;
		opacity: 0.2;
		background-color: currentColor;
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		transform-origin: center;
	}

	.hayler.viewport-mobile .showcase-slider-parallax .clapat-pagination-bullet::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 1px;
		background-color: currentColor;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		transform-origin: right;
		-webkit-transition: transform 0.2s ease-in-out 0.1s;
		transition: transform 0.2s ease-in-out 0.1s;
	}

	.hayler.viewport-mobile .showcase-slider-parallax .clapat-pagination-bullet.clapat-pagination-bullet-active::before {
		transform-origin: left;
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
	}

	.hayler .showcase-slider-parallax .clapat-pagination-bullet .bullet-number-wrapper {
		display: flex;
		align-items: center;
		justify-content: center;
		width: auto;
		height: 100%;
	}

	.hayler .showcase-slider-parallax .clapat-pagination-bullet .bullet-number {
		position: relative;
		width: auto;
		height: 100%;
		opacity: 0.2;
		pointer-events: initial;
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
	}

	.hayler .showcase-slider-parallax .clapat-pagination-bullet.clapat-pagination-bullet-active .bullet-number,
	.hayler .showcase-slider-parallax .clapat-pagination-bullet .bullet-number-wrapper:hover .bullet-number {
		opacity: 1;
	}

	.hayler .showcase-slider-parallax .clapat-pagination-bullet .clapat-autoplay-progress {
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 100%;
		height: 3px;
		opacity: 0;
	}

	.hayler .showcase-slider-parallax .clapat-pagination-bullet.clapat-pagination-bullet-active .clapat-autoplay-progress {
		opacity: 1;
	}

	.hayler .showcase-slider-parallax .clapat-pagination-bullet .clapat-autoplay-progress span {
		position: relative;
		display: block;
		width: 0%;
		height: 2px;
		background: currentColor;
	}

	/* Responsive */

	@media only screen and (max-width: 1024px) {

		.hayler .clapat-slider-wrapper .clapat-slider-caption .item-caption {
			flex-direction: column;
			align-items: flex-start;
			justify-content: center;
			text-align: left;
		}

		.hayler .clapat-slider-wrapper .clapat-slider-caption .item-role {
			text-align: left;
		}

	}

	@media only screen and (max-width: 767px) {

		.hayler .clapat-pagination-bullet {
			padding-bottom: 30px;
		}

	}

	@media only screen and (max-width: 479px) {

		.hayler .clapat-pagination-bullet {
			padding-bottom: 20px;
		}

	}



/*------------------------------------------------------------------
    Showcase Slider Carousel Horizontal
-------------------------------------------------------------------*/

	.hayler .clapat-slider-wrapper .clapat-carousel-caption-wrapper {
		position: absolute;
		top: calc(50 * var(--dvh, 1vh) + max(10vw, 140px));
		left: 0;
		z-index: 100;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: calc(100vw - var(--scroll-bar-w));
		height: 100px;
		box-sizing: border-box;
		opacity: 0;
		pointer-events: none;
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
	}

	.hayler .clapat-slider-wrapper .clapat-carousel-caption-wrapper.visible-caption {
		opacity: 1;
	}

	.hayler .clapat-slider-wrapper .clapat-carousel-caption {
		position: relative;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		width: 20vw;
		min-width: 280px;
		height: 100px;
		opacity: 1;
	}

	.hayler .clapat-slider-wrapper .clapat-carousel-caption .item-caption {
		position: absolute;
		text-align: center;
		color: currentColor;
		pointer-events: none;
	}

	.hayler .clapat-slider-wrapper .clapat-carousel-caption .item-title {
		position: relative;
		overflow: hidden;
		font-family: var(--primary-font-family);
		font-size: var(--h5-font-size);
		line-height: var(--h5-line-height);
		font-weight: var(--h5-font-weight);
		letter-spacing: var(--h5-letter-spacing);
	}

	.hayler .clapat-slider-wrapper .clapat-carousel-caption .item-cat {
		overflow: hidden;
	}

	.hayler .clapat-slider-wrapper .clapat-carousel-caption .item-title span,
	.hayler .clapat-slider-wrapper .clapat-carousel-caption .item-cat span {
		position: relative;
		display: block;
		opacity: 0;
	}

	.hayler .clapat-slider-wrapper .clapat-carousel-caption .item-caption.active .item-title span,
	.hayler .clapat-slider-wrapper .clapat-carousel-caption .item-caption.active .item-cat span {
		opacity: 1;
	}

	.hayler .showcase-slider-carousel-horizontal .clapat-slide .item-date {
		position: absolute;
		top: -23px;
		right: 12px;
		left: auto;
		display: block;
		padding: 0;
		overflow: hidden;
		text-align: right;
		background: transparent;
		opacity: 0;
		color: currentColor;
		-webkit-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;
	}

	.hayler .showcase-slider-carousel-horizontal.visible-caption .clapat-slide .item-caption .item-date {
		opacity: 0.2;
	}

	.hayler .showcase-slider-carousel-horizontal .clapat-slide:hover .item-caption .item-date {
		opacity: 1;
	}

	.hayler .showcase-slider-carousel-horizontal .clapat-slide .item-date span {
		position: relative;
		display: block;
		text-align: right;
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
		-webkit-transition: transform 0.2s ease-in-out;
		transition: transform 0.2s ease-in-out;
	}

	.hayler .showcase-slider-carousel-horizontal .clapat-slide .item-date span::after {
		content: var(--slide-index);
		position: absolute;
		top: -100%;
		right: 0;
		width: 100%;
		height: 100%;
	}

	.hayler .showcase-slider-carousel-horizontal .clapat-slide:hover .item-caption .item-date span {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	/* Responsive */

	.hayler.viewport-mobile .showcase-slider-carousel-horizontal .clapat-slider-viewport {
		transform: translateY(calc(-1 * var(--hero-footer-height) / 2));
	}

	.hayler.viewport-mobile .showcase-slider-carousel-horizontal .item-caption {
		position: absolute;
		top: 0;
		bottom: auto;
		display: flex;
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		height: calc(100% + 36px);
		padding: 12px;
		opacity: 0;
	}

	.hayler.viewport-mobile .showcase-slider-carousel-horizontal .item-caption .item-title {
		position: relative;
		display: block;
		overflow: hidden;
		color: currentColor;
		-webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}

	.hayler.viewport-mobile .showcase-slider-carousel-horizontal .item-content:hover .item-caption .item-title {
		padding-left: 30px;
	}

	.hayler.viewport-mobile .showcase-slider-carousel-horizontal .item-caption .item-title::before {
		content: "\f061";
		position: absolute;
		top: 0;
		left: 0;
		width: 20px;
		height: 30px;
		font: var(--fa-font-solid);
		font-size: 12px;
		line-height: inherit;
		text-align: left;
		opacity: 0;
		color: currentColor;
		pointer-events: none;
		-webkit-transform: scale(0.5) rotate(-45deg);
		transform: scale(0.5) rotate(-45deg);
		transform-origin: -10px center;
		-webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}

	.hayler.viewport-mobile .showcase-slider-carousel-horizontal .item-content:hover .item-caption .item-title::before {
		opacity: 1;
		-webkit-transform: scale(1) rotate(0deg);
		transform: scale(1) rotate(0deg);
	}

	.hayler.viewport-mobile .showcase-slider-carousel-horizontal .item-caption .item-cat {
		position: relative;
		display: block;
		overflow: hidden;
		color: currentColor;
	}

	.hayler.viewport-mobile .showcase-slider-carousel-horizontal .item-caption .item-cat span {
		position: relative;
		display: block;
		width: auto;
		min-width: 100px;
		text-align: right;
		-webkit-transition: -webkit-transform 0.2s;
		transition: transform 0.2s;
	}

	.hayler.viewport-mobile .showcase-slider-carousel-horizontal .item-caption .item-cat span::before {
		content: attr(data-hover);
		position: absolute;
		top: 100%;
		right: 0;
		width: 100%;
		height: 100%;
	}

	.hayler.viewport-mobile .showcase-slider-carousel-horizontal .item-content:hover .item-caption .item-cat span {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}



/*------------------------------------------------------------------
    Portfolio Grid
-------------------------------------------------------------------*/

	.hayler .filters-wrapper {
		position: relative;
		z-index: 1000;
		display: flex;
		justify-content: flex-start;
		width: 100%;
		height: 0;
		box-sizing: border-box;
		padding-top: 0;
		padding-bottom: 0;
		background-color: rgb(200, 200, 200);
		mask-image: none !important;
		opacity: 0;
		pointer-events: none;
	}

	.hayler .filters-container {
		position: relative;
		width: 100%;
		height: auto;
		padding-top: 35px;
		padding-left: calc(33.3333% - (2 * var(--gap)) / 3 + var(--gap));
		padding-bottom: 25px;
	}

	.hayler .clapat-item .reveal-overlay {
		position: absolute;
		inset: 0;
		z-index: 5;
		display: flex;
		pointer-events: none;
		transform: scaleX(1.01);
	}

	.hayler .clapat-item .reveal-overlay span {
		flex: 1;
		background: #f7f7f7;
		transform-origin: top;
		transform: scaleX(1.1) scaleY(1);
		will-change: transform;
	}

	.hayler .clapat-item .reveal-overlay span:nth-child(3) {
		flex: 2;
	}

	.hayler .showcase-portfolio {
		padding-top: 35px;
		counter-reset: thumb;
	}

	/* List View */

	.hayler .showcase-portfolio.portfolio-list-view {
		padding-top: 60px;
		row-gap: 0;
	}

	.hayler .showcase-portfolio.portfolio-list-view .clapat-item::after {
		--segment: calc(
			(100% - (var(--horizontal-gutter) * 2) - (var(--gap) * 2)) / 3
		);
		mask-image: linear-gradient(
			to right,
			transparent 0,
			transparent var(--horizontal-gutter),
			black var(--horizontal-gutter),
			black calc(var(--horizontal-gutter) + var(--segment)),
			transparent calc(var(--horizontal-gutter) + var(--segment)),
			transparent calc(var(--horizontal-gutter) + var(--segment) + var(--gap)),
			black calc(var(--horizontal-gutter) + var(--segment) + var(--gap)),
			black calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap)),
			transparent calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap)),
			transparent calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap) * 2),
			black calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap) * 2),
			black calc(var(--horizontal-gutter) + var(--segment) * 3 + var(--gap) * 2),
			transparent calc(var(--horizontal-gutter) + var(--segment) * 3 + var(--gap) * 2),
			transparent 100%
		);
	}

	.hayler.viewport-mobile .showcase-portfolio.portfolio-list-view .clapat-item .item-effects {
		right: 0;
		left: 0;
		width: 100px;
		margin: auto;
	}

	/* Grid View */

	.hayler .showcase-portfolio:not(.portfolio-list-view) .clapat-item {
		display: flex;
		width: calc(50% - (2 * var(--thumbs-margins-width)));
		overflow: hidden;
		padding-top: 35px;
		padding-bottom: 45px;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .clapat-item::before {
		content: "";
		float: left;
		padding-top: 90%;
	}

	.hayler .showcase-portfolio.items-filtered:not(.portfolio-list-view) .clapat-item {
		width: calc(33.33% - (2 * var(--thumbs-margins-width)));
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .clapat-item .item-content {
		position: relative;
		display: flex;
		width: 100%;
		height: auto;
		cursor: pointer;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .clapat-item .item-content::before {
		content: "";
		float: left;
		padding-top: 90%;
	}

	/* Thumb 1 */

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(1) {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(1)::before {
		content: "";
		float: left;
		padding-top: 90%;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(1) .item-content {
		width: 100%;
	}

	/* Thumb 2 */

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(2) {
		align-items: flex-end;
		justify-content: flex-end;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(2)::before {
		content: "";
		float: left;
		padding-top: 90%;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(2) .item-content {
		width: 66.6667%;
	}

	/* Thumb 3 */

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(3) {
		align-items: flex-end;
		justify-content: flex-end;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(3)::before {
		display: none;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(3) .item-content {
		width: 50%;
	}

	/* Thumb 4 */

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(4) {
		align-items: flex-end;
		justify-content: flex-start;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(4)::before {
		display: none;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(4) .item-content {
		width: 50%;
	}

	/* Thumb 5 */

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(5) {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(5)::before {
		content: "";
		float: left;
		padding-top: 90%;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(5) .item-content {
		width: 66.6667%;
	}

	/* Thumb 6 */

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(6) {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(6)::before {
		content: "";
		float: left;
		padding-top: 90%;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(6) .item-content {
		width: 100%;
	}

	/* Thumb 7 */

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(7) {
		align-items: flex-end;
		justify-content: flex-end;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(7)::before {
		display: none;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(7) .item-content {
		width: 50%;
	}

	/* Thumb 8 */

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(8) {
		align-items: flex-end;
		justify-content: flex-start;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(8)::before {
		display: none;
	}

	.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(8) .item-content {
		width: 50%;
	}

	/* Thumb Caption */

	.hayler .showcase-portfolio:not(.portfolio-list-view) .item-caption {
		display: flex;
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		height: calc(100% + 45px);
		padding: 0;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .item-caption .item-title {
		color: currentColor;
		-webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .clapat-item .item-content:hover .item-caption .item-title {
		padding-left: 30px;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .item-caption .item-title::before {
		content: "\f061";
		position: absolute;
		top: 0;
		left: 0;
		width: 20px;
		height: 30px;
		font: var(--fa-font-solid);
		font-size: 12px;
		line-height: inherit;
		text-align: left;
		opacity: 0;
		color: currentColor;
		pointer-events: none;
		-webkit-transform: scale(0.5) rotate(-45deg);
		transform: scale(0.5) rotate(-45deg);
		transform-origin: -10px center;
		-webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .clapat-item .item-content:hover .item-caption .item-title::before {
		opacity: 1;
		-webkit-transform: scale(1) rotate(0deg);
		transform: scale(1) rotate(0deg);
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .item-caption .item-cat {
		color: currentColor;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .item-caption .item-cat span {
		position: relative;
		display: block;
		width: auto;
		min-width: 100px;
		text-align: right;
		-webkit-transition: -webkit-transform 0.2s;
		transition: transform 0.2s;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .item-caption .item-cat span::before {
		content: attr(data-hover);
		position: absolute;
		top: 100%;
		right: 0;
		width: 100%;
		height: 100%;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .clapat-item .item-content:hover .item-caption .item-cat span {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .clapat-item .item-date {
		position: absolute;
		top: -35px;
		right: 0;
		left: auto;
		display: block;
		padding: 0;
		text-align: right;
		background: transparent;
		color: currentColor;
	}

	.hayler .showcase-portfolio.portfolio-list-view .clapat-item .item-date {
		text-align: right;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .item-caption .item-date span {
		text-align: right;
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
		-webkit-transition: -webkit-transform 0.2s;
		transition: transform 0.2s;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .item-caption .item-date span::after {
		content: counter(thumb, decimal-leading-zero) "";
		position: absolute;
		top: 100%;
		right: 0;
		width: 100%;
		height: 100%;
		counter-increment: thumb;
	}

	.hayler .showcase-portfolio:not(.portfolio-list-view) .clapat-item .item-content:hover .item-caption .item-date span {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	/* Responsive */

	@media only screen and (max-width: 1024px) {

		/* Thumb 3 */
		.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(3) .item-content {
			width: 66.6667%;
		}

		/* Thumb 4 */
		.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(4) .item-content {
			width: 66.6667%;
		}

		/* Thumb 7 */
		.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(7) .item-content {
			width: 66.6667%;
		}

		/* Thumb 8 */
		.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(8) .item-content {
			width: 66.6667%;
		}

	}

	@media only screen and (max-width: 767px) {

		.hayler .filters-container {
			padding-left: 0;
		}

		/* All Thumbs */
		.hayler .showcase-portfolio:not(.items-filtered):not(.portfolio-list-view) .clapat-item:nth-child(n) .item-content {
			width: 100%;
		}
		
		.hayler .showcase-portfolio.items-filtered:not(.portfolio-list-view) .clapat-item {
		  	width: calc(50% - (2 * var(--thumbs-margins-width)));
		}

	}

	@media only screen and (max-width: 479px) {

		.hayler .showcase-portfolio:not(.portfolio-list-view) .clapat-item {
			width: calc(100% - (2 * var(--thumbs-margins-width)));
		}
		
		.hayler .showcase-portfolio.items-filtered:not(.portfolio-list-view) .clapat-item {
		  	width: calc(100% - (2 * var(--thumbs-margins-width)));
		}

		.hayler .showcase-portfolio.switch-layout.portfolio-list-view .clapat-item .item-caption {
			flex-wrap: wrap;
			align-content: center;
			gap: 0;
		}

		.hayler .showcase-portfolio.switch-layout.portfolio-list-view .clapat-item .item-caption .item-title {
			flex: 0 0 100%;
		}

		.hayler .showcase-portfolio.switch-layout.portfolio-list-view .clapat-item .item-caption .item-cat,
		.hayler .showcase-portfolio.switch-layout.portfolio-list-view .clapat-item .item-caption .item-date {
			flex: 0 0 50%;
		}

	}


/*------------------------------------------------------------------
    Shortcodes
-------------------------------------------------------------------*/

	/* Has Underline */

	.hayler .clone-underline::before,
	.hayler .clone-underline::after {
		bottom: 8px;
	}

	@media only screen and (max-width: 1537px) {

		.hayler .clone-underline::before,
		.hayler .clone-underline::after {
			bottom: 7px;
		}

	}

	@media only screen and (max-width: 1024px) {

		.hayler .clone-underline::before,
		.hayler .clone-underline::after {
			bottom: 5px;
		}

	}

	/* Marquee */

	.hayler .marquee-image {
		width: 1em;
		height: 1em;
	}	

	/* Flex List */

	.hayler .flex-list::before {
		--segment: calc(
			(100% - (var(--horizontal-gutter) * 2) - (var(--gap) * 2)) / 3
		);
		mask-image: linear-gradient(
			to right,
			transparent 0,
			transparent var(--horizontal-gutter),
			black var(--horizontal-gutter),
			black calc(var(--horizontal-gutter) + var(--segment)),
			transparent calc(var(--horizontal-gutter) + var(--segment)),
			transparent calc(var(--horizontal-gutter) + var(--segment) + var(--gap)),
			black calc(var(--horizontal-gutter) + var(--segment) + var(--gap)),
			black calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap)),
			transparent calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap)),
			transparent calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap) * 2),
			black calc(var(--horizontal-gutter) + var(--segment) * 2 + var(--gap) * 2),
			black calc(var(--horizontal-gutter) + var(--segment) * 3 + var(--gap) * 2),
			transparent calc(var(--horizontal-gutter) + var(--segment) * 3 + var(--gap) * 2),
			transparent 100%
		);
	}

	/* Clock */

	.hayler .clock-widget {
		align-items: inherit;
		justify-content: center;
	}

	@media only screen and (max-width: 767px) {

		.hayler .clock-widget {
			flex-direction: row;
			gap: 4px;
		}

		.hayler .clock-label::after {
			content: ",";
		}

		.hayler .clock-time.heading-5 {
			font-family: var(--default-font-family);
			font-size: var(--default-body-font-size);
			line-height: var(--default-body-line-height);
			font-weight: var(--default-body-font-weight);
			letter-spacing: var(--default-body-letter-spacing);
		}

	}

	/* Background Pattern */

	.hayler .background-pattern {
		--checker-opacity: 0.1;
		--checker-size: 18px;
		--checker-color: color-mix(in srgb, currentColor calc(var(--checker-opacity) * 100%), transparent);
		background-color: transparent;
		background-image:
			linear-gradient(45deg, var(--checker-color) 25%, transparent 25%),
			linear-gradient(-45deg, var(--checker-color) 25%, transparent 25%),
			linear-gradient(45deg, transparent 75%, var(--checker-color) 75%),
			linear-gradient(-45deg, transparent 75%, var(--checker-color) 75%);
		background-size: var(--checker-size) var(--checker-size);
		background-position: 0 0, 0 calc(var(--checker-size) / 2), calc(var(--checker-size) / 2) calc(var(--checker-size) / -2), calc(var(--checker-size) / -2) 0;
	}