/*
    Theme Name: BacBobinage
    Theme URI: https://www.bacbobinage.fr
    Description: Child Theme for BacBobinage (Hello Elementor)
    Author: Soheil Saheb-Jamii
    Author URI: https://wwww.agence42.fr
    Template: hello-elementor
    Version: 1.0.0
    Text Domain: bacbobinage
    License: BSD 3-Clause License
    License URI: https://opensource.org/licenses/BSD-3-Clause
 */
form input[type=text].elementor-field-textual, form input[type=email].elementor-field-textual, form input[type=tel].elementor-field-textual {
  border: 1px solid var(--bacbobinage-color-input-border);
  border-radius: 20px;
  min-height: 60px;
}
form input[type=text].elementor-field-textual.elementor-field-textual.elementor-size-lg, form input[type=email].elementor-field-textual.elementor-field-textual.elementor-size-lg, form input[type=tel].elementor-field-textual.elementor-field-textual.elementor-size-lg {
  border-radius: 20px;
}
form input[type=text].elementor-field-textual:focus, form input[type=email].elementor-field-textual:focus, form input[type=tel].elementor-field-textual:focus {
  border: 1px solid var(--bacbobinage-primary);
}
form textarea {
  border: 1px solid var(--bacbobinage-color-input-border);
  border-radius: 20px;
  min-height: 60px;
  transition: none;
  padding: 12px 20px !important;
}
form textarea.elementor-field-textual.elementor-size-lg {
  border-radius: 20px;
}
form textarea:focus {
  border: 1px solid var(--bacbobinage-primary);
}
form .elementor-field-type-text, form .elementor-field-type-textarea, form .elementor-field-type-email, form .elementor-field-type-tel {
  position: relative;
  padding-top: 20px;
  margin-top: -20px;
}
form .elementor-field-type-text label, form .elementor-field-type-textarea label, form .elementor-field-type-email label, form .elementor-field-type-tel label {
  transition: all 0.3s cubic-bezier(0.28, 0, 0, 1) 0s;
  position: absolute;
  left: 35px;
  top: calc(50% + 10px);
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
}
form .elementor-field-type-text label.active, form .elementor-field-type-textarea label.active, form .elementor-field-type-email label.active, form .elementor-field-type-tel label.active {
  top: 8px;
  left: 25px;
  font-size: 14px;
}
form .elementor-field-type-text input:hover, form .elementor-field-type-text textarea:hover, form .elementor-field-type-textarea input:hover, form .elementor-field-type-textarea textarea:hover, form .elementor-field-type-email input:hover, form .elementor-field-type-email textarea:hover, form .elementor-field-type-tel input:hover, form .elementor-field-type-tel textarea:hover {
  transition-duration: 0s;
  background: rgba(255, 255, 255, 0.02);
}
form .elementor-field-type-text input:focus, form .elementor-field-type-text textarea:focus, form .elementor-field-type-textarea input:focus, form .elementor-field-type-textarea textarea:focus, form .elementor-field-type-email input:focus, form .elementor-field-type-email textarea:focus, form .elementor-field-type-tel input:focus, form .elementor-field-type-tel textarea:focus {
  background: rgba(255, 255, 255, 0.02);
  border-color: var(--bacbobinage-primary);
}
form .elementor-field-type-textarea label {
  top: 48px;
}

.elementor-field-type-upload input[type=file] {
  display: none;
}
.elementor-field-type-upload label {
  border: 1px solid var(--bacbobinage-color-input-border);
  border-radius: 20px;
  min-height: 60px;
  padding: 20px 70px 20px 20px;
  width: 100%;
  position: relative;
}
.elementor-field-type-upload label.elementor-field-textual.elementor-size-lg {
  border-radius: 20px;
}
.elementor-field-type-upload label:focus {
  border: 1px solid var(--bacbobinage-primary);
}
.elementor-field-type-upload label.has-remove-button {
  padding-left: 60px;
}
.elementor-field-type-upload label:before {
  transition: all 0.2s cubic-bezier(0.28, 0, 0, 1) 0s;
  content: "";
  height: 60px;
  width: 60px;
  position: absolute;
  top: -1px;
  right: -1px;
  background: var(--bacbobinage-primary);
  border-radius: 20px;
}
.elementor-field-type-upload label:hover {
  background: rgba(255, 255, 255, 0.02);
}
.elementor-field-type-upload label:hover:before {
  transform: scale(1.1);
}
.elementor-field-type-upload label:after {
  content: "";
  position: absolute;
  top: 18px;
  right: 17px;
  aspect-ratio: 1/1;
  background: var(--bacbobinage-white);
  height: 22px;
  mask: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M380.7 67.3c-29.1-29.1-76.3-29.1-105.4 0l-192 192c-46.8 46.8-46.8 122.6 0 169.4s122.6 46.8 169.4 0l152-152c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-152 152c-59.3 59.3-155.4 59.3-214.6 0S1.4 296 60.7 236.7l192-192c41.6-41.6 109-41.6 150.6 0s41.6 109 0 150.6L219.5 379.1c-28.2 28.2-74.6 25.6-99.6-5.5c-21.3-26.6-19.2-65 4.9-89.1L276.7 132.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L147.5 307.1c-12.6 12.6-13.7 32.6-2.6 46.5c13 16.2 37.2 17.6 51.9 2.9L380.7 172.7c29.1-29.1 29.1-76.3 0-105.4z"/></svg>') no-repeat center;
  -webkit-mask: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M380.7 67.3c-29.1-29.1-76.3-29.1-105.4 0l-192 192c-46.8 46.8-46.8 122.6 0 169.4s122.6 46.8 169.4 0l152-152c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-152 152c-59.3 59.3-155.4 59.3-214.6 0S1.4 296 60.7 236.7l192-192c41.6-41.6 109-41.6 150.6 0s41.6 109 0 150.6L219.5 379.1c-28.2 28.2-74.6 25.6-99.6-5.5c-21.3-26.6-19.2-65 4.9-89.1L276.7 132.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L147.5 307.1c-12.6 12.6-13.7 32.6-2.6 46.5c13 16.2 37.2 17.6 51.9 2.9L380.7 172.7c29.1-29.1 29.1-76.3 0-105.4z"/></svg>') no-repeat center;
}
.elementor-field-type-upload .remove-button {
  transition: all 0.3s cubic-bezier(0.28, 0, 0, 1) 0s;
  height: 30px;
  aspect-ratio: 1/1;
  background: #f5526d;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  position: absolute;
  top: 15px;
  left: 25px;
  z-index: 5;
  cursor: pointer;
}
.elementor-field-type-upload .remove-button svg {
  fill: var(--bacbobinage-dark);
  width: 20px;
  aspect-ratio: 1/1;
}
.elementor-field-type-upload .remove-button:hover {
  transform: scale(1.2);
}

.elementor-field-type-select .select-caret-down-wrapper {
  display: none;
}
.elementor-field-type-select .select {
  flex-grow: 1;
  position: relative;
}
.elementor-field-type-select .select .selected {
  border-radius: 20px;
  display: flex;
  position: relative;
  width: 100%;
  padding: 16px 70px 16px 20px;
  overflow: hidden;
  min-height: 58px;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Old versions of Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}
.elementor-field-type-select .select .selected span {
  display: flex;
  align-items: center;
}
.elementor-field-type-select .select .selected:hover {
  background: rgba(255, 255, 255, 0.02);
}
.elementor-field-type-select .select .arrow {
  transition: all 0.2s cubic-bezier(0.28, 0, 0, 1) 0s;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  width: 60px;
  position: absolute;
  top: -1px;
  right: -1px;
  background: var(--bacbobinage-primary);
  border-radius: 20px;
}
.elementor-field-type-select .select .arrow svg {
  transition: all 0.3s cubic-bezier(0.28, 0, 0, 1) 0s;
  fill: var(--bacbobinage-white);
  height: 28px;
  aspect-ratio: 1/1;
}
.elementor-field-type-select .select .selected-wrapper {
  position: relative;
  border: 1px solid var(--bacbobinage-color-input-border);
  width: 100%;
  border-radius: 20px;
  cursor: pointer;
}
.elementor-field-type-select .select .selected-wrapper:hover .arrow {
  transform: scale(1.1);
}
.elementor-field-type-select .select .selected-wrapper.open {
  border-color: var(--bacbobinage-color-input-border-focus);
}
.elementor-field-type-select .select .selected-wrapper.open .selected {
  background: rgba(255, 255, 255, 0.02);
}
.elementor-field-type-select .select .selected-wrapper.open .arrow svg {
  transform: rotate(180deg);
}
.elementor-field-type-select .select .options-wrapper {
  transition: all 0.5s cubic-bezier(0.28, 0, 0, 1) 0s;
  position: absolute;
  top: calc(100% + 3px);
  width: 100%;
  max-height: 0;
  overflow-y: auto;
  background: var(--bacbobinage-dark);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 25px;
  z-index: 400;
  transform: scale(0.95);
  transform-origin: top;
  opacity: 0;
  box-shadow: 0 6px 14px rgba(10, 82, 240, 0.1);
}
.elementor-field-type-select .select .options-wrapper.open {
  max-height: 250px;
  opacity: 1;
  transform: scaleY(1);
}
.elementor-field-type-select .select .options-wrapper .option {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Old versions of Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
  display: flex;
  position: relative;
  padding: 12px 25px;
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  cursor: pointer;
  overflow: hidden;
}
.elementor-field-type-select .select .options-wrapper .option:first-child {
  display: none;
}
.elementor-field-type-select .select .options-wrapper .option:last-child {
  border-bottom: none;
}
.elementor-field-type-select .select .options-wrapper .option:hover {
  background: rgba(255, 255, 255, 0.1);
}

.elementor-field-type-submit button {
  transition: all 0.2s cubic-bezier(0.28, 0, 0, 1) 0s;
  border: 1px solid var(--bacbobinage-primary);
  border-radius: 20px;
  padding: 18px 10px 18px 25px;
  gap: 10px;
  background: var(--bacbobinage-primary);
  color: var(--bacbobinage-white);
  cursor: pointer;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.elementor-field-type-submit button:after {
  content: "";
  transition: all 0.5s cubic-bezier(0.28, 0, 0, 1) 0s;
  display: inline-block;
  position: relative;
  right: 0;
  width: 32px;
  height: 20px;
  background-image: none;
  background-color: var(--bacbobinage-white);
  -webkit-mask: var(--bac-bobinage-arrow) no-repeat center;
  mask: var(--bac-bobinage-arrow) no-repeat center;
}
.elementor-field-type-submit button:hover:after {
  right: -10px;
  background-color: var(--bacbobinage-primary);
}
.elementor-field-type-submit button:focus {
  outline: none;
}

html {
  overflow-x: hidden;
}

.elementor-widget-breadcrumbs #breadcrumbs > span {
  color: var(--bacbobinage-primary);
}
.elementor-widget-breadcrumbs #breadcrumbs > span *:not(a) {
  color: var(--bacbobinage-white);
}

.cmplz-cookiebanner.optin {
  z-index: 100000;
}
@media (max-width: 767px) {
  .cmplz-cookiebanner.optin {
    margin-bottom: 60px;
  }
}

.shadow-1 {
  box-shadow: 0 0 2px var(--bacbobinage-color-shadow-1), 0 5px 12px var(--bacbobinage-color-shadow-1), 0 8px 28px var(--bacbobinage-color-shadow-0);
}
.shadow-2 {
  box-shadow: 0 0 2px var(--bacbobinage-color-shadow-2), 0 5px 12px var(--bacbobinage-color-shadow-2), 0 8px 28px var(--bacbobinage-color-shadow-1);
}
.shadow-3 {
  box-shadow: 0 0 2px var(--bacbobinage-color-shadow-3), 0 5px 12px var(--bacbobinage-color-shadow-3), 0 8px 30px var(--bacbobinage-color-shadow-2);
}
.shadow-4 {
  box-shadow: 0 0 2px var(--bacbobinage-color-shadow-4), 0 5px 14px var(--bacbobinage-color-shadow-4), 0 8px 32px var(--bacbobinage-color-shadow-3);
}
.shadow-5 {
  box-shadow: 0 0 2px var(--bacbobinage-color-shadow-5), 0 5px 14px var(--bacbobinage-color-shadow-5), 0 8px 34px var(--bacbobinage-color-shadow-4);
}
.shadow-6 {
  box-shadow: 0 0 2px var(--bacbobinage-color-shadow-6), 0 6px 16px var(--bacbobinage-color-shadow-6), 0 10px 38px var(--bacbobinage-color-shadow-5);
}

.img-gradient {
  /*img {
    position: relative;
    &:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: red;
    }
  }*/
}
.img-gradient .elementor-widget-container {
  mask-image: linear-gradient(transparent, #000 200px, #000 calc(100% - 200px), transparent);
}

.overflow-x {
  overflow-x: hidden;
}

.gut-margin-right {
  margin-right: calc(var(--gut-margin) * -1);
}

@keyframes ripple {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
.ripple {
  overflow: hidden;
}
.ripple > * {
  pointer-events: none;
}

.ripple-fx {
  background: var(--ripple-color, rgba(255, 255, 255, 0.2));
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  opacity: 0;
  border-radius: 2000px;
  animation: ripple 0.5s cubic-bezier(0.02, 0.51, 0.69, 0.99) forwards;
  filter: blur(1px);
}

.boxed-padding-left.e-con {
  --padding-left: var(--gut-margin);
  --padding-inline-start: var(--gut-margin);
}

.blur-divide {
  position: relative;
}
.blur-divide:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 111;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(var(--bacbobinage-dark) 0, transparent 30%, transparent 75%, var(--bacbobinage-dark) 100%);
}
@media (max-width: 767px) {
  .blur-divide:after {
    background: linear-gradient(var(--bacbobinage-dark) 0, transparent 200px, transparent calc(100% - 200px), var(--bacbobinage-dark) 100%);
  }
}

.elementor-widget-icon-list.list-btn ul.elementor-icon-list-items {
  overflow: hidden;
}
.elementor-widget-icon-list.list-btn li a {
  transition: all 0.5s cubic-bezier(0.28, 0, 0, 1) 0s;
  margin-left: -18px;
  padding-right: 20px;
}
.elementor-widget-icon-list.list-btn li a:before {
  content: "";
  position: relative;
  right: 0;
  width: 32px;
  height: 20px;
  background-image: none;
  background-color: var(--bacbobinage-primary);
  -webkit-mask: var(--bac-bobinage-arrow) no-repeat center;
  mask: var(--bac-bobinage-arrow) no-repeat center;
  margin-right: 10px;
}
.elementor-widget-icon-list.list-btn li a .elementor-icon-list-text {
  transition: all 0.3s cubic-bezier(0.28, 0, 0, 1) 0s;
}
.elementor-widget-icon-list.list-btn li a:hover {
  margin-left: 0;
  padding-right: 2px;
}
.elementor-widget-icon-list.list-btn li a:hover .elementor-icon-list-text {
  color: var(--bacbobinage-primary);
  text-shadow: 1px 0 0 var(--bacbobinage-primary);
}

body {
  height: 100vh;
  display: flex;
  flex-direction: column;
}
body > main, body > article {
  flex-grow: 1;
}

.elementor-widget-video .elementor-open-inline video, .elementor-widget-video .elementor-custom-embed-image-overlay {
  border-radius: 40px;
}
.elementor-widget-video .elementor-custom-embed-image-overlay {
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.28, 0, 0, 1) 0s;
}
.elementor-widget-video .elementor-custom-embed-image-overlay:before, .elementor-widget-video .elementor-custom-embed-image-overlay:after {
  transition: all 0.3s cubic-bezier(0.28, 0, 0, 1) 0s;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.elementor-widget-video .elementor-custom-embed-image-overlay:before {
  background: var(--bacbobinage-dark);
  opacity: 0.6;
}
.elementor-widget-video .elementor-custom-embed-image-overlay:after {
  opacity: 0;
  top: 100%;
  background: linear-gradient(180deg, transparent, var(--bacbobinage-grad1) 100%);
}
.elementor-widget-video .elementor-custom-embed-image-overlay .elementor-custom-embed-play svg {
  transition: all 0.3s cubic-bezier(0.28, 0, 0, 1) 0s;
  transition-delay: 0.08s;
  z-index: 10;
}
.elementor-widget-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play svg {
  transform: scale(1.1) translateY(-4px);
  filter: drop-shadow(0 6px 10px var(--bacbobinage-dark));
}
.elementor-widget-video .elementor-custom-embed-image-overlay:hover:after {
  opacity: 0.2;
  top: 0%;
}
.elementor-widget-video .elementor-custom-embed-image-overlay:hover:before {
  opacity: 0.5;
}

.elementor-widget-counter {
  padding: 2px;
  --counter-grad-1: var(--bacbobinage-grad1);
  --counter-grad-2: var(--bacbobinage-grad2);
  border-radius: 50px;
  background: linear-gradient(90deg, var(--counter-grad-1) 0%, var(--counter-grad-2) 100%);
}
body:not([data-elementor-device-mode=mobile]) .elementor-widget-counter:nth-child(2n) {
  --counter-grad-1: var(--bacbobinage-grad2);
  --counter-grad-2: var(--bacbobinage-grad1);
}

.elementor-widget-counter .elementor-counter-number {
  background: linear-gradient(90deg, var(--counter-grad-1) 0%, var(--counter-grad-2) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.elementor-widget-counter .elementor-counter-number-suffix {
  color: var(--counter-grad-2);
}
.elementor-widget-counter .elementor-widget-container {
  background: var(--bacbobinage-dark);
  border-radius: 50px;
}

body {
  --bacbobinage-white: #ffffff;
  --bacbobinage-primary: var(--e-global-color-primary, #0a52f0);
  --bacbobinage-secondary: var(--e-global-color-secondary, #FF611A);
  --bacbobinage-tertiary: #00CDDD;
  --bacbobinage-dark: #131328;
  --bacbobinage-grad1: #554CDD;
  --bacbobinage-grad2: #35B8E4;
  --bacbobinage--gradient: linear-gradient(90deg, var(--bacbobinage-grad1) 0%, var(--bacbobinage-grad2) 100%);
  --bacbobinage-light-gray-50: #f4f5f8;
  --bacbobinage-light-gray-100: #ecedf3;
  --bacbobinage-light-gray-200: #d6dbdf;
  --bacbobinage-light-gray-300: #c0c7cc;
  --bacbobinage-light-gray-400: #a9b2b8;
  --bacbobinage-light-gray-600: #7b9097;
  --bacbobinage-light-gray-700: #5c6b73;
  --bacbobinage-light-gray-800: #3d4a50;
  --bacbobinage-light-gray-900: #1e262a;
  --bacbobinage-color-shadow: rgba(17, 20, 47, 0.18);
  --bacbobinage-color-shadow-hover: rgba(17, 20, 47, 0.35);
  --bacbobinage-color-shadow-0: rgba(17, 20, 47, 0.03);
  --bacbobinage-color-shadow-1: rgba(17, 20, 47, 0.05);
  --bacbobinage-color-shadow-2: rgba(17, 20, 47, 0.14);
  --bacbobinage-color-shadow-3: var(--bacbobinage-color-shadow);
  --bacbobinage-color-shadow-4: rgba(17, 20, 47, 0.22);
  --bacbobinage-color-shadow-5: rgba(17, 20, 47, 0.26);
  --bacbobinage-color-shadow-6: var(--bacbobinage-color-shadow-hover);
  --bacbobinage-color-shadow-7: rgba(17, 20, 47, 0.42);
  --bacbobinage-color-shadow-8: rgba(17, 20, 47, 0.46);
  --bacbobinage-color-border: var(rgba(46, 45, 49, 0.1));
  --bacbobinage-color-border-dark: rgba(223, 226, 229, 0.1);
  --bacbobinage-color-input-border: rgba(255, 255, 255, 0.35);
  --bacbobinage-color-input-border-focus: rgba(255, 255, 255, 0.7);
  --bacbobinage-hover-fx: rgba(255, 255, 255, 0.1);
  --header-menu-height: 120px;
  --header-menu-height-mini: 70px;
  --header-menu-height-mobile: 100px;
  --header-menu-height-mobile-mini: 70px;
  --submenu-top-offset: 10px;
  --bac-bobinage-arrow: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30.6 8.3"><path d="m25.7 7.6 3-3H0v-1h28.7l-3-2.9.7-.7 4.2 4.2-4.2 4.1Z"/></svg>');
  --gut-margin: calc((100vw - 1220px) / 2);
}
@media (max-width: 1200px) {
  body {
    --gut-margin: 20px;
  }
}

/*# sourceMappingURL=style.css.map */
