/**
 * Theme Name:     Marin beaux arts 2
 * Author:         Apeonmars
 * Template:       twentynineteen
 * Text Domain:    marin-beaux-arts-2
 * Description:    Marin V2
 */


/*general*/
#landing_container h2{
	color:#FFF !important;
	text-shadow: 0px 0px 8px rgba(0,0,0,0.76);
}
.grecaptcha-badge{
	display:none;
}
:root{
    --main-color:#cda952;
}
.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.col-md-6{
    width: 50%;
    flex:0 0 auto;
}
.row{
    display: flex;
    flex-wrap: wrap;
}
body{
    margin: 0px;
}

@media screen and (min-width: 768px) {
  .container {
    width: 750px;
  }
  .col-md-6{
    width: 100%;
    flex: 1;
  }
  .column_fields_generateur_chassis, .column_canvas_generateur_chassis{
    width: 100%;
  }
}

@media screen and (min-width: 992px) {
  .container {
    width: 970px;
  }
}

@media screen and (min-width: 1200px) {
  .container {
    width: 1170px;

  }
    .col-md-6{
    width: 50% !important;
  }
   .row{
    flex-direction: row;
    display: flex;
  }
}
@media screen and (min-width: 1300px) {
    .container{
        width: 1300px;
    }
}
h1:before, h2:before, h3:before, h4:before, h5:before, h6:before{
    display: none !important;
    content: '';

}
a, a:focus{
    text-decoration: none;
    outline: none;
}
body.hidden_overflow{
    overflow: hidden;
}
#mobile_btn{
    display: none;
}
#mobile_btn.active span:nth-child(1) {
  animation: ease .7s top forwards;
}

#mobile_btn.not-active span:nth-child(1) {
  animation: ease .7s top-2 forwards;
}

#mobile_btn.active span:nth-child(2) {
  animation: ease .7s scaled forwards;
}

#mobile_btn.not-active span:nth-child(2) {
  animation: ease .7s scaled-2 forwards;
}

#mobile_btn.active span:nth-child(3) {
  animation: ease .7s bottom forwards;
}

#mobile_btn.not-active span:nth-child(3) {
  animation: ease .7s bottom-2 forwards;
}

@keyframes top {
  0% {
    top: 0;
    transform: rotate(0);
  }
  50% {
    top: 10px;
    transform: rotate(0);
  }
  100% {
    top: 10px;
    transform: rotate(45deg);
  }
}

@keyframes top-2 {
  0% {
    top: 10px;
    transform: rotate(45deg);
  }
  50% {
    top: 10px;
    transform: rotate(0deg);
  }
  100% {
    top: 0;
    transform: rotate(0deg);
  }
}

@keyframes bottom {
  0% {
    bottom: 0;
    transform: rotate(0);
  }
  50% {
    bottom: 10px;
    transform: rotate(0);
  }
  100% {
    bottom: 10px;
    transform: rotate(135deg);
  }
}

@keyframes bottom-2 {
  0% {
    bottom: 10px;
    transform: rotate(135deg);
  }
  50% {
    bottom: 10px;
    transform: rotate(0);
  }
  100% {
    bottom: 0;
    transform: rotate(0);
  }
}

@keyframes scaled {
  50% {
    transform: scale(0);
  }
  100% {
    transform: scale(0);
  }
}

@keyframes scaled-2 {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
#mobile_btn {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    padding: 0;
    cursor: pointer;
    z-index: 999;
    border: none;
    outline: none;
}
#mobile_btn span+span {
    margin-top: 9px;
}
#mobile_btn span {
    display: block;
    width: 100%;
    border-radius: 3px;
    height: 1px;
    background: #000;
    transition: all .3s;
    position: relative;
}
.entry-content{
    width: 100%;
    max-width: 100%;
    margin-left:0px;
    margin-right: 0px;
}
.entry .entry-content > *{
    max-width: 100%;
}
/*/General*/


/*/Mobile menu*/
#search_form_mobile_wrapper{
    height: 100%;
    background-color: rgba(255,255,255,.7);
    position: absolute;
    left: 0px;
    width: 100%;
    transform:translateY(-50%);
    top: 50%;
    opacity: 0;
    pointer-events: none;
    transition: .5s;
}
#search_form_mobile_wrapper.active{
    opacity: 1;
    pointer-events: all;
    transition: .5s;
}
#search_form_mobile_wrapper.active .search-form{

    pointer-events: all;
}
#search_form_mobile{
    display: block;
    width: 100%;
    position: relative;
    top: 50%;
    transform:translateY(-50%);
}
#search_form_mobile_wrapper.active input.search-field{
    pointer-events: all;
}
#close_search_btn{
    position: absolute;
    right: 30px;
    top: 20px;
    z-index: 99;

}
#close_search_btn svg{
    fill:#FFF;
}
#search_form_mobile .search-form{
    position: relative;
    right: 0px;
    top:50%;
    opacity: 1;
    display: inline-block;
    width: 100%;
    padding-top: 60px;
    padding-bottom: 60px;
    pointer-events: none;
}
#search_form_mobile .search-form label{
    display: block;
    width: 100%;
    margin-bottom: 20px;
    float: left;

}
#search_menu, #search_menu_mobile{
    width: 20px;
    height: auto;
    color: #000;
    transition: .5s;
}
#search_form_mobile svg{
    width: 20px;
    height: auto;
}
#search_menu_mobile{
    margin-top: -2.5px;
}
#search_menu:hover, #search_menu.active{
    transition: .5s;
    color: var(--main-color);
}
#search_menu_item_mobile:hover{
    cursor: pointer;
}
.search_menu_item{
    position: relative;
}
form.search-form{
    position: absolute;
    background: #f5f5f5;
    padding: 30px;
    margin-top: 10px;
    right: -150px;
    transition: .5s;
    opacity: 0;
    pointer-events: none;
    display: flex;
    gap:10px;
}
form.search-form.active{
    opacity: 1;
    pointer-events: all;
    transition: .5s;
    margin-top: 0px;
}

#mobile_menu_wrapper{
    background: #FFF;
    opacity: 1;
    margin-top: 0%;
    pointer-events: none;
    transition: .5s;
    position: absolute;
    left: 0px;
    width: 100%;
    height: 0px;
    z-index: 10;
}
#mobile_menu_wrapper.open{  
    transition: .25s;
    top: 90px;
    opacity: 1;
    pointer-events: all;
    display: block;
    margin-top: 0px;
    height: calc(100vh - 90px);
    z-index: 33;
    position: fixed;
    overflow: scroll;
}
#mobile_menu_wrapper li.menu-item-has-children:after{
    display: none;
}
#mobile_menu_wrapper li ul{
    height: 0%;
    opacity: 0;
    transition: .5s;
}
#mobile_menu_wrapper ul li ul.sub-menu{
    height: 0%;
    display: none;
}
#mobile_menu_wrapper ul li.submenu-open ul.sub-menu{
    height: 100%;
    transition: .5s;
    opacity: 1;
    pointer-events: all;
    display: block;
    padding-left: 20px;
}
#mobile_menu_wrapper ul li.submenu-open ul.sub-menu li{
    opacity: 1;
    transition: .5s;
    margin-bottom: 0px;
}
li.submenu-open a{
    color: var(--main-color) !important;
    transition: .5s;
}
li.submenu-open ul li a{
    color: #777777 !important;
}
ul#mobile-menu{
    padding-left: 0px;
    margin-left: 0px ;
    margin-top: 40px;
}
#mobile-menu ul.sub-menu{
    padding-left: 0px;
    pointer-events: none;
}
ul#mobile-menu li::marker, ul#mobile_secondary li::marker{
    font-size: 0px;
}
ul#mobile-menu li a, ul#mobile_secondary li a, li.search_menu_item{
    text-transform: uppercase;
    color: #000;
    font-size: 20px;
    letter-spacing: 1px;
    font-weight: 400;
}
ul#mobile-menu li ul li a, ul#mobile_secondary li ul li a{
    color: #777777;
}
li button.submenu-toggle{
    position: absolute;
    top: 0px;
    padding: 5px;
    background-color: transparent;
    opacity: 0;
    right: 0px;
    transition: .5s;
}
li.flip button.submenu-toggle{
    transition: .5s;
    opacity: 1;
    right: 14px;
    padding: 0px;
}
li.flip.submenu-open button.submenu-toggle path{
    fill: var(--main-color) !important;
    transition: .5s;
}
li.menu-item button.submenu-toggle svg{
    transition: .5s;
}
li.menu-item.submenu-open button.submenu-toggle svg{
    transition: .5s;
    transform: rotate(90deg);
    fill: var(--main-color);
}
#mobile_menu_wrapper ul#mobile-menu{
    opacity: 0;
    display: none;
}
#mobile_menu_wrapper.open ul#mobile-menu{
    opacity: 1;
    display: block;
    margin-bottom: 0px;
}
ul#mobile-menu li, ul#mobile_secondary li, li.search_menu_item{
    margin-bottom: 10px;
    opacity: 0;
    margin-top: 10px;
    transition: .5s;
    margin-left: 0px;
    display: block;
    position: relative;
    font-family: 'Montserrat',sans-serif;
}
ul#mobile-menu li.flip, ul#mobile_secondary li.flip, li.search_menu_item.flip{
    transition: 1s;
    opacity: 1;
    margin-top: 0px;
    position: relative;
    display: block;
}
ul#mobile_secondary{
    padding-left: 0px;
    margin-left: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
}
#mobile_menu_wrapper li.search_menu_item::marker{
    font-size: 0px;
}
#desktop-menu li.search_menu_item{
    opacity: 1;
}
li.search_menu_item{
    opacity: 0;
    user-select: none;
    transition: .5s;
}
li.search_menu_item.flip{
    opacity: 1;
    transition: .5s;
}
li.search_menu_item::hover{
    cursor: pointer;
}
ul#mobile-menu li a, ul#mobile_secondary li a, li.search_menu_item {
    text-transform: uppercase;
    color: #000;
    font-size: 20px;
    letter-spacing: 1px;
    font-weight: 400;
}
/*/Mobile menu*/
/*header*/
svg#logo {
    fill: #000;
    width: 180px;
}
#masthead {
    height: 100px;
    background: #fff;
    position: relative;
    width: 100%;
    top: 0;
    z-index: 99;
}
#masthead.fixed {
    position: fixed;
    width: 100%;
    z-index: 99;
    animation: slideDown .5s ease-out;
    border-bottom: 2px solid #e3e3e3;
    background-color: #FFF;
    z-index: 999;
}
.header_container{
    display: flex;
    justify-content:space-between;
}
ul#desktop-menu {
    padding-left: 0;
    padding-top: 0px;
    width: fit-content;
    float: left;
    margin-bottom: 0;
    position: relative;
    margin-top: 14px;
}
ul#desktop-menu li {
    display: inline-block;
    margin-left: 0;
    margin-right: 20px;
    line-height: 20px;
    position: relative;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 36px;
}
ul#desktop-menu li a {
    color: #000;
    font-weight: 400;
    font-size: 12px;
    letter-spacing: 2px;
    text-decoration: none;
    font-family: 'Montserrat',sans-serif;
    text-transform: uppercase;
}
ul#desktop-menu li ul {
    position: absolute;
    display: block;
    padding-left: 0;
    opacity: 0;
    transition: .5s;
    width: 300px;
    left: 50%;
    margin-top: 30px !important;
    background-color: #f5f5f5;
    padding-top: 0;
    padding-bottom: 0;
    z-index: 99;
    border: 2px solid #e3e3e3;
    pointer-events: none;
    user-select: none;
    transform: translateX(-50%);
}
ul#desktop-menu li ul li {
    display: block;
    margin-left: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 6px;
    padding-bottom: 6px;
    margin-right: 0;
    transition: .5s;
}
ul#desktop-menu li ul li a {
    text-align: center;
    padding: 5px;
}
ul#desktop-menu li ul li:hover{
    transition: .5s;
    background-color: #E7E7E7;
}
ul#desktop-menu li ul li a{
    text-align: center;
    padding: 5px;
}
ul#desktop-menu li:hover ul{
    opacity: 1;
    transition: .5s;
    margin-top: 26px;
    pointer-events: all;
}
.secondary-menu{
    margin-top: 28px !important
}
li.menu-item-has-children:after {
  content: ' ';
  display: inline-block;
  border-bottom: 1.5px solid #000;
  border-right: 1.5px solid #000;
  height: 5px;
  width: 5px;
  transform: rotate(-45deg);
  margin-left: 5px;
  margin-bottom:1px;
  transition: .25s;
}
li.menu-item-has-children:hover:after{
    transition: .25s;
    transform: rotate(45deg);
    margin-bottom:3px;
}
li button.submenu-toggle {
    position: absolute;
    top: 0;
    padding: 5px;
    background-color: transparent;
    opacity: 0;
    right: 0;
    transition: .5s;
}
ul#desktop-menu.secondary-menu li a {
    color: var(--main-color);
}
#search_menu{
    margin-top: 5px;
    margin-bottom: -5px;
}
#search_menu, #search_menu_mobile {
    width: 20px;
    height: auto;
    color: #000;
    transition: .5s;
}
form.search-form {
    position: absolute;
    background: #f5f5f5;
    padding: 30px;
    margin-top: 10px;
    right: -150px;
    transition: .5s;
    opacity: 0;
    pointer-events: none;
}
#desktop-menu li.search_menu_item{
    opacity: 1;
}


.post_header{
    margin-top: 0px;
    height: 290px;
    width: 100%;
    background-size: cover;
    transition: .5s;
    opacity: 1;
}
.post_header.entered{
    opacity: 1;
    transition: .5s;
}
.post_header_overlay{
    background-color: rgba(10,10, 10, .5);
    height: 290px;
    width: 100%;
    position: relative;
}

.post_header_overlay nav.woocommerce-breadcrumb{
    position: absolute;
    display: block;
    width: 100%;
    height: auto;
    color: var(--main-color) !important;
    text-align: center;
    top: 60%;
    font-family: 'Montserrat', serif !important;
    font-size: 18px;
}
.post_header_overlay nav.woocommerce-breadcrumb a{
    color: var(--main-color);
}
h1.header_title:before{
    display: none;
}
h1.header_title{
    color: #FFF;
    font-family: 'Montserrat', serif !important;
    display: block;
    text-align: center;
    width: fit-content;
    margin: auto;
    top: 40%;
    transform: translateY(-50%);
    position: absolute;
    width: 100%;
    font-size: 62px;
    font-weight: 300;
}
.header_title:after{
    content:'';
    height: 1px;
    background-color: var(--main-color);
    width: 80px;
    display: block;
    margin: auto;
    margin-top: 15px;
}
/*/Header*/

/*woocommerce*/
/*grid*/
.section_grid_product.visible ul.grid_products {
    opacity: 1;
    margin-top: 60px;
    transition: .5s;
    display: inline-block;
    width: 100%;
}
ul.grid_products{
    margin-left: 0px;
    padding-left: 0px;
}
li.product {
    width: 18%;
    margin: 1%;
    float: left;
    transition-property: none;
    opacity: 1;
    margin-top: 20px;
    transition: opacity .25s ease-in;
}
.entry:first-of-type {
    margin-top: 20px;
}
ul.grid_products li::marker{
    font-size: 0px;
}
/*/grid*/
/*content-product*/
h2.product_title {
    font-family: 'Montserrat', sans-serif;
    color: #000;
    font-size: .9rem;
    margin-bottom: 0;
    letter-spacing: 0px;
    margin-top: 20px;
}
h2.product_title a {
    color: #000;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
}
a.product_cat_link {
    color: #000;
    opacity: .5;
    font-size: .8rem;
}
p.product_price {
    color: var(--main-color);
    display: block;
    font-family: 'Montserrat', serif;
    font-size: 20px;
    font-weight: 600;
}
.product p.product_price{
    margin-top: 0px;
}
li.product.product_cat-toiles {
    width: 31%;
}
/*/content-product*/

/*ruler toiles*/
li.product a {
    position: relative;
    height: 100%;
    display: flex;
    overflow: hidden;
}
li.product_cat-toiles a:hover .ruler_container{
    transition: .5s;
    left: 0%;
}
.ruler_container {
    position: absolute;
    top: 0;
    left: 0;
    width: 12%;
    height: 100%; /* Cette valeur sera mise à jour par JavaScript */
    background-color: var(--main-color);
    outline: none;
    left:-20%;
    transition: .5s;
}

.ruler {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    outline: none;
}

.ruler .cm {
    position: relative;
    border-bottom: 2px solid #fff;
    height: 33.33%; /* Les `cm` sont répartis en fonction de la hauteur */
    width: 70%;

}
.mm_container{
    top: 1px;
    height: 100%;
    position: relative;
    display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ruler .mm {
    position: relative;
    border-bottom: 1px solid #fff;
    width: 30%;
    height: 0%; /* Chaque `mm` est réparti dans un `cm` */
    margin-top: 10%;
}
.ruler .mm:nth-child(5){
    width: 50%;
}
.ruler .cm:first-of-type:after{
    content:attr(data-cm);
    font-size: 12px;
    right:-12px;
    position:absolute;
    top: -2px;
    font-weight: 600;
    color: #fff;
}
.ruler .cm:nth-child(2):after,.ruler .cm:nth-child(3):after, .ruler .cm:nth-child(4):after {
    content:attr(data-cm);
    font-size: 12px;
    right:-10px;
    position:absolute;
    top: 0px;
    font-weight: 600;
    color: #fff;
}
.last_ruler_item {
    position: absolute;
    bottom: 1px;
    content: attr(data-cm);
    font-size: 12px;
    right: 5px;
    font-weight: 600;
    color: #fff;
}
/*/tuler toiles*/
/*pagination*/
.product_pagination{
    display: block;
    margin: auto;
    width: fit-content;
    margin-bottom: 60px;
}
ul.page-numbers{
    display: flex;
    justify-content: center;
}
ul.page-numbers li::marker{
    font-size: 0px;
}

ul.page-numbers li a.prev, ul.page-numbers li a.next{
    display: none;
}
ul.page-numbers li {
    margin-left: 2px;
    margin-right: 3px;
    width: 20px;
    text-align: center;
    height: 20px;
    position: relative;
    border: 1px solid;
    line-height: 15px;
    border-radius: 20px;
}
ul.page-numbers li.active{
    background-color: var(--main-color);
    color: #FFF;
    border: 1px solid #000;
}
ul.page-numbers li a, ul.page-numbers li span{
    font-size: 13px;
    font-family: 'Montserrat',sans-serif;
    color: #171717;
}
ul.page-numbers li span{
    font-weight: 600;
}
/*/pagination*/

/*Devis page*/
/*Devis vide */
.wc-block-components-notice-banner.is-info{
    background-color: #FFF !important;
    border: 1px solid #E3E3E3 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    color: #000 !important;
}
p.return-to-shop a.button.wc-backward{
    background-color: var(--main-color);
    color: #FFF;
    padding: 10px 20px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: .71px;
    border-radius: 0px;
    font-size: 14px;
}
.wc-block-components-notice-banner.is-info>svg{
    background-color: var(--main-color) !important;
}

/*/devis vide*/
.woocommerce-notices-wrapper .woocommerce-message{
    margin-top: 30px;
}
.woocommerce-notices-wrapper .woocommerce-message a.button.wc-forward{
    background-color: var(--main-color);
    color: #FFF;
    border-radius: 0px;
    padding: 10px 30px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    letter-spacing: .71px;
    margin-left: 20px;
    text-transform: uppercase;
}
.woocommerce-message{
    background-color: #FFF;
    font-size: 15px;
    font-family: 'Montserrat',sans-serif;
    border: 1px solid #757575;
}
.wc-empty-cart-message{
    margin-top: 30px;
}
.cart-empty.woocommerce-info{
    background: #FFF;
    color: #000;
    border: 1px solid var(--main-color);
    font-family: 'Montserrat',sans-serif;
}
a.restore-item{
    color: var(--main-color);
    font-family: 'Montserrat',sans-serif;
}
tr.cart_item td.product-name{
    max-width: 330px;
    display: table-cell;
    font-size: 15px;
    font-family: 'Montserrat',sans-serif;
}
#devis_page{
    width: 100%;
    margin-top: 60px;
}
.woocommerce-cart-form{
    width: 65%;
    float: left;
}
.woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals{
    width: calc(35% - 60px);
    float: right;
    border: 1px solid #A6A6A6;
    padding: 40px;
}
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals{
    width: 100%;
}
.cart_totals th, .cart_totals td{
    border: 0px;
}
tr.woocommerce-cart-form__cart-item td{
    border-left: 0px;
    border-right: 0px;
}
td.product-price bdi{
    color: var(--main-color);
    font-family: 'Montserrat', serif;
    font-size: 18px;
    font-weight: 600;
}
td.product-subtotal bdi{
    color: var(--main-color);
    font-family: 'Montserrat', serif;
    font-size: 18px;
    font-weight: 600;
    text-align: right;
    display: block;
}
td.product-name a{
    color: #000;
    font-family: 'Montserrat', serif;
    font-size: 17px;
    letter-spacing: 0px;
    line-height: 20px; 
    font-weight: 500;
    text-decoration: none !important;
}
.woocommerce-cart-form tr td.actions{
    border: 0px;
    padding-right: 0px;
    padding-top: 20px;
}
.woocommerce-cart-form tr td.actions button.button, #btnAfficherPanier{
    background-color: var(--main-color);
    color: #FFF;
    padding: 10px 20px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: .71px;
    border-radius: 0px;
    font-size: 14px;
}
#btnAfficherPanier{
    display: block;
    width: 100%;
    margin: auto;
}
td.product-remove a.remove{
    background: #FFF;
    color: var(--main-color);
    border:2px solid var(--main-color);
    transition: .5s;
    font-size: 18px;
    line-height: 19.5px;
    width: 25px;
    height: 25px;
}
td.product-remove a.remove:hover{
    transition: .5s;
    background-color: var(--main-color);
    color: #FFF;
}
.shop_table thead th{
    border: none;
    font-family: 'Montserrat', serif;
}
p.cart_product_reference{
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    letter-spacing: 0.4px;
    font-weight: 400;
    color: #000;
    margin-top: 0px;
    margin-bottom: 0px;
}
tr.cart-subtotal td, tr.order-tva td, tr.order-total td{
    text-align: right;
    font-weight: 600;
    font-family: 'Montserrat', serif;
    padding-right: 0px;
}
tr.cart-subtotal th, tr.order-tva th, tr.order-total th{
    text-align: left;
    font-weight: 600;
    font-family: 'Montserrat', serif;
    text-transform: uppercase;
    padding-left: 0px;
}
tr.cart-subtotal td, tr.cart-subtotal th{
    color: #777;
    padding-bottom: 0px;
    font-family: 'Montserrat';
}
tr.order-tva{
    border-bottom:1px solid #A6A6A6;
    color: #777;
}
th.product-name, th.product-price, th.product-quantity, th.product-subtotal{
    font-weight: 400;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
/*/Devis page*/
.woocommerce-cart-form tr td.actions button.button, #btnAfficherPanier{
    background-color: var(--main-color);
    color: #FFF;
    padding: 10px 20px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: .71px;
    border-radius: 0px;
    font-size: 14px;
}

/*variations*/
/*variable product*/
.tpwvs-attr-image:not(.tp-square):after{
    display: none;
}
.tpwvs-attr-button:first-child {
    margin-left: 3px;
}
.p-chassis-group, .m-chassis-group, .f-chassis-group{
    max-width: calc(33% - 16px);
}
.p-chassis-group .tpwvs-attr-button, .m-chassis-group .tpwvs-attr-button,  .f-chassis-group .tpwvs-attr-button{
    width: 100%;
}
.x-chassis-group{
    width: calc(100% - 16px);
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.x-chassis-group .tpwvs-attr-button{
    width: calc(33% - 16px);
} 
.f-group,
.x-group {
    display: flex;
    flex-wrap: wrap; /* Permet d'aller à la ligne automatiquement */
    gap: 10px; /* Espacement entre les boutons */
    margin-bottom: 20px; /* Espacement entre les groupes */
}

.f-group .tpwvs-attr-button,
.x-group .tpwvs-attr-button {
    flex: 1 1 calc(33.333% - 20px); /* Chaque bouton prend un tiers de la ligne moins l'espace */
    text-align: center;
    padding: 10px;
    border: 1px solid #ccc;
    background-color: #f9f9f9;
    border-radius: 5px;
    box-sizing: border-box; /* Inclure padding et bordure dans les dimensions */
    cursor: pointer;
}
.variations .value{
    display:inline-block;
    max-width: 100%;
    width: 100%;
}
table.variations th.label{
    display: inline-block;
    width:100%;
    float: left;
    text-align: left;
}
table.variations tbody tr{
    display: block !important;
}
.tpwvs-tooltip{
    border-radius: 0px;
    width: calc(25% - 4.01px);
    position: relative;
    float: left;
    z-index: 30;
    
}
.tpwvs-tooltip.inactive{
    display: none;
}
.tpwvs-tooltip.active{
    opacity:1;
    pointer-events: all;
    transition: .5s;
    filter: grayscale(0%);
}
.tpwvs-attr-image{
    width: 100%;
    height: 50px;
    margin: 0px;
    padding: 0px;
    border: 0px;
    max-width: 100%;
    position: relative;
    transition: .5s;
    border: 1px solid #eee;
    overflow: hidden;
}
.tpwvs-tooltip .top{
    bottom: 0%;
  left: 0%;
  transform: none;
  position: relative;
  visibility: visible;
  opacity: 1;
  background-color: transparent !important;
  font-size: 12px;
    color: #000 !important;
    display: block;
    padding: 0px;
    margin-top: 2px;
    margin-bottom: 4px;
    box-shadow: none;
    display: block;
    width: 100%;
    text-align: left;
    word-break: break-word;
}
.tpwvs-tooltip .top::after{
    display: none;
}
.tpwvs-tooltip:hover .top{
    transform: none;
    top: 0%;
    left: 0%;
}
.tpwvs-attr-button.button-active{
    border: 1px solid var(--main-color);
}
.tpwvs-attr-image.swatches-active-img{

    transition: .5s;
    border: 1px solid var(--main-color);
}
.tpwvs-attr-image img{
    border: 0px;
    position: absolute;
    width: 100%;
}
.tpvws-variation-html.variation-html.tpwvs-type-image{
    width: 100% !important;
    max-width: 100%;
    display: block;
}
.tpvws-variation-html.variation-html.tpwvs-type-color, .tpvws-variation-html.variation-html.tpwvs-type-select{
max-width: 100%;
    width: 100%;
    display: flex
;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}
.tpwvs-attr-image:not(.tp-square)::after{
    display: none;
}
body.single-product table.variations tr{
    display: block;
}
table.variations th, table.variations td{
    border:0px;
}
a.reset_variations{
    color: var(--main-color);
}
table.variations th.label{
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    color: #000;
    padding-left: 0px;
}
table.variations select{
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    padding: 5px;
}
span.sku_wrapper{
    display: none;
}
.woocommerce-variation-price .price{
    margin-top: 20px;
    margin-bottom: 20px;
    color: var(--main-color);
    font-family: 'Montserrat',serif;
    font-size: 26px;
    letter-spacing: .5px;
    display: block;
    margin-top: 0px;
    margin-bottom: 40px;
}
.woocommerce-product-attributes .woocommerce-product-attributes-item th, .woocommerce-product-attributes .woocommerce-product-attributes-item td{
    border:0px;
}
td.woocommerce-product-attributes-item__value p{
    margin-bottom: 0px;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
}
th.woocommerce-product-attributes-item__label{
    padding-left: 0px;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    word-break:keep-all;
}
/*/variable product*/
/*/variations*/
/*single product*/

/*single product*/
.wc-no-matching-variations.woocommerce-info{
    background-color: #eee;
    color: #000;
    border: 2px solid var(--main-color);
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
}
.single_variation_wrap .woocommerce-variation-price{
    display: none;
}
.woocommerce-product-attributes-item--attribute_pa_couleur{
    display: none;
}
.woocommerce-product-gallery__trigger{
    display: none;
}
.flex-control-nav.flex-control-thumbs{
    display: contents;
}
.woocommerce-product-gallery--columns-4 .flex-control-thumbs li{
    width: 20%;
    margin-top: 10px;
    margin-right: 10px;

}
.related.products h2{
    color: #000;
    font-family: 'Montserrat', serif;
    font-size: 1.1rem;
    margin-top: 20px;
    margin-bottom: 10px;
}
.single-product div.product{
    margin-top: 60px;
}
h1.product_title.entry-title{
    font-family: 'Montserrat', serif;
    color: #000;
    letter-spacing: .5px;
    font-size: 1.3rem;
    font-weight: 300;
}
.single-product .summary p.price{
    margin-top: 20px;
    margin-bottom: 20px;
    color: var(--main-color);
    font-family: 'Montserrat', serif;
    font-size: 1rem;
    letter-spacing: .5px;
}
.woocommerce-product-details__short-description{
    margin-bottom: 5px !important;
}
#selected-color-name{
    margin-top: 0px;
    margin-bottom: -20px;
    color: var(--main-color);
    font-family: 'Montserrat', serif;
    font-size: 1rem;
    letter-spacing: .5px;
}
.single_add_to_cart_button{
    background-color: var(--main-color);
    color: #FFF;
    border-radius: 0px;
    padding: 10px 30px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    letter-spacing: .71px;
    margin-left: 20px;
    text-transform: uppercase;
}
.product_meta .posted_in{
    text-transform: uppercase;
    font-family: 'Montserrat', serif;
    color: #989898;
    font-size: 16px;
}
.product_meta .posted_in a{
    color: #989898;
    transition: .5s;
}
.product_meta .posted_in a:hover{
    transition: .5s;
    color: var(--main-color);
}
.woocommerce-product-gallery img{
    width: 100%;
}
p.reference_single_product{
    font-family: 'Montserrat', serif;
    color: #989898;
    font-size: 16px;
    margin-bottom: 0px;
}
.woocommerce-product-details__short-description p, .contexture_info{
    color: #777777;
    font-family: 'Montserrat', serif;
    font-size: .9rem;
    letter-spacing: .4px;
    margin-top: 0px !important;
    margin-bottom: 5px !important;
}
.woocommerce-tabs {
    float: left;
    display: none !important;
    width: 70%;
}
.woocommerce-tabs ul li{
    margin-right: 40px;
}
.woocommerce-tabs ul li a{
    color: #000;
    font-family: 'Montserrat', serif;
}
.woocommerce-tabs ul li.active a{
    color: var(--main-color);
    box-shadow: none;
}
#tab-description{
    color: #000;
    font-family: 'Montserrat', serif;
}
#toggle_couleurs_complementaires{
    text-transform: uppercase;
    color: #000;
    font-family: 'Montserrat', serif;
    font-size: 14px;
    letter-spacing: .5px;
    user-select: none;
    transition: .25s;
    cursor: pointer;
}
#toggle_couleurs_complementaires.active:after{
    transform: rotate(45deg);
    transition: .25s;
    margin-bottom: -1px;
    border-bottom: 2px solid var(--main-color);
  border-right: 2px solid var(--main-color);
}
#toggle_couleurs_complementaires:after{
    content: ' ';
  display: inline-block;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  height: 8px;
  width: 8px;
  transform: rotate(-45deg);
  margin-left: 5px;
  margin-bottom: 1px;
  transition: .25s;
}
#couleurs_complementaire_container{
    opacity: 0;
    height: 0;
    pointer-events: none;
}
#couleurs_complementaire_container.active{
    pointer-events: all;
}
ul.couleurs_complementaire_list{
    padding-left: 0px;
    max-width: 500px !important;
    display: inline-block;
}
li.couleur_complentaire_item{
    position: relative;
    width: fit-content;
    margin-right: 5px;
    height: 35px;
    display: inline-block;
}
li.couleur_complentaire_item::marker{
    font-size: 0px;
}
.couleur_produit_complementaires{
    width: 55px;
    height: 35px;
    content:'';
    border-radius: 0px;
    display: inline-block;

    position: relative;
}
.tooltip {
  visibility: hidden;
  width: max-content;
  background-color: #000;
  color: #fff;
  text-align: center;
  border-radius: 2px;
  padding: 5px 10px;
  position: absolute;
  z-index: 1;
  bottom: 100%;
  left: 60%;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s ease;
  font-size: 14px;
  font-family: 'Montserrat', sans-serif;
  transition: .25s;
  pointer-events: none;
  user-select: none;
}
.tooltip:after {
  border-left: solid transparent 10px;
  border-right: solid transparent 10px;
  border-top: solid #000 10px;
  bottom: -10px;
  content: " ";
  height: 0;
  left: 50%;
  position: absolute;
  width: 0;
  margin-left: -13px;
}
li.couleur_complentaire_item:hover .tooltip, .nuance:hover .tooltip {
  visibility: visible;
  opacity: 1;
  transition: .5s;
  bottom:130%;
}

.content ::-webkit-scrollbar {
  width: 15px;
}
.content ::-webkit-scrollbar-thumb {
  background-color: #CDA952;
  background-clip: padding-box;
  border: 2px solid #fff;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  
}
.content ::-webkit-scrollbar-thumb:hover {
  background: black;
}

.dropdown {
  position: relative;
  z-index: 1;
  width: 20rem;
}
.dropdown ul {
  margin: 0;
  padding: 0;
}
.dropdown input[type=radio] {
  position: absolute;
  opacity: 0;
}
.dropdown button {
  display: flex;
  align-items: center;
  width: inherit;
  height: 2.625rem;
  cursor: pointer;
  text-align: center;
  background-color: white;
  border: 1px solid #000;
  border-radius:0px 0px 0px 0px;
}
.dropdown button .dropdown-label {
  width: 100%;
  margin-bottom: 0;
  color: black;
  font-weight: regular;
  font-size: 1rem;
  transition:.5s;
}
.dropdown.is-open .dropdown-form {
  display: block;
}
.dropdown.is-open .dropdown-arrow {
  transform: rotate(45deg) translate(-5px, -5px);
}
.dropdown.is-open .dropdown-arrow:before {
  transform: translate(10px, 0);
}
.dropdown.is-open .dropdown-arrow:after {
  transform: rotate(90deg) translate(10px, 0);
}

.dropdown-form {
  position: absolute;
  display: none;
  width: 100%;
  background-color: white;
  transition: 0.3s ease-in-out;
}

.dropdown-options {
  position: relative;
  max-height: 200px;
  overflow-x: hidden;
  overflow-y: scroll;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  transition:.5s;
  border-radius:0px;
}
.dropdown-options .option {
  text-align: center;
  height: 2.5rem;
  cursor: pointer;
  border-right: 1px solid #000;
  transition:.5s;
}
.dropdown-options .option:not(:last-child) {
  border-bottom: 1px solid #000;
}
.dropdown-options .option:hover {
  transition: 0.3s ease-in-out;
  color: #000;
  background-color: #eee;
}
.dropdown-options .option label {
  display: block;
  width: 100%;
  padding: 0.4375rem;
  font-weight: regular;
  text-transform: none;
  cursor: pointer;
}

.dropdown-arrow {
  width: 13px;
  height: 13px;
  display: inline-block;
  position: relative;
  bottom: -5px;
  left: -15px;
  transition: 0.3s ease;
  margin-top: 2px;
  text-align: left;
  transform: rotate(45deg);
  float: right;
}
.dropdown-arrow:before, .dropdown-arrow:after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 12px;
  height: 3px;
  background-color: black;
  transition: 0.3s ease;
}
.dropdown-arrow:after {
  position: absolute;
  transform: rotate(90deg);
  top: -5px;
  left: 5px;
}
/*/single product*/
/*archive product*/
li.filter {
    display: inline-block;
    width: fit-content;
    padding: 5px 10px;
    border: 2px solid #939393;
    margin-right: 5px;
    margin-left: 5px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .5px;
    transition: .5s;
    color: #939393;
    margin-bottom: 5px;
    user-select: none;
    cursor: pointer;
}
li.filter:hover{
    transition: .5s;
    background-color: var(--main-color);
    color: #000;
    cursor: pointer;
}
li.filter:hover a{
    color: #000;transition: .5s;
}
li.filter a{
    color: #939393;
}
ul.filters-button-group{
    display: block;
    width: fit-content;
    margin-top: 60px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}
/*/Archvie product*/
.cart-count.active {
    opacity: 1;
    transition: .5s;
    top: 12px;
}

.cart-count {
    height: 20px;
    width: 20px;
    position: absolute;
    right: -20px;
    top: 8px;
    background-color: var(--main-color);
    color: #fff;
    font-size: 11px;
    font-family: 'Montserrat', sans-serif;
    border-radius: 20px;
    line-height: 20px;
    font-weight: 600;
    opacity: 0;
    transition: .5s;
    user-select: none;
    pointer-events: none;
    text-align: center;
}
/*/Woocommerce*/

/*shortcode*/
.videos_wrapper {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-content: space-around;
    width: 100%;
}
.video_item {
    flex: 1 1 calc(50% - 20px);
    margin-bottom: 20px;
    margin-right: 20px;
    background: #fff;
    min-width: calc(50% - 30px);
    max-width: 353px;
}
.video_item iframe {
    border-radius: 10px;
    overflow: hidden;
}
/*/shortcode*/


/*spinner loader*/
#main_product_wrapper{
    position: relative;
}
.scroller-status{
    position: absolute;
    width: 100%;
    top: 100px;
}
.loader {
    width: 48px;
    height: 48px;
    border: 5px dotted #000;
    border-radius: 50%;
    display: inline-block;
    position: absolute;
    left: 50%;
    top:50%;
    box-sizing: border-box;
    animation: rotation 2s linear infinite;
}
#loader_ajax_chargement_toile{
    border: 2px dotted #000;
    left:calc(50% - 12px);
    top:calc(50% - 9px);
    position: absolute;
    width: 20px;
    height: 20px;
}
@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
#loadmore_spinner{
    opacity: 0;
    transform: 1s;
}
#loadmore_spinner.active{
    opacity: .6;
    transition: 1s;
}
/*/spinner loader*/
/*lazyload*/
.lazy{
    opacity: 0;
}
.lazy.entered{
    opacity: 1;
}
/*/lazyload*/


/*Elementor*/
.elementor p {
    font-size: 16px;
    color: #000 !important;
    margin-bottom: 10px;
    font-family: 'Montserrat', serif !important;
}
h2.elementor-heading-title {
    font-family: 'Montserrat', serif !important;
    color: #000 !important;
    font-size: 2.6rem !important;
    font-weight: 300 !important;
}
h3.elementor-heading-title {
    text-transform: uppercase;
    color: var(--main-color) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
    font-size: 20px;
    letter-spacing: 3px;
}
h4.elementor-heading-title {
    font-family: 'Montserrat', serif !important;
    color: #000 !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    margin-bottom: 10px;
    line-height: 1.1rem !important;
    letter-spacing: 1px !important;
}
.elementor-widget-button .elementor-button {
    background-color: transparent !important;
    border-radius: 0;
    color: var(--main-color) !important;
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase;
    position: relative;
    padding-left: 0;
    padding-top: 0;
    font-weight: 600 !important;
    width: fit-content;
}
.elementor-widget-button .elementor-button:before {
    position: absolute;
    right: 0;
    top: 0;
    width: 15px;
    height: 15px;
    background-color: var(--main-color);
    content: '';
    border-radius: 15px;
    display: block;
    z-index: 10;
}
.elementor-widget-button .elementor-button:after {
    position: absolute;
    background: #fff;
    content: '';
    width: 5px;
    height: 5px;
    right: 5px;
    border-radius: 5px;
    z-index: 11;
    top: 5px;
}
#bloc_chassis {
    border: 10px solid #f5f0e4;
    width: 90%;
    margin: auto;
    padding-top: 50px;
    padding-bottom: 50px;
    display: block;
}
.page-mise-en-avant-content h2 {
    font-family: 'Montserrat', serif !important;
    color: #000 !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    line-height: 1.1rem !important;
    letter-spacing: 1px !important;
    margin-top: 10px;
    margin-bottom: 60px;
}
.page_spacer_small {
    margin: auto;
    display: block;
    content: '';
    width: 1px;
    height: 60px;
    background-color: var(--main-color);
    margin-bottom: 20px;
    margin-top: 20px;
}
.page_spacer {
    margin: auto;
    display: block;
    content: '';
    width: 1px;
    height: 120px;
    background-color: var(--main-color);
    margin-bottom: 20px;
    margin-top: 20px;
}
/*/Elementor*/


/*Generateur chassis*/
#erreur_dimmensions{
    opacity: 1;
    margin-top: 10px;
    transition: .5s;
    display: none;
}
#erreur_dimmensions.active{
    opacity: 1;
    transition: .5s;
    margin-top: 0px;
}
#notice_succes{
    display: none;
    width: 100%;
}
.succes_ajout_chassis p {
    width: fit-content;
    display: inline-block;
    float: left;
    width: fit-content;
    margin-top: 15px;
    margin-bottom: 0;
}
.succes_ajout_chassis a.button.wc-forward {
    float: right;
    border-radius: 0;
    background-color: var(--main-color) !important;
    color: #fff !important;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400;
    padding: 10px 20px !important;
    width: fit-content;
    font-size: 16px;
    transition: .5s;
    opacity: 1;
}
.wc-block-components-notice-banner.is-success {
    background-color: #fff !important;
    border: 1px solid #e3e3e3 !important;
    color: #000 !important;
    font-family: 'Montserrat', sans-serif !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    margin-top: 60px;
    margin-bottom: 60px;
}
#generateur_chassis{
    margin-top: 60px;
}
.column_canvas_generateur_chassis{
    border-left: 1px solid #000;
    padding-left: 60px;
}
.column_fields_generateur_chassis{
    padding-right: 60px;
    float: left;
}
#frameCanvas{
  border:0px solid #000;
}
#canvas_section p{
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    color: #000;
}
.schema_field{
    padding-bottom: 20px;
    padding-top: 20px;
    border-bottom: 2px solid #E7E7E7;
}
.schema_field label{
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;

}
.single_add_to_cart_button{
    padding:10px 30px;
}
#ajouter_produit_sur_mesure{
    border-radius: 0px;
    background-color: var(--main-color);
    color: #FFF;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    margin-top: 30px;
    display: block;
    width: fit-content;
    font-size: 16px;
    margin-left: 0px;
    transition: .5s;
    opacity: 0;
    pointer-events: none;
}
#ajouter_produit_sur_mesure.disabled{
    background-color: #757575;
    transition: .5s ;
}
#error_empty_profondeur{
    color: red !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px !important;
    margin-top: 10px;
    pointer-events: none;
    opacity: 0;
    transition: .5s;

}
.shake {
    animation: shake 500ms ease-out;
}
@keyframes shake {
    0% {
        transform: translateX(0px);
    }
    5% {
        transform: translateX(-4px);
    }
    15% {
        transform: translateX(4px);
    }
    25% {
        transform: translateX(-4px);
    }
    35% {
        transform: translateX(4px);
    }
    45% {
        transform: translateX(-4px);
    }
    55% {
        transform: translateX(4px);
    }
    65% {
        transform: translateX(-4px);
    }
    75% {
        transform: translateX(3px);
    }
    85% {
        transform: translateX(3px);
    }
    100% {
        transform: translateX(0px);
    }
}
#ajouter_produit_sur_mesure.active{
    opacity: 1;
    transition: .5s;
    pointer-events: all;
    z-index: 59;
    position: relative;
}
#ajouter_produit_sur_mesure:hover{
    transition: .5s;
    background-color: #000;
}
.field_button_container{
    display: inline-block;
    margin-left: 20px;
}
.field_cutom_btn{
  display:inline-block;
  padding:5px 15px;
  margin:0px;
  color:#adadad;
  box-shadow: inset 0px -1px 6px #00000029;
  background: #f8f8f8;
  user-select:none;
  cursor:pointer;
  font-size:15px;
  font-family:'Montserrat', serif;
  transition:.5s;
  font-weight:400;
  border:2px solid #00000029;
  
}
.field_cutom_btn.active{
  background: #FFFFFF 0% 0% no-repeat padding-box;
  color:#000;
  box-shadow: none;
  transition:.5s;
  border:2px solid #CDA952;
}
input#nombre_de_traverse{
    width: 100%;
    border: 0px;
    user-select: none;
    pointer-events: none;
    background-color: #FFF;
    text-align: center;
    padding-left: 0px;
}
input.devis_input{
  display:inline-block;
  margin-bottom:20px;
  margin-top:0px;
  height:30px;
  width:70px;
  padding:0px;
  border:0px solid #707070;
  -webkit-appearance: none !important;
  -moz-appearance: textfield !important;
  appearance: none;
  text-align:center; 
  margin: 0;
}
input.devis_input:active, input.devis_input:focus{
  border:0px solid #000;
  outline: none;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.input_field{
  position:relative;
  display:inline-block;
  margin-left: 20px;
  padding:2px;
  width:100px;
  border:1px solid;
  margin-top:20px;
}
p.euro_symbol{
    position: absolute;
    right: 10px;
    top: 9px;
    font-size: 16px;
    margin-top: 0px;
    margin-bottom: 0px;
}
#traverses_section{
    visibility: hidden;
    height: 0px;
    opacity: 0;
    pointer-events: none;
    transition: .5s;
    display: block;
    margin-top: 10px;
}
#traverses_section.active{
    opacity: 1;
    height: auto;
    transition: .5s;
    visibility: visible;
}
.input_field.traverses{
    width: 350px;
    margin-top: 0px;
    border: 0px solid;
    margin-left: 0px;
}
.input_field.profondeur{
    width: 105px;
}
.input_field.type_panneau{
    width: 200px;
    opacity: 0;
    pointer-events: none;
    transition: .5s;
}
.input_field.type_panneau.active{
    transition: .5s;
    pointer-events: all;
    opacity: 1;
}
.input_field.entoilage{
    width: 40%;
}/*
.input_field.ref_toile{
    width: 40%;
    opacity: 0;
    pointer-events: none;
    transition: .5s;
}*/
.spinner_select_toile_wrapper{
    width: 99%;
    height: 30px;
    font-size: 12px;
    background-color: #eee;
    position: absolute;
    pointer-events: all;
    transition: .5s;
    opacity: 1;
}
.spinner_prix{
    width: 97%;
    height: 37px;
    font-size: 12px;
    background-color: #eee;
    position: absolute;
    pointer-events: all;
    transition: .5s;
    opacity: 0;
    z-index: 22;
}
.spinner_prix.calculating{
    opacity: 1;
    transition: .5s;
}
.spinner_select_toile_wrapper.loaded, .spinner_prix.calculated{
    pointer-events: none;
    opacity: 0;
    transition: .5s;
}

.input_field.ref_toile{
    width: 40%;
    opacity: 0;
    pointer-events: all;
    transition: .5s;
}
.input_field.ref_toile.active{
    opacity: 1;
    transition: .5s;
    pointer-events: all;
}
select:focus{
    outline: var(--main-color);
}
select#profondeur{
    font-size: 12px;
    text-align: left;
    padding-left: 10px;
    background-color: transparent;
}
select#type_panneau{
    font-size: 12px;
    text-align: left;
    padding-left: 10px;
    width: fit-content;
}
select#entoilage, select#ref_toile{
    width: 100%;
    text-align: left;
    padding-left: 10px;
    font-size: 15px;
    font-family: 'Montserrat', sans-serif;
}

input#cote_court, input#nombre_de_traverse, input#cote_long, input#quantite_chassis_sur_mesure{
    border-left: 0px;
    border-bottom: 0px;
    outline: none;
    text-align: left;
    padding-left: 20px;
}
input#prix_calcul_chassis{
    border-left: 0px;
    border-bottom: 0px;
    outline: none;
    text-align: left;
    padding-left: 10px;
    padding-right: 0px;
}
.input_field span{
    position: absolute;
    left: 0;
    top: -20px;
    color: #777;
    background: #fff;
    padding: 0px;
    line-height: 10px;
    font-size: 15px;
}
.input_field .unite{
  position: absolute;
  right: 10px;
  top: 6px;
  color: #757575;
  width: 20px;
  font-size: 14px;
}
#frame_infos{
  display:inline-block;
  float:left;
  margin-top:40px;
  margin-left:20px;
}
#canvas_section{
  margin-top:10px;
  float:left;
  display:inline-block;
}
#toile_infos_complementaire_wrapper{
    margin-top: 20px;
    font-size: 15px;
    font-family: 'Montserrat', sans-serif;
    display: inline-block;
    height: 0px;
    transition: .5s;
    opacity: 0;
    pointer-events: none;
    display: none;
}
#toile_infos_complementaire_wrapper.active{
    opacity: 1;
    transition: .5s;
    height: auto;
/*  display: inline-block;*/
    display: none;
}
#toile_infos_complementaire_wrapper span{
    display: inline-block;
    float: left;
    margin-right: 20px;
}
.toile_infos_complementaire_infos{
    float: left;
    width: fit-content;
    padding-left: 20px;
    border-left: 2px solid #e7e7e7;
}
.toile_infos_complementaire_infos label{
    display: block;
}
#calcul_du_prix{
    width: 80%;
    display: block;
    margin: auto;
    padding: 40px;
    border: 1px solid #000;
    background-color: #eee;
    margin-top: 200px;
}

/*/Generateur chassis*/


/*CF7*/
input[type="submit"]{
    background-color: var(--main-color);
    color: #FFF;
    text-transform: uppercase;
    font-weight: 400;
    border-radius: 0px;
    border: 2px solid var(--main-color);
    transition: .5s;
    font-family: 'Montserrat', sans-serif !important;
    padding: 10px 20px;
    font-size: 14px;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea{
    background: #FFF;
    border-right: 0px;
    border-top: 0px;
    width: 100%;
    max-width: 100%;
    display: block;
    margin-bottom: 0px;
    color: #000;
    border-left: 2px solid #eee;
    border-bottom: 2px solid #eee;
    font-size: 14px;
    transition: .5s;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus{
    border-color: var(--main-color);
    transition: .5s;
}
/*/CF7*/

/*footer*/
.footer_wrapper_first_row{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.footer_wrapper_second_row{
    display: flex;
    flex-direction: row;
}
#colophon .social_icons{
    width: 200px;
    margin-top: 15px;
}
#colophon .site_intro_text{
    width: 400px;
    text-align: justify;
}
#colophon .site_contact{
    margin-left: 60px;
}
#colophon {
    background-color: #000;
    padding-top: 30px;
    padding-bottom: 30px;
    margin-top: 0;
}
#colophon #desktop-menu li a {
    color: #fff;
}
#scrolltop {
    color: var(--main-color);
    font-size: 12px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    float: right;
    margin-top: 55px;
    user-select: none;
    cursor: pointer;
    opacity: 0;
    transition: .5s;
}
#scrolltop.active {
    opacity: 1;
    transition: .5s;
    margin-top: 45px;
}
#scrolltop svg {
    fill: var(--main-color);
    margin-right: 5px;
    width: 18px;
    display: inline-block;
    margin-bottom: -4px;
}
svg.footer_icon {
    fill: #fff;
    transition: .5s;
}
.footer_widget p {
    color: #a6a6a6;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    margin-bottom: 10px;
}
p.copyright {
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    margin-bottom: 0;
}
p.copyright a {
    color: #fff;
    text-decoration: none;
}
#colophon ul.sub-menu{
    display: none;
}
/*/Footer*/

@media screen and ( max-width:995px ){
    #mobile_btn{
        display: block;
    }
    #desktop-menu, .second_menu_wrapper{
        display: none;
    }
    .col-md-6{
        width: 100%;
    }
    li.product{
        width: 48%;
    }
    .woocommerce-cart-form {
        width: 100%;
        float: left;
    }
    .woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals {
        width: calc(100% - 20px);
        display: bloc;
        margin: auto;
        border: 1px solid #A6A6A6;
        padding: 40px;
    }
    tr.cart_item td.product-name{
        max-width:100%;
    }
    .woocommerce-cart-form tr td.actions{
        margin: auto;
        display: block;
        width: fit-content;
    }
    .elementor-widget-image img{
        width: 100%;
        display: block;
    }
    li.product{
        width: 48%;
    }
    h2.elementor-heading-title{
        font-size: 2rem !important;
    }
    .page_spacer{
        height: 60px;
    }
    .frame_image{
        margin-bottom: 60px !important;
    }
    .column_canvas_generateur_chassis{
        padding-left: 15px;
    }
    #frameCanvas{
        width: 100%;
        pointer-events: none;
    }
    .woocommerce-cart-form,.woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals{
        width: 100%;
    }
    svg.footer_icon{
        margin-bottom: 20px;
    }
    h1.header_title{
        font-size: 32px;
    }
    h1.product_title.entry-title{
        font-size: 28px;
        margin-bottom: 20px;
    }
    .related.products h2{
        margin-bottom: 20px;
    }
    li.product.product_cat-toiles{
        width: 48%;
    }
    li.filter{
        margin-bottom: 10px;
    }
    .shop_table.cart td{
        font-size: 15px;
        border: 0px;
    }
    .shop_table.cart td.product-name{
        max-width: 100%;
    }
    .shop_table.cart input.input-text.qty{
        text-align: right;
    float: right;
    display: inline-table;
    }
    .shop_table.cart td.product-subtotal{
        padding-left: 10px;
    }
    .shop_table.cart .cart_item td.product-remove{
        border-bottom: 0px;
    }
    .cart-collaterals tr.cart-subtotal th{
        display: inline-block !important;
    }
    .cart-collaterals tr.cart-subtotal td{
        width: fit-content;
        float: right;
    }
    .cart-collaterals tr.order-tva th{
        display: inline-block !important;
    }
    .cart-collaterals tr.order-tva td{
        width: fit-content;
        float: right;
    }
    .cart-collaterals tr.cart-subtotal td:before,   .cart-collaterals tr.order-tva td:before{
        display: none;
    }
    .woocommerce table.shop_table_responsive tr td:last-child, .woocommerce-page table.shop_table_responsive tr td:last-child{
        padding-left: 0px;
    }
    .woocommerce table.shop_table_responsive tr:first-child, .woocommerce-page table.shop_table_responsive tr:first-child, .woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr{
        margin-bottom: 10px;
    }
    .woocommerce-cart-form__cart-item.cart_item{
        border: 1px solid #000;
        padding: 20px;
        position: relative;
        margin-bottom: 20px !important;
    }
    .woocommerce-cart-form__cart-item.cart_item td.product-remove{
        position: absolute;
        top: -20px;
        left: -20px;
    }
    .woocommerce-cart-form__cart-item.cart_item td.product-quantity{
        width: 100%;
        display: inline-block;
    }
    .column_fields_generateur_chassis{
        padding-right: 10px;
        padding-left: 10px;
    }
    html{
        overflow-x: hidden;
    }
    .succes_ajout_chassis{
        padding: 0px;
    }
    #notice_succes .succes_ajout_chassis a.button.wc-forward{
        margin-top: 10px !important;
        width: 100% !important;
    }
    .input_field.type_panneau{
        margin-left: 0px;
        border: 0px !important;
        display: none;
        transition: .25s;
    }
    .input_field.type_panneau.active{
        display: block;
    }
    .input_field.type_panneau span{
        position: relative;
        top: 0px;
        color: #212529 !important;
    }
    #type_chassis, #materiaux_chassis{
        margin-left: 0px;
    }
    .schema_field > span{
        display: block;
        
    }
    #type_toile_btn, #matiere_bois{
        margin-right: 10px;
    }
    .schema_field label{
        display: inline-block;
        width: 100%;
        margin-bottom: 10px;
    }
    select#type_panneau{
        padding: 10px;
        border: 1px solid;
        height:40px;
        font-size: 14px;
        display: block;
        line-height: 20px;
    }
    .input_field{
        position: relative;
    display: inline-block;
    margin-left: 0px;
    margin-right: 10px;
    padding: 2px;
    width: 165px;
    border: 1px solid;
    margin-top: 20px;
    margin-bottom: 10px;
    }
    .input_field.profondeur{
        display: block;
    }
    #error_empty_profondeur{
        display: table-row-group;
    }
    .woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td{
        background-color:transparent;
    }
    .woocommerce-cart-form__cart-item.cart_item:nth-child(even){
        background: rgba(0,0,0,.025);
    }
    .column_canvas_generateur_chassis{
        border-left: 0px;
    }
    input#nombre_de_traverse{
        padding: 0px;
    }
    #btnAfficherPanier{
        pointer-events: all;
    }
    #pagination.product_pagination button.page{
        width: 30px;
        font-size: 14px;
        line-height: 25px;
        height: 30px;
    }
    .video_item{
        flex: 1 1 calc(100% - 20px);
        min-width: calc(100% - 30px);
    }
    h1.header_title{
        font-size: 32px;
    }
    .footer_wrapper_second_row{
        flex-direction:column;
    }
    #colophon .site_contact{
        margin-left: 0px;
    }
    .page-mise-en-avant-content{
        width: fit-content;
        margin: auto;
    }
    .tpwvs-tooltip{
        width: calc(33% - 4.01px);
    }
    .tpwvs-attr-button{
        font-size: 9px;
    }
    .related.products h2{
        font-size: .8rem;
    }
    body{
        overflow-x: hidden;
    }


}