@charset "utf-8";
/* CSS Document */
::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}
::-webkit-scrollbar-track {
	background: #e4e4e4;
	border-radius: 7px;
}
/*.testimonials::-webkit-scrollbar-track {
	border-radius: 7px;
}*/
::-webkit-scrollbar-thumb {
	background: #ef6b64;
	border-radius: 7px;
}
::-webkit-scrollbar-thumb:hover {
	background: #ed554d;
}
/* Make text look crisper and more legible in all browsers */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
  input[type="file"]:focus-visible {
   outline: 0.125rem solid #4d65ff;
   outline-offset: 0.125rem;
}

/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
  margin-top: 0 !important;
}

/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
	margin-bottom: 0 !important;
}

/* Prevent all click and hover interaction with an element */
.pointer-events-off {
	pointer-events: none;
}

/* Enables all click and hover interaction with an element */
.pointer-events-on {
  pointer-events: auto;
}

/* Create a class of .div-square which maintains a 1:1 dimension of a div */
.div-square::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

/* Make sure containers never lose their center alignment */
.container-medium,.container-small, .container-large {
	margin-right: auto !important;
  margin-left: auto !important;
}

/* 
Make the following elements inherit typography styles from the parent and not have hardcoded values. 
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
/*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  color: inherit;
  text-decoration: inherit;
  font-size: inherit;
}
*/

/* Apply "..." after 3 lines of text */
.text-style-3lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

/* Apply "..." after 2 lines of text */
.text-style-2lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* Adds inline flex display */
.display-inlineflex {
  display: inline-flex;
}

/* These classes are never overwritten */
.hide {
  display: none !important;
}

@media screen and (max-width: 991px) {
	.hide, .hide-tablet {
		display: none !important;
	}
}
  @media screen and (max-width: 767px) {
	.hide-mobile-landscape{
	  display: none !important;
	}
}
  @media screen and (max-width: 479px) {
	.hide-mobile{
	  display: none !important;
	}
}

.margin-0 {
  margin: 0rem !important;
}

.padding-0 {
  padding: 0rem !important;
}

.spacing-clean {
padding: 0rem !important;
margin: 0rem !important;
}

.margin-top {
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-top {
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-right {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-right {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-bottom {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-bottom {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.margin-left {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-left {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-horizontal {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-horizontal {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-vertical {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-vertical {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.home_blog_list:nth-child(2n) .blog_card {	background-color: red;}

.blog_cms-exerpt {
	text-overflow: ellipsis;
	max-height: 100px;
	overflow: hidden;
}

/* MY */
.text-break {
	word-wrap: break-word !important;
	word-break: break-word !important;
}

.background-color-white{
	background-color: white !important;
}

@media screen and (max-width: 991px) {
	.section_nav{
	z-index: 10001;
  }

	.w-nav-overlay{
	background-color: var(--red--80);
  }
	.nav_menu-wrapper.w-nav-menu
	{
		height: calc(100vh - 125px) !important;
	overflow: auto;
	}
}

.component-in-article {
  font-family: 'Kanit';
}

/*#component-in-article ._3-grid{
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}*/

.component-in-article .home_partner_clients {
	margin-top: -2rem;
	margin-left: -2rem;
	margin-right: -2rem;
}

@media screen and (max-width: 767px) {
	.component-in-article .home_partner_clients {
		margin-left: -1rem;
		margin-right: -1rem;
  }
}

.home_presentation_card.small {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 0.8rem;
}

.home_presentation_card.small p {
	font-size: 1rem;
}

.home_presentation_card.small .home_presentation_card_entete {
	display: flex;
}

.home_presentation_card.small .home_presentation_card_entete .padding-bottom {
	display: none;
}

.home_presentation_card.small .home_presentation_card_entete .home_presentation_number {
	width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  min-height: 2.5rem;
  position: relative;
  top: 13px;
  margin-right: 10px;
}

.home_presentation_card.small .home_presentation_card_entete h3 {
	font-size: 1.3rem;
}

@media ((min-width: 768px) and (max-width: 1057px)) {
	.home_presentation_card.small .home_presentation_card_entete {
		flex-wrap: wrap;
	} 
}

@media (max-width: 1057px) {
  .home_presentation_card.small .home_presentation_card_entete .home_presentation_number {
	top: 0;
  }
}

.choice {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    z-index: 20000;

    .logo {
        position: absolute;
        color: white;
        z-index: 9;
        top: 20%;
        display: flex;
        justify-content: center;
        left: calc(50%);
        transform: translate(-50%, -20%);
        border-radius: 10px;
        padding: 12px;
        background-color: #a3a3a338;
        box-shadow: 0 -0.5rem 1rem rgba(0, 0, 0, 0.15) !important;

        img {
            max-width: 320px;
            object-fit: contain;
        }
    }

    .set_choice {
        display: flex;
        height: 100%;
        position: fixed;
        justify-content: center;
        align-items: center;
        background-color: white;
        width: 100%;

        >div {
            cursor: pointer;
            position: relative;

            .img-container {
                width: 100%;
                height: 100%;
            }

            .choice_img {
                width: 100%;
                height: 100%;
                object-fit: cover;

                // @media (max-width: 500px) {
                //     &.part {
                //         object-position: 0px 250px;
                //     }
                // }

                // @media (max-width: 480px) {
                //     &.part {
                //         object-position: 0px 230px;
                //     }
                // }

                // @media (max-width: 460px) {
                //     &.part {
                //         object-position: 0px 210px;
                //     }
                // }

                // @media (max-width: 450px) {
                //     &.part {
                //         object-position: 0px 190px;
                //     }
                // }

                // @media (max-width: 440px) {
                //     &.part {
                //         object-position: 0px 170px;
                //     }
                // }

                // @media (max-width: 430px) {
                //     &.part {
                //         object-position: 0px 150px;
                //     }
                // }

                // @media (max-width: 410px) {
                //     &.part {
                //         object-position: 0px 130px;
                //     }
                // }

                // @media (max-width: 390px) {
                //     &.part {
                //         object-position: 0px 110px;
                //     }
                // }

                // @media (max-width: 380px) {
                //     &.part {
                //         object-position: 0px 100px;
                //     }
                // }

                // @media (max-width: 370px) {
                //     &.part {
                //         object-position: 0px 85px;
                //     }
                // }

                // @media (max-width: 360px) {
                //     &.part {
                //         object-position: 0px 60px;
                //     }
                // }

                // @media (max-width: 350px) {
                //     &.part {
                //         object-position: 0px 50px;
                //     }
                // }

                // @media (max-width: 340px) {
                //     &.part {
                //         object-position: 0px 40px;
                //     }
                // }

                // @media (max-width: 330px) {
                //     &.part {
                //         object-position: 0px 0px;
                //     }
                // }
            }

            .choice_title {
                a {
                    color: inherit;
                    margin: 0;
                    // pointer-events: none;
                }

                position: absolute;
                top: 57%;
                transform: rotate(-2deg) translateY(-57%);


                &.part {
                    color: var(--red--80);
                    // top: 60%;
                    // transform: rotate(-2deg) translateY(-60%);
                }

                &.pro {
                    color: var(--blue--80);
                }

                background-color: white;
                text-align: center;
                width: 275px;
                font-size: 34px;
                color: white;
                font-weight: bold;
                padding: 6px;
                border: 2px solid transparent;
            }

            &:first-child {
                position: relative;

                &:hover {
                    .choice_title {
                        border: 2px solid var(--red--80);
                    }
                }
            }

            &:last-child {
                position: relative;

                &:hover {
                    .choice_title {
                        border: 2px solid var(--blue--80);
                    }
                }
            }

            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            color: white;
            font-size: 26px;
            transition: all 0.4s ease-in-out;

            &:hover {
                font-weight: bold;
                width: 125%;

                .choice_title {
                    border-radius: 4px;
                }
            }
        }
    }

    @media (max-width: 576px) {
        .logo img {
            max-width: 250px !important;
        }

        .choice_title {
            font-size: 24px !important;
            width: 195px !important;
        }
    }

    @media (max-width: 500px) {
        .logo {
            top: 50%;
            transform: translate(-50%, -50%);
            img {
                max-width: 225px !important;
            }
        }

        .set_choice {
            flex-direction: column;

            >div {
                .img-container {
                    position: absolute;
                    .choice_img.part
                    {
                        object-position: 0px -35px;
                    }
                }

                .choice_title {
                    font-size: 28px !important;
                    width: 220px !important;
                    padding: 4px !important;

                    &.part,
                    &.pro {
                        position: relative;
                        top: auto;
                    }
                }

                &:hover {
                    width: 110%;
                }
            }
        }

    }

    @media (max-width: 330px) {
        .choice_img.part
        {
            object-position: 0px 0px !important;
        }
    }
}

.overlayLoading {
    z-index: 20001;
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /*display: flex;*/
    align-items: center;
    justify-content: center;
    font-size: 20px;
    height: 100%;
    background-color: var(--red--80);
}

.overlayLoading #idImg {
    animation: rotate 1.8s linear infinite;
}

.overlayLoading .overlayLoading_content {
    position: fixed;
    color: white;
    top: 25vh;
    left: 0;
    width: 100vw;
    height: 100vh;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.loader_logo {
    max-width: 300px;
    max-height: 177px;
    object-fit: contain;
}

.overlayLoading .canap {
    position: relative;
    top: 35px;
    max-width: 25%
}

.overlayLoading .canap img {
    width: 60px;
}

.overlayLoading .text {
    font-weight: bold;
    line-height: 0px;
    font-size: 49px;
    margin-bottom: 40px;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

ul.li-red li::marker {
    color: var(--red--main);
}

.max-4-lines {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.important {
    font-weight: bold;
  }