/*
Theme Name:  hello-elementor-child
Theme URI:  https://rachelmccollin.com
Description:  Thème enfant du thème hello-elementor
Author:  Caconcept
Textdomain:  Caconcept
Author URI:  https://www.caconcept.fr/
Template:  hello-elementor
Version:  1.0
License:  GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html                 
*/


/* ############################################################################################################
###############################################################################################################

CACONCEPT

###############################################################################################################
############################################################################################################ */


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

général

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */


body {
	font-family: "Open Sans";
    font-size: 15px;
    line-height: 1.5em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.no-scroll {
	overflow: hidden;
    max-height: 100vh;
}

a {
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}

button:focus,
button:active { 
	text-decoration: none;
	outline:0 !important; 
}

*:focus {
	outline: none;
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

menu

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#menu.elementor-sticky .elementor-widget-wrap {
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

#menu.elementor-sticky--active .elementor-widget-wrap {
	padding-top: 0;
	padding-bottom: 0;
}

#menu.elementor-sticky .logo img {
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

#menu.elementor-sticky--active .logo img {
	max-width: 130px;
}

#menu .menu-item-877 {
	font-weight: 700;
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

clients-logos

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.clients-logos .swiper-slide img {
	filter: grayscale(1);
    opacity: .6;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

.clients-logos .swiper-slide:hover img {
	filter: grayscale(0);
    opacity: 1;
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

gamme-carousel

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.gamme-carousel .elementor-carousel-image-overlay {
    text-align: right;
	text-shadow: 0 0 10px rgba(0,0,0,.1);
    background: rgba(0,0,0,.4);
    background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,.4) 80%) !important;
	justify-content: right;
    align-items: end;
    opacity: 1 !important;
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

gamme-grid

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.gamme-grid .elementor-cta__content {
    background: rgba(0,0,0,.4);
    background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.5) 60%) !important;
}

.gamme-grid .elementor-cta__title {
	text-shadow: 0 0 10px rgba(0,0,0,.3);
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

blog-post-item

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.blog-post-item .image,
.blog-post-item .image .elementor-widget-container,
.blog-post-item .image .elementor-widget-container a {
	height: 100%;
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-heading
elementor-widget-text-editor

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */


.elementor-widget.elementor-widget-heading span.elementor-heading-title,
.elementor-widget.elementor-widget-heading p.elementor-heading-title,
.elementor-widget.elementor-widget-heading div.elementor-heading-title {
    font-size: 15px;
    line-height: 1.5em;
	display: inline-block;
}

.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-xxl {
	font-family: var( --e-global-typography-primary-font-family );
    font-size: var( --e-global-typography-primary-font-size );
    font-weight: var( --e-global-typography-primary-font-weight );
    text-transform: var( --e-global-typography-primary-text-transform );
    line-height: var( --e-global-typography-primary-line-height );
    letter-spacing: var( --e-global-typography-primary-letter-spacing );
}

.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-xl {
	font-family: var( --e-global-typography-secondary-font-family );
    font-size: var( --e-global-typography-secondary-font-size );
    font-weight: var( --e-global-typography-secondary-font-weight );
    text-transform: var( --e-global-typography-secondary-text-transform );
    line-height: var( --e-global-typography-secondary-line-height );
    letter-spacing: var( --e-global-typography-secondary-letter-spacing );
}

.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-large {
	font-family: var( --e-global-typography-text-font-family );
    font-size: var( --e-global-typography-text-font-size );
    font-weight: var( --e-global-typography-text-font-weight );
    text-transform: var( --e-global-typography-text-text-transform );
    line-height: var( --e-global-typography-text-line-height );
    letter-spacing: var( --e-global-typography-text-letter-spacing );
}

.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-medium {
	font-family: var( --e-global-typography-accent-font-family );
	font-size: var( --e-global-typography-accent-font-size );
	font-weight: var( --e-global-typography-accent-font-weight );
	text-transform: var( --e-global-typography-accent-text-transform );
	line-height: var( --e-global-typography-accent-line-height );
	letter-spacing: var( --e-global-typography-accent-letter-spacing );
}

.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-small {
	font-family: var( --e-global-typography-28060c3-font-family );
    font-size: var( --e-global-typography-28060c3-font-size );
    font-weight: var( --e-global-typography-28060c3-font-weight );
    text-transform: var( --e-global-typography-28060c3-text-transform );
    line-height: var( --e-global-typography-28060c3-line-height );
    letter-spacing: var( --e-global-typography-28060c3-letter-spacing );
}

.elementor-widget-text-editor p {
	margin-bottom: 10px;
}

.elementor-widget-text-editor ul {
	list-style: none;
	padding-left: 20px;
	margin-bottom: 15px;
}

.elementor-widget-text-editor ol {
	padding-left: 20px;
	margin-bottom: 15px;
}

.elementor-widget-text-editor ul li,
.elementor-widget-text-editor ol li {
	margin-bottom: 7px;
}

.elementor-widget-text-editor ul li:last-child,
.elementor-widget-text-editor ol li:last-child {
	margin-bottom: 0;
}

.elementor-widget-text-editor ul li:before {
	content: "\f04b";
	font-size: 55%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	color: var( --e-global-color-secondary );
	position: relative;
	top: -2px;
	margin-left: -20px;
	width: 20px;
	display: inline-block;
}

.elementor-widget-text-editor > div > *:last-child {
	margin-bottom: 0;
}

.elementor-widget-text-editor strong,
.elementor-tab-content strong,
.elementor-widget-text-editor b,
.elementor-tab-content b {
	font-weight: 700;
}

@media (max-width: 1024px) {

.elementor-widget.elementor-widget-heading .elementor-heading-title br {
	display: none;
}

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-button

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-content-item .elementor-button,
.elementor-button-wrapper .elementor-button {
	font-size: 14px;
	line-height: 20px;
	padding: 15px 25px;
	position: relative;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

.elementor-content-item .elementor-button.elementor-size-xs,
.elementor-button-wrapper .elementor-button.elementor-size-xs {
  font-size: 13px;
  padding: 10px 20px;
}

.elementor-content-item .elementor-button.elementor-size-sm,
.elementor-button-wrapper .elementor-button.elementor-size-sm {
  font-size: 14px;
  padding: 15px 25px;
}

.elementor-content-item .elementor-button.elementor-size-md,
.elementor-button-wrapper .elementor-button.elementor-size-md {
  font-size: 15px;
  padding: 20px 30px;
}

.elementor-content-item .elementor-button.elementor-size-lg,
.elementor-button-wrapper .elementor-button.elementor-size-lg {
  font-size: 15px;
  padding: 25px 35px;
}

.elementor-content-item .elementor-button.elementor-size-xl,
.elementor-button-wrapper .elementor-button.elementor-size-xl {
  font-size: 16px;
  padding: 30px 40px;
}

.elementor-button-wrapper .elementor-button:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background: #fff;
	width: 100%;
	height: 0;
	opacity: .2;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

.elementor-button-wrapper .elementor-button:hover:before {
	height: 100%;
	opacity: 0;
}

/* Bouton info --------------------- */

.elementor-button-info .elementor-button-wrapper .elementor-button,
.elementor-button-info .elementor-button-wrapper .elementor-button:not([href]):not([tabindex]),
.elementor-button-info .elementor-button-wrapper .elementor-button:not([href]):not([tabindex]):focus {
	color: var( --e-global-color-primary );
	background: none !important;
	box-shadow: 0 0 0 1px var( --e-global-color-primary ) inset;
}

.elementor-button-info .elementor-button-wrapper .elementor-button:hover,
.elementor-button-info .elementor-button-wrapper .elementor-button:not([href]):not([tabindex]):hover {
	color: #fff;
	background: var( --e-global-color-secondary ) !important;
	box-shadow: 0 0 0 1px var( --e-global-color-secondary ) inset;
}


@media (max-width: 1024px) {


.elementor-button-wrapper .elementor-button.elementor-size-sm,
.elementor-content-item .elementor-button.elementor-size-sm,
.elementor-button-wrapper .elementor-button.elementor-size-md,
.elementor-content-item .elementor-button.elementor-size-md,
.elementor-button-wrapper .elementor-button.elementor-size-lg,
.elementor-content-item .elementor-button.elementor-size-lg,
.elementor-button-wrapper .elementor-button.elementor-size-xl,
.elementor-content-item .elementor-button.elementor-size-xl {
  font-size: 13px;
  padding: 15px 20px;
}


}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-form

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-widget-form .elementor-field-type-acceptance > label {
	display: none;
}

.elementor-widget-form .elementor-mark-required .elementor-field-label::after {
	color: inherit;
	font-weight: normal;
	opacity: .7;
}

.elementor-widget-form .elementor-field-type-checkbox .elementor-field-subgroup label,
.elementor-widget-form .elementor-field-type-acceptance .elementor-field-subgroup label {
    color: inherit !important;
}

/* Pour l'avant dernier élément qd c'est un élement de type acceptance */

.elementor-widget-form .elementor-field-type-acceptance:nth-last-child(2) {
    font-size: 85%;
    line-height: 1.4em;
    color: #666;
}

.elementor-widget-form .elementor-field-type-acceptance:nth-last-child(2) .elementor-field-subgroup label {
    color: #666 !important;
}

.elementor-widget-form .elementor-field-type-acceptance:nth-last-child(2) .elementor-field-subgroup label a {
    color: inherit;
    text-decoration: underline;
    text-decoration-style: dotted;
}

.elementor-widget-form .elementor-field-type-acceptance:nth-last-child(2) .elementor-field-subgroup label a:hover {
    color: var( --e-global-color-primary );
}

.elementor-widget-form .elementor-labels-above .e-form__buttons {
	margin-top: 15px;
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-popup-modal

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-popup-modal .dialog-message {
	font-size: inherit;
    line-height: inherit;
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

elementor-widget-social-icons

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.elementor-widget-social-icons .elementor-social-icon:hover {
	opacity: 1;
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////

swiper

//////////////////////////////////////////////////////////////////////////////////////////////////////////// */


/* Pour la pagination ---------------------------------- */

.elementor-element.elementor-pagination-position-outside .swiper,
.elementor-element.elementor-widget-loop-carousel.elementor-pagination-position-outside .elementor-loop-container.swiper {
    padding-bottom: 60px;
}

.elementor-element .swiper .swiper-horizontal>.swiper-pagination.swiper-pagination-bullets, 
.elementor-element .swiper .swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal, 
.elementor-element .swiper .swiper-pagination.swiper-pagination-custom, 
.elementor-element .swiper .swiper-pagination.swiper-pagination-fraction {
    bottom: 20px;
}

.elementor-element.elementor-pagination-position-outside .swiper .swiper-horizontal>.swiper-pagination.swiper-pagination-bullets, 
.elementor-element.elementor-pagination-position-outside .swiper .swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal, 
.elementor-element.elementor-pagination-position-outside .swiper .swiper-pagination.swiper-pagination-custom, 
.elementor-element.elementor-pagination-position-outside .swiper .swiper-pagination.swiper-pagination-fraction {
    bottom: 0;
}

.swiper-pagination-bullet {
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

.swiper-pagination .swiper-pagination-bullet,
.elementor-widget-loop-carousel .swiper-pagination .swiper-pagination-bullet {
	background: var( --e-global-color-secondary );
	width: 8px;
	height: 8px;
	opacity: 1;
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: var( --e-global-color-primary );
	transform: scale(1.2);
}

.elementor-widget-media-carousel.elementor-pagination-position-inside .swiper-pagination .swiper-pagination-bullet,
.elementor-widget-image-carousel.elementor-pagination-position-inside .swiper-pagination .swiper-pagination-bullet {
	background: #fff;
	width: 10px;
	height: 10px;
	opacity: .7;
	box-shadow: 0 0 7px rgba(0,0,0,.4);
}

.elementor-widget-media-carousel.elementor-pagination-position-inside .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active,
.elementor-widget-image-carousel.elementor-pagination-position-inside .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #fff;
	opacity: 1;
}

/* Pour les flèches ---------------------------------- */

.elementor-widget.elementor-element.elementor-arrows-position-outside .swiper {
    width: calc(100% - 100px);
}

.elementor-swiper-button {
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

.elementor-widget.elementor-arrows-position-outside .swiper .elementor-swiper-button {
	color: var( --e-global-color-secondary );
}

.elementor-widget.elementor-element.elementor-arrows-position-outside .swiper .elementor-swiper-button:hover {
	color: var( --e-global-color-primary );
}

.elementor-widget.elementor-element .swiper .elementor-swiper-button:hover {
	transform: translateY(-50%) scale(1.3);
}

.elementor-widget.elementor-element.elementor-arrows-position-inside .swiper .elementor-swiper-button {
	color: #fff;
	text-shadow: 0 0 7px rgba(0,0,0,.4);
}

@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}

@media (max-width: 480px) {

}


