/* Font */

@font-face {
  font-family: "Barlow";
  src: url("./fonts/Barlow-Regular.woff") format('woff'),
  url("./fonts/Barlow-Regular.ttf") format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "CrimsonText";
  src: url("./fonts/CrimsonText-Regular.woff") format('woff'),
  url("./fonts/CrimsonText-Regular.ttf") format('ttf');
  font-weight: normal;
  font-style: normal;
}

:root {
    --lafuma-color: #80A680;
}

h1{
  font-family: "Barlow", helvetica, arial, sans-serif;
  color: #606060;
}

.bold {
    font-weight: bold;
}

/* General */

body {
  min-height: 100%;
  height: 100vh;
  background: #ddd;
  background-color: #ffffff;
  font-family: "Barlow", helvetica, arial, sans-serif;
  color: #171717;
  margin-top: 216px;
  font-size: 24px;
}

body#error_page,
body#soon_page {
    margin-top: 0;
    background-color: #f8f8f8;
}

body#thank_you_page {
    margin-top: 0;
    background-color: #ffffff;
    height: auto;
}

#error_page .box,
#soon_page .box{
  background-color: #fff;
  position: relative;
  margin-top: 100px;
  padding: 16px;
}

#error_page .box img,
#soon_page .box img{
  position: absolute;
  top: -64px;
  left: -64px;
}

.cover-container{
  max-width: 50%;
  height: 100vh!important;
}

hr.title_border {
    width: 15%;
    opacity: 1;
}

a.link,
.btn-link {
  color: #606060;
  transition: all .4s ease-in-out;
  border-bottom: 1px solid #606060;
  text-decoration: none;
  padding: 0;
  border-radius: 0;
  font-size: 1em;
  line-height: 1em;
}

a.link:hover,
.btn-link:hover {
  color: #171717;
  text-decoration: none;
  border-bottom: 1px solid #171717;

}
/* Header & nav*/

#top-bar.fixed-top{
  height: auto;
  font-size: 14px;
  transition: all 0.5s;
  top: 0;
  padding: 32px 0;
  background-color: #ffffff;
}

#top-bar.fixed-top.scrolled{
  transition: all 0.6s ease-in-out;
  top: -150px;
}

#header.fixed-top {
  background-color: #fff !important;
  transition: all .4s ease-in-out;
  z-index: 997;
  padding: 32px 0 0 0;
  top: 96px;
    box-shadow: 0px 0px 8px 2px rgb(0 0 0 / 8%);
}

#header.fixed-top.scrolled {
  background-color: #fff !important;
  transition: all .6s ease-in-out;
  z-index: 997;
  padding: 0;
  top: 0;
}

#header.fixed-top.scrolled .navbar-nav{
  border-bottom: 0;
  padding-bottom: 0;
  justify-content: space-around;
}

#header .dropdown.lang-switcher {
    display: none;
}

ul.dropdown-menu{
  min-width: 4rem;
}

.scroll-anchor-50 {
    scroll-margin-top: 50px;
}

.scroll-anchor-70 {
    scroll-margin-top: 70px;
}

@media screen and (max-width: 575px)
{
    .hidden-sm-down {
        display:none
    }
}

@media screen and (min-width: 576px)
{
    .hidden-md-up {
        display:none
    }
}

.form-control-lafuma,
.form-control-lafuma-valid,
.form-control-lafuma-invalid {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    background-color: #fff;
    background-clip: padding-box;
    -moz-appearance: none;
    border-radius: 0.25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    appearance: auto;
    -webkit-appearance: auto;
    color: #171717;
}

.form-control-lafuma-valid,
.form-control-lafuma-invalid {
    padding-right: calc(1.5em + 0.75rem);
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.form-control-lafuma {
    border: 1px solid #ced4da;
}

.form-control-lafuma-invalid {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    border: 1px solid #dc3545;
}

.form-control-lafuma-valid {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    border: 1px solid #198754;
}

.counter {
    padding-left: 15px;
    width: 150px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.counter input {
    width: 100px;
    border: 0;
    line-height: 30px;
    font-size: 20px;
    text-align: center;
    background: #171717;
    color: #fff;
    appearance: none;
    outline: 0;
}
.counter input[readonly] {
    background: #171717;
}
.addRow {
    background: #171717;
    color: #FFFFFF;
}

.counter span {
    display: block;
    font-size: 25px;
    padding: 0 10px;
    cursor: pointer;
    color: #171717;
    user-select: none;
}

.ul-address {
    margin: 0; padding-left: 2px; max-height: 190px; overflow: hidden auto;   list-style-type: none; font-weight:bold;
}

.li-address {
    cursor: pointer;
    padding: 4px;
}

.li-address:hover {
    background-color: rgba(0, 153, 218, 0.63);
    list-style-type: none;
}

.ui-widget-content .ui-state-active {
    background: #c7e0f2;
    border: 1px solid #a7bccb;
    color: #000;
}

.ui-autocomplete {
    max-height: 200px;
    overflow-y: auto;
    overflow-x: hidden;
}

.quantity-label {
    display: flex;
    justify-content: end;
    padding-right: 32px;
}

#email-status {
    font-size: 0.7em;
}

#top-bar ul.dropdown-menu.show {
    text-align: center;
    transform: translate(16px, 48px)!important;
}

.lang-switcher

.navbar {
    padding-bottom: 0;
    padding-top: 0;
}

.navbar-nav {
    width: 100%;
    justify-content: space-between;
    padding-bottom: 16px;
}

#header.fixed-top.scrolled .nav-link {
  color:#1a171b;
}

#navbar-brand-logo{
  display: none;
}

#navbar-brand-logo.scrolled{
  display: inline-block;
}

a.nav-link {
    font-size: 1.3rem;
    border-bottom: 1px solid #ffffff;
    transition: all .4s ease-in-out;
}

a.nav-link:focus, a.nav-link:hover {
  color: #171717;
  border-bottom: 1px solid #171717;

}

#brand-logo{
  opacity: 0;
  transition: all .4s ease-in-out;
}

#brand-logo.scrolled{
  opacity: 1;
}

#brand-contain{
  display: none;
}

#brand-contain.scrolled{
  display: inline-block;
}

.btn-check:focus+.btn, .btn:focus {
    box-shadow: none;
}

/* Fin Header & nav*/

p, ul {
  font-size: 1.1rem;
  color: #606060 ;
}

.intro .txt_lead {
    font-size: 1.5em;
    font-family: "CrimsonText", serif;
    color: #171717;
}

.intro h1 {
    font-size: 1em;
}

.carousel-indicators {
    bottom: -45px;
  }

.carousel-indicators [data-bs-target] {
    width: 12px;
    height: 12px;
    border: 0;
    border-top: none;
    border-bottom: none;
    opacity: 1;
    border-radius: 50px;
    background-color: #CBCBC7;
}

.carousel-indicators button.active {
    background-color: #171717;
}

.carousel-control-next, .carousel-control-prev {
    width: 10%;
    color: #CBCBC7;
    text-align: center;
    opacity: .7;
}

.txt_lead_icon {
    font-style: italic;
    font-family: "CrimsonText-Italic";
    color: #171717;
    font-size: 2rem;
    margin-bottom: 0;
    line-height: 1em;
}

.txt_icon {
  color: #171717;
  font-size: 1.5rem
}

.icon-circle{
  width: 50%;
}

#thank_you_page #primary_brand,
#error_page #primary_brand,
#soon_page #primary_brand {
    padding: 32px 0;
}

.custom_border_bottom{
  border-bottom: 1px solid #171717;
  position: absolute;
  width: 100%;
  top: 50%;
  right: 0;
  left: 0;
  z-index: -1;
}

#save-product,
#program,
#need-help{
    height: 15px;
}

#thank_you_page h1{
  font-family: "CrimsonText", serif;
  padding: 16px;
}
#thank_you_page h2{
  padding: 16px;
}

.reseaux-sociaux a {
  color: #606060 ;
  text-decoration: none;
  transition: all .4s ease-in-out;
  border: 1px solid #606060;
  padding: 12px 11px;
  margin: 12px 11px;
  border-radius: 42px;
}

.reseaux-sociaux a:hover {
    color: #171717;
    border: 1px solid #171717;
}

.reseaux-sociaux i{
  font-size: 2rem;
}

/* Formulaire */

.small {
  font-size: 1rem;
  line-height: 1.8rem;
  text-transform: none;
}

p.step {
    color: #171717;
    font-size: 1.1em;
}

section#article {
    background-color: #f0f0f0;
}

.form-control {
    color: #171717;
  }

.form-group {
    margin: 1rem 0;
}

form label {
    text-transform: uppercase;
    font-size: .7em;
    margin-bottom: 10px;
}

.form-control {
    appearance: auto;
    -webkit-appearance: auto;
    border-radius: 3px;
}

.form-control:focus {
    box-shadow: 0px 0px 8px 0px rgb(0 0 0 / 10%);
    border-color: #ededed;
}

#fileList {
    font-size: .7em;
    color: #606060;
}

form .btn-primary {
  width: 100% ;
}

form #shop-edit{
  display: none;
}

.form-control.is-valid, .was-validated .form-control:valid {
    background-position: right 24px center;
}

.bootstrap-select .dropdown-menu li a {
    text-align: left;
}

.bootstrap-select .dropdown-menu {
    max-height: 200px;
}

[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
	position: absolute;
	left: 0;
	opacity: 0.01;
}

[type="checkbox"]:not(:checked) + label,
[type="checkbox"]:checked + label {
	position: relative;
	padding-left: 3em;
	cursor: pointer;
}

[type="checkbox"] {
	position: absolute;
	left: 0;
	opacity: 0.01;
}

[type="checkbox"] + label {
	position: relative;
	padding-left: 2.3em;
	cursor: pointer;
}

[type="checkbox"]:not(:checked) + label::before,
[type="checkbox"]:checked + label::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 2em;
	height: 2em;
	border: 1px solid #606060;
	background: #FFF;
	border-radius: .2em;
	transition: all .275s;
}

/* Aspect de la coche */
[type="checkbox"]:not(:checked) + label::after,
[type="checkbox"]:checked + label::after {
  content: '';
  speak: never;
  position: absolute;
  left: 5px;
  top: 5px;
  line-height: 0;
  transition: all .2s;
  height: 1.4em;
  width: 1.4em;
  background-color: #606060;
  border-radius: 2px;
}

/* Aspect non cochée */
[type="checkbox"]:not(:checked) + label::after {
	opacity: 0;
	transform: scale(0) rotate(45deg);
}

/* Aspect cochée */
[type="checkbox"]:checked + label::after {
	opacity: 1;
	transform: scale(1) rotate(0);
}

.custom-uploadFile {
  border: 1px solid #ced4da;
  font-size: .8em;
  overflow: hidden;
  position: relative;
  text-align: center;
  background-color: #ffffff;
}

.custom-uploadFile input[type=file] {
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    height: 100%;
    width: 100%;
}

.valid-feedback,
.invalid-feedback {
    font-size: 0.7em;
}

button.btn.dropdown-toggle.btn-light {
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: 3px;
}

/*Formulaire conditionné*/

/* Modal */
.modal p,
.modal ul {
    font-size: .7em;
    color: #171717;
    line-height: 1.8;
}

.modal ul.sub-list {
    font-size: .9em;
}

.need-help a {
    color: #171717;
    text-decoration: none;
}

.modal-body h6 {
    font-size: 1.5rem;
    font-weight: bold;
}

#modal-legal-notice-content .modal-body{
  text-align: left;
}

/* Accordion */
#accordion p,
#accordion ul {
    font-size: 1.1rem;
    line-height: 1.6;
}

.accordion-button:not(.collapsed) {
    color: #171717;
    background-color: #F7F7F7;
}

.accordion-button:focus {
    z-index: 3;
    border-color: #9A9A9A;
    outline: 0;
    box-shadow: 0px 0px 8px 2px rgb(0 0 0 / 8%);
}

.accordion-flush .accordion-item .accordion-button {
    font-size: 1.1rem;
}


/* Footer */
footer a {
  display: inline-block;
    font-size: .7em;
    color: #606060;
    text-decoration: none;
    cursor: pointer;
    transition: all .4s ease;
}
footer a:hover {
    color: #171717;
}

footer .border-right {
    border-right: 1px solid #171717;
}

.reassurance img {
    width: 10%;
}

.picto-thank-you {
    max-width: 42%;
    margin-top: -3.5rem;
}

/* Responsive */
@media (max-width: 992px){

  body {
    margin-top: 60px;
}

.picto-thank-you {
    max-width: 65%;
}

  #top-bar.fixed-top{
    display: none;
  }

  #header.fixed-top {
    top: 0;
    border-bottom: 1px solid #ededed;
    padding: 0;
  }

  #header.fixed-top.scrolled {
    background-color: #fff !important;
    transition: all .6s ease-in-out;
    z-index: 997;
    padding: 10px;
    top: 0;
  }

  .navbar-toggler:focus {
    box-shadow: none;
}

  #brand-logo {
      opacity: 1;
  }

  .navbar-toggler-icon {
      background-image: url("../images/data-toogle-icon-bar.svg")
    }

  #navbar-brand-logo {
    display: inline-block;
    margin: 0;
    padding: 0;
  }

  #navbarCollapse {
    margin-top: 32px;
    text-align: right;
}

#header .dropdown.lang-switcher {
    display: inline-block;
}

  #error_page .box {
    margin-top: 0;
  }

  #error_page .box img{
    position: relative;
    top: 0;
    left: 0;
  }
  #error_page .box .row{
    text-align: center;
  }

  #soon_page .box {
    margin-top: 0;
  }

  #soon_page .box img{
    position: relative;
    top: 0;
    left: 0;
  }
  #soon_page .box .row{
    text-align: center;
  }
.reassurance img {
    width: 20%;
  }

  .txt_lead_icon{
    font-size: 1.5rem;
  }

  .txt_icon {
    font-size: 1rem;
  }

  .reseaux-sociaux a {
    color: #171717;
    border: 1px solid #171717;
  }

#thank_you_page h2 {
    font-size: 1.3rem;
  }

  .icon-circle {
    width: 100%;
}

}



@media (max-width: 768px){

  footer .border-right {
      border-right: none;
  }

  .picto-thank-you {
      max-width: 90%;
  }

}

@media (min-width: 576px){
  .modal-dialog {
      max-width: 800px;
  }
}
