/* 
Theme Name: Sawi Theme
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Sawi Theme is a child theme of Hello Elementor, created by Elementor team
Author: Gaëtan Haefeli
Author URI: https://www.coloriaweb.ch/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


:root{
	--top-section:6em;
	--side-section:4%;
}

/* Text selection */
::-moz-selection { /* Code for Firefox */
  background-color: var(--e-global-color-primary);
}

::selection {
  background-color: var(--e-global-color-primary);
}

/* MENU */

#sw-menu-cta {
	background-color:var(--e-global-color-secondary);
}

#sw-menu-cta span {
	color:var(--e-global-color-primary)!important;
}




/* Huge section */

.sw-huge__section{
	position:relative;
}

.sw-huge__container-img{
	position:static;
	height:100%;
}


.sw-huge__img, .sw-huge__img .elementor-widget-container, .sw-huge__img .dynamic-content-for-elementor-acf, .sw-huge__img .acf-image,  .sw-huge__img .mask, .sw-huge__img .wrap-filters   {
	height:100%;
	width:100%;
}



.sw-huge__img img{
	height:100%;
	object-fit:cover;
	width:50%;
}


.sw-huge__container-content{
	position:static;
	z-index:5;
}

/* SEPARATOR */
.sw-vertical-separator{
	width:1px;
}

.sw-vertical-separator .elementor-divider{
	height:100%;
}

.sw-vertical-separator .elementor-divider .elementor-divider-separator{
	background-color:#0000001A;
}

@media screen and (max-width:1024px){
	
	.sw-huge__section .sw-huge__img{
	position:static!important;
		width:100%!important;
	}
	
	.sw-huge__section{
		padding:0px;
	}
	
	.sw-huge__container-content{
	padding:0px 2em;
}
	
	.sw-huge__container-img{
		padding:0px;
	}
	
	
}

/* Tabs filtre homepage */
@media screen and (max-width:767px){
	#sw-filter-tabs .e-n-tabs-heading{
		display:block;
	}
	
	#sw-filter-tabs .e-n-tab-title{
		margin-bottom:0px;
		width:100%;
	}
	
}


/* icons */
.sw-icon-check .e-font-icon-svg{
	background-color: #000;
    border-radius: 50%;
}

/* Icons bullet list */
.sw-custom-li ul {
	list-style: none!important;
	padding: 0;
	list-style-image: url('/wp-content/uploads/2025/10/bullet-check-circle.svg');
	margin-bottom:16px!important;
}

.sw-custom-li ul li {
	position: relative;
  padding-left: 2em;
	margin-top:12px;
}

.sw-custom-li ul li::before {
	content: url('/wp-content/uploads/2025/10/bullet-check-circle.svg');
	position: absolute;
  left: 10px;
  top: 10x;
  font-size: 1em;
}

.sw-custom-li.sw-black ul li::before{
	content: url('/wp-content/uploads/2025/11/check-circle-black-small.svg');
}

/* References marquee */

#marquee-container .marquee {
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: 2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
	
}

#marquee-container .marquee__group {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 100%;
  animation: scroll 30s linear infinite reverse;
}

	#marquee-container .refrence-img{
		height:100%;
		display:flex;
		align-items:center;
		justify-content:center;
		width:400px;
		height:80px;
	}





#marquee-container .marquee:nth-child(odd) .marquee__group {

  animation: scroll 30s linear infinite;
}


@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - 2rem));
  }
}

@media only screen and (max-width: 1024px) {
	#marquee-container .marquee{
		flex-wrap:nowrap;
		padding:0px;
		width:auto;
	}
	
	#marquee-container .marquee__group{
		width:auto;
	}
	
	#marquee-container .refrence-img{
		padding:8px;
		width:200px;
	}
	
}

@media only screen and (min-width: 360px) {
   #marquee-container .marquee__group span {
        font-size: 6.5vw;
    }
}

/* CALENDLY */
.calendly-inline-widget iframe{
	height:700px;
}

@media screen and (max-width: 767px){
	.calendly-inline-widget iframe{
	height:500px;
}
}

/* FAQ */
/* Grid */
.faq-accordion .dce-acf-repeater-grid {
    display: grid;
    grid-template-columns: auto;
    gap: 32px;
}

#bloc-public .e-con-inner{
	gap:0px;
}

#bloc-public .dce-acf-repeater-grid{
	gap:0px;
}

/* Item */
.faq-accordion .dce-acf-repeater-item {
    border-bottom: 1px solid #e5e7eb;
}
.faq-accordion .dce-acf-repeater-item:last-child {
    padding-bottom: 0;
}
.faq-accordion .dce-acf-repeater-item > div {
    height: 100%;
}

/* Header cliquable */
.faq-accordion .faq-header {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 1rem 0;
    justify-content: space-between;
}



/* Titre / Question */
.faq-accordion .faq-question h3,
.faq-accordion .faq-question h4 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.4;
}

/* Icône + */
.faq-accordion .faq-icon .e-font-icon-svg {
    width: 20px;
    height: 20px;
    transition: transform .25s ease;
}

/* Réponse cachée par défaut */
.faq-accordion .faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-4px);
    transition: max-height .3s ease, opacity .2s ease, transform .3s ease;
}

/* État ouvert */
.faq-accordion .dce-acf-repeater-item.is-open .faq-answer {
    max-height: 1000px;
    opacity: 1;
    transform: translateY(0);
}

/* Rotation du + en × */
.faq-accordion .dce-acf-repeater-item.is-open .faq-icon .e-font-icon-svg {
    transform: rotate(45deg);
}

/* Indentation du contenu */
.faq-accordion .faq-answer .dynamic-content-for-elementor-acf {
    padding: 0 0 1rem 0.5rem;
}

@media (max-width: 767px) {
    .faq-accordion .dce-acf-repeater-grid {
        grid-template-columns: auto;
    }
    .faq-accordion .faq-header .faq-question {
        width: 80% !important;
    }
}

/* Dynamic COO plugin css */
.dynamic-content-for-elementor-acf, .elementor-widget-container ul {
	margin:0px;
}

.dynamic-content-for-elementor-acf {
	display:block!important;
}

body > .formation{
	margin-bottom:0px;
	border:none;
}

/* Mobile display */

@media screen and (min-width: 767px){
	.sw-only-mobile{
		display:none;
	}
}


@media screen and (max-width: 767px){
	.sw-no-mobile{
		display:none;
	}
}

