/********************************************************
			One-Page Checkout Styles
********************************************************/
#order-opc {
  line-height: 20px;
  padding-top: 0;  }
  #order-opc .header-container, #order-opc .breadcrumb, #order-opc .footer-container {
    display: none;}
  #order-opc .columns-container {
    max-width: 1500px;
	margin:0 auto;	}
  #order-opc .order-header {
	border-bottom: 1px solid #eeeeee;
	display: flex;
    align-items: center;}
  #order-opc .order-header .back-order{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;}
  #order-opc .order-header .back-order::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjMDAwMDAwIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NzYuMjEzIDQ3Ni4yMTMiIHhtbDpzcGFjZT0icHJlc2VydmUiPgoJPHBvbHlnb24gcG9pbnRzPSI0NzYuMjEzLDIyMy4xMDcgNTcuNDI3LDIyMy4xMDcgMTUxLjgyLDEyOC43MTMgMTMwLjYwNywxMDcuNSAwLDIzOC4xMDYgMTMwLjYwNywzNjguNzE0IDE1MS44MiwzNDcuNSAgIDU3LjQyNywyNTMuMTA3IDQ3Ni4yMTMsMjUzLjEwNyAiLz4KCTwvc3ZnPg==);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;}
  #order-opc .box {
    padding-bottom: 20px; }
  #order-opc .cart_navigation {
    margin-bottom: 53px; }
  #order-opc .page-heading.step-num {
    position: relative;
	padding: 0px 0px 17px 45px;
    overflow: visible;
    margin: 0;
    font-size: 25px;
	text-align:left;
    font-weight: 400;
    text-transform: none;
    color: #21305a;
    line-height: 34px;}
    #order-opc .page-heading.step-num span {
      font-weight: 600;
      font-size: 42px;
      line-height: 51px;
      font-style: italic;
      position: absolute;
      left: 10px;
      top: -14px; }
  #order-opc .form-group {
    margin-bottom: 2px; }
    #order-opc .form-group .form-control {
      max-width: 271px;
	  height:41px;}
  #order-opc .lost_password {
    display: inline-block;
    text-decoration: underline;
    margin: 5px 0 14px; }
    #order-opc .lost_password:hover {
      text-decoration: none; }
  #order-opc .title_block {
    font-weight: bold;
    color: #333;
    padding: 3px 0 6px; }
  #order-opc .opc-button {
    padding: 11px 0 0 0; }
  #order-opc ul.bullet {
    line-height: 22px;
    margin-bottom: 5px; }
  #order-opc .date-select {
    padding-bottom: 10px; }
  #order-opc .opc-add-save {
    border-top: 1px solid #d6d4d4;
    margin-top: 20px;
    padding-top: 20px; }
  #order-opc #message {
    margin-bottom: 35px; }
  #order-opc #opc_payment_methods {
    margin-bottom: 30px; }
    #order-opc #opc_payment_methods p.warning {
      color: #F13340;
      font-weight: 700; }
  #order-opc #opc_account {
    margin-bottom: 30px; 
	margin-left:30px; }
  #order-opc #opc_account p.address_add{ 
	margin:0 30px; 
	text-align:center;}
  #order-opc .address_delivery.select {
    margin-bottom: 15px; }
  #order-opc #address_invoice_form.form-group {
    margin-bottom: 30px;}
#order-opc #header_logo{
    display: block;
    margin: 15px auto; }
#order-opc .cart_content{
	display: flex;
    flex-direction: column;
    gap: 5px;}
#order-opc .shopping_cart_content{
	flex-shrink:0;}
#order-opc #shopping_cart_detail_mobile{
	cursor:pointer;
	padding: 10px 20px;
    border-bottom: 1px solid #eee;
    margin-bottom: 20px;
    background-color: #f2f5fa;}
#order-opc #shopping_cart_detail_mobile span:after {
    content: "\f107";
    font-family: "FontAwesome";
    display: inline-block;
    font-size: 15px;
    color: #21305a;
    margin-left: 4px;
		transition: all 0.25s;
		-ms-transition: all 0.25s;
		-webkit-transition: all 0.25s;
		-moz-transition: all 0.25s;
		-o-transition: all 0.25s;}
#order-opc #shopping_cart_detail_mobile.open span:after {
	transform: rotate(180deg);}
#order-opc #shopping_cart_detail_content{
    padding: 0 20px;
	max-height: 0;
    overflow: hidden;
		transition: all 0.25s;
		-ms-transition: all 0.25s;
		-webkit-transition: all 0.25s;
		-moz-transition: all 0.25s;
		-o-transition: all 0.25s;}
#order-opc #shopping_cart_detail_content.open{
    max-height: 2500px;}
#order-opc #order-detail-line{}
#order-opc #order-detail-line dl.products{
	overflow: hidden;}
#order-opc #order-detail-line dl.products dt{
	position: relative;
    display: flex;
    justify-content: flex-start;
    flex-wrap: nowrap;
    padding: 5px 3px 5px 0;}
#order-opc #order-detail-line dl.products dt.first_item{
	border-top: 0;}
#order-opc #order-detail-line dl.products dt .cart-images{
    width: 50px;
    position: relative;}
#order-opc #order-detail-line dl.products dt .cart-info{
	flex:1;
	padding: 0 5px;
	font-family:'Poppins';
	font-weight:400;}
#order-opc #order-detail-line dl.products dt .product-name {
    font-size: 13px;
    line-height: 23px;
    color: #3a3939;
    margin-bottom: 0;}
#order-opc #order-detail-line dl.products dt .product-atributes {
    font-size: 11px;
    line-height: 13px;
	letter-spacing:-0.4px;}	
#order-opc #order-detail-line dl.products dt .cart-qtyprice{
	width: 90px;
    flex-shrink: 0;}
#order-opc #order-detail-line dl.products dt .cart-qtyprice .cart_delete{
	float: left;
    margin-right: 5px;}	
#order-opc #order-detail-line dl.products dt .cart-qtyprice .cart_delete a.cart_quantity_delete{
	display: block;
    line-height: 26px;
    font-size: 14px;
}
#order-opc #order-detail-line dl.products dt .cart-info-qty{
	float: right;
    border: 1px solid #999;
    border-radius: 4px;
    text-align: center;
    display: flex;
    line-height: 24px;}
#order-opc #order-detail-line dl.products dt .cart-info-qty .cart-info-qty-down{
	display: inline-block;
    font-size: 15px;
    font-weight: 400;
    height: 24px;
    width: 24px;
	line-height:22px;}
#order-opc #order-detail-line dl.products dt .cart-info-qty .cart_quantity_input{
	display: inline-block;
    width: 24px;
    height: 24px;
    font-size: 11px;
    font-weight: 700;
    color: #000;
	cursor:default;
	background-color: #fff;
    border: 0;
	text-align:center;}
#order-opc #order-detail-line dl.products dt .cart-info-qty .cart-info-qty-up{
	display: inline-block;
    font-size: 15px;
    font-weight: 400;
    height: 24px;
    width: 24px;
	line-height:26px;}
#order-opc #order-detail-line dl.products dt .cart-qtyprice .price{
	display: inline-block;
    top: 38px;
    right: 3px;
    position: absolute;
	font-family: 'Poppins';
    font-weight: 400;
    color: #444;}
#order-opc .cart_total_line{
	display: flex;
    justify-content: space-between;
	color: #444;
    margin-bottom: 5px;
	font-family:'Poppins';}
#order-opc .cart_total_line.total_line_sum {
    font-size: 20px;
    margin: 15px 0 5px;
    font-weight: 500;}
#order-opc .total_line_tax {
    color: #777;
	font-family:'Poppins';
	text-align: right;}
#order-opc .total_line_wrapping{
	display:none;}
#order-opc .order_info_content{
	flex:1;
	border-right: 1px solid #eee;
    padding-top: 30px;}

#order-opc .cart_voucher{
	margin-bottom:31px;}
#order-opc .cart_voucher fieldset {
    margin-bottom: 10px;
	display:flex;
	border: 1px solid #999;
    padding: 3px;
	border-radius: 4px;}
#order-opc .cart_voucher fieldset #discount_name {
    float: left;
    width: 250px;
    margin-right: 11px;
	border: 0;
    height: 35px;
    padding: 13px 11px;
	flex:1;
	font-family:'Poppins';}
#order-opc .cart_voucher fieldset input[type=submit] {
	flex-shrink: 0;
	background-color: #21305a;
    color: #fff;}
#order-opc .cart_voucher fieldset input[type=submit]:hover {
	box-shadow: inset 0 -6rem 0 0 #fff;
    border-color: #21305A;
	color: #21305A;}
#order-opc .cart_voucher #display_cart_vouchers span {
    font-weight: bold;
    cursor: pointer;
    color: #777;
}
#order-opc .cart_voucher #display_cart_vouchers span:hover {
    color: #515151;
}
#order-opc .shoppingcart_reassur {
    overflow: hidden;
    display: flex;
	justify-content: space-between;
    clear: both;
    text-align: center;
    font-weight: 600;
    color: #21305a;
	background-color:#f9f9f9;
	margin:35px 0 20px;
	flex-wrap: wrap;
}
#order-opc .shoppingcart_reassur div.reassur_content{
	flex:0 0 33%;
}
#order-opc .shoppingcart_reassur span {
	display: flex;
    flex-direction: column;
    align-items: center;
}
#order-opc .shoppingcart_reassur span:before{
	content:'';
    width: 70px;
    height: 60px;
    line-height: 26px;
    display: inline-block;
    color: #21305A;
}
#order-opc .shoppingcart_reassur span.reassur_retour:before{
    background: url(../img/picto-retour.png) no-repeat center center;
}
#order-opc .shoppingcart_reassur span.reassur_paie:before{
    background: url(../img/picto-paiement-securise.png) no-repeat center center;
}
#order-opc .shoppingcart_reassur span.reassur_satisf:before{
    background: url(../img/picto-satisfait.png) no-repeat center center;
}
#order-opc .shoppingcart_reassur span.reassur_secur:before{
    background: url(../img/picto-paiement-securise.png) no-repeat center center;
}
#order-opc .shoppingcart_reassur_review{
	text-align: center;
    display: flex;
    justify-content: center;
    gap: 5px;
    color: #21305A;}

#order-opc #opc_new_account form{
	margin: 0 15px 0 45px;}
#order-opc #opc_account ul.address {
	background-color: var(--var-color-bluelight);
    padding: 10px 15px;
	border:0;}
#order-opc #opc_account ul.address h3.page-subheading{
	margin: 0;
    border: 0;
    color: #21305a;
    font-size: 17px;
    padding-bottom: 10px;}
#order-opc .order_carrier_content {
    margin: 0 15px 0 45px;}
#order-opc .order_carrier_content .delivery_option input{
    display:none;}
#order-opc .order_carrier_content .delivery_option .label_delivery_option{
	width:100%;
    display:flex;
	justify-content: space-between;
    align-items: center;
	padding: 30px 20px 30px 5px;
    background-color: var(--var-color-bluelight);
    transition: background-color .15s ease;
	cursor:pointer;
	gap:5px;
	flex-wrap: wrap;}
#order-opc .order_carrier_content .delivery_option .label_delivery_option:hover{
	background-color: #f9f9f9;}
#order-opc .order_carrier_content .delivery_option .delivery_col_checked {
    position: relative;
	width:45px;
	flex: 0 0 45px;
	order:1;}
#order-opc .order_carrier_content .delivery_option .delivery_col_image {
	width:40px;
	flex: 0 0 40px;
	order:2;}
#order-opc .order_carrier_content .delivery_option .delivery_col_name {
	width:auto;
	min-width:0;
	flex: 1 1 auto;
	padding-left:5px;
	order:3;}
#order-opc .order_carrier_content .delivery_option .delivery_col_detail {
	flex: 1 1 100%;
	font-weight: 500;
	padding: 0 5px 0 55px;
	order:5;}
#order-opc .order_carrier_content .delivery_option .delivery_col_detail .best_grade{
	display:none;}
#order-opc .order_carrier_content .delivery_option .delivery_col_price {
	width: 100px;
    text-align: right;
	flex: 0 0 100px;
	order:4;}
#order-opc .order_carrier_content .delivery_option .delivery_col_checked:before, #order-opc .order_carrier_content .delivery_option .delivery_col_checked:after {
	content: '';
    pointer-events: none;
    display: block;
    position: absolute;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    border: 1px solid #999;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    top: 50%;
    left: 1.5rem;
    transform: translateY(-50%);
    margin-top: 0;}
#order-opc .order_carrier_content .delivery_option .delivery_option_radio:checked + .label_delivery_option .delivery_col_checked::after {
	background: #00557c;
    width: 12px;
    height: 12px;
    margin-left: 4px;
    border-radius: 50%;}
#order-opc .order_carrier_content p.carrier_title {
	font-weight:bold;}
#order-opc .agree_content {
    margin: 10px 15px 20px 45px;}
#order-opc #opc_payment_methods-content p.warning{
	margin-left:45px;}
#order-opc p.payment_module {
     margin: 0 0 10px 30px;}
#order-opc p.payment_module a {
    display: block;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    font-size: 13px;
    line-height: 23px;
    color: #333;
    font-weight: bold;
    padding: 33px 40px 34px 99px;
    position: relative;
	transition: background .3s;}
 #order-opc p.payment_module a.bankwire {
     background: url(../img/bankwire.png) 15px 12px no-repeat var(--var-color-bluelight);
}
 #order-opc p.payment_module a.cheque {
     background: url(../img/cheque.png) 15px 15px no-repeat var(--var-color-bluelight);
}
 #order-opc p.payment_module a.cash {
     background: url(../img/cash.png) 15px 15px no-repeat var(--var-color-bluelight);
}
 #order-opc p.payment_module a.cheque:after, #order-opc p.payment_module a.bankwire:after, #order-opc p.payment_module a.cash:after {
     display: block;
     content: "\f054";
     position: absolute;
     right: 15px;
     margin-top: -11px;
     top: 50%;
     font-family: "FontAwesome";
     font-size: 25px;
     height: 22px;
     width: 14px;
     color: #23105a;
}
 #order-opc p.payment_module a:hover {
     background-color: #f9f9f9;
}
 #order-opc p.payment_module a span {
     font-weight: 400;
}
 #order-opc .payment_module.box {
     margin-top: 20px;
}
 #order-opc p.cheque-indent {
     margin-bottom: 9px;
}
 #order-opc .cheque-box .form-group {
     margin-bottom: 0px;
}
 #order-opc .cheque-box .form-group .form-control {
     width: 269px;
}
 #order-opc .checkbox-wrapper {
    box-sizing: border-box;
    --background-color-checkbox: #fff;
    --checkbox-height: 20px;  
	--checkbox-color: #21305a;}
@-moz-keyframes dothabottomcheck-19{0%{height:0}100%{height:calc(var(--checkbox-height)/ 2)}}@-webkit-keyframes dothabottomcheck-19{0%{height:0}100%{height:calc(var(--checkbox-height)/ 2)}}@keyframes dothabottomcheck-19{0%{height:0}100%{height:calc(var(--checkbox-height)/ 2)}}@keyframes dothatopcheck-19{0%,50%{height:0}100%{height:calc(var(--checkbox-height) * 1.2)}}@-webkit-keyframes dothatopcheck-19{0%,50%{height:0}100%{height:calc(var(--checkbox-height) * 1.2)}}@-moz-keyframes dothatopcheck-19{0%,50%{height:0}100%{height:calc(var(--checkbox-height) * 1.2)}}	
 #order-opc .checkbox-wrapper input[type=checkbox] {
    display: none;}
 #order-opc .checkbox-wrapper .check-box {
    height: var(--checkbox-height);
    width: var(--checkbox-height);
    background-color: transparent;
    border: 1px solid #999;
    border-radius: 5px;
    position: relative;
    display: inline-block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -moz-transition: border-color ease 0.2s;
    -o-transition: border-color ease 0.2s;
    -webkit-transition: border-color ease 0.2s;
    transition: border-color ease 0.2s;
    cursor: pointer;}
 #order-opc .checkbox-wrapper .check-box::before,
 #order-opc .checkbox-wrapper .check-box::after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    height: 0;
    width: calc(var(--checkbox-height) * .2);
    background-color: var(--checkbox-color);
    display: inline-block;
    -moz-transform-origin: left top;
    -ms-transform-origin: left top;
    -o-transform-origin: left top;
    -webkit-transform-origin: left top;
    transform-origin: left top;
    border-radius: 5px;
    content: " ";
    -webkit-transition: opacity ease 0.5;
    -moz-transition: opacity ease 0.5;
    transition: opacity ease 0.5;}
 #order-opc .checkbox-wrapper .check-box::before {
    top: calc(var(--checkbox-height) * .72);
    left: calc(var(--checkbox-height) * .41);
    box-shadow: 0 0 0 calc(var(--checkbox-height) * .05) var(--background-color-checkbox);
    -moz-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);}
 #order-opc .checkbox-wrapper .check-box::after {
    top: calc(var(--checkbox-height) * .37);
    left: calc(var(--checkbox-height) * .05);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);}
 #order-opc .checkbox-wrapper .check-box span {
	position: absolute;
    width: 950px;
    left: 30px;
    max-width: 80vw;
    line-height: 18px;
    font-size: 14px;}
 #order-opc .checkbox-wrapper input[type=checkbox]:checked + .check-box::after,
 #order-opc .checkbox-wrapper .check-box.checked::after {
    height: calc(var(--checkbox-height) / 2);
    -moz-animation: dothabottomcheck-19 0.2s ease 0s forwards;
    -o-animation: dothabottomcheck-19 0.2s ease 0s forwards;
    -webkit-animation: dothabottomcheck-19 0.2s ease 0s forwards;
    animation: dothabottomcheck-19 0.2s ease 0s forwards;}
 #order-opc .checkbox-wrapper input[type=checkbox]:checked + .check-box::before,
 #order-opc .checkbox-wrapper .check-box.checked::before {
    height: calc(var(--checkbox-height) * 1.2);
    -moz-animation: dothatopcheck-19 0.4s ease 0s forwards;
    -o-animation: dothatopcheck-19 0.4s ease 0s forwards;
    -webkit-animation: dothatopcheck-19 0.4s ease 0s forwards;
    animation: dothatopcheck-19 0.4s ease 0s forwards;}

#order-opc .order-footer {
	border-top: 1px solid #eeeeee;
	display: flex;
    justify-content: center;
    gap: 5px;
    padding: 10px 0;
	flex-wrap:wrap;}	
	
@media (min-width: 1025px){
	#order-opc .cart_content{
		flex-direction: row-reverse;}
	#order-opc .shopping_cart_content{
		padding-top: 30px;
		width:450px;}
	#order-opc #shopping_cart_detail_mobile{
		display:none;}
	#order-opc #shopping_cart_detail_content{
		padding-right:0;
		height: auto;
		max-height:none;
		position: sticky;
		top: 30px;}
	#order-opc .order_carrier_content .delivery_option .label_delivery_option{
		flex-wrap: nowrap;}
	#order-opc .order_carrier_content .delivery_option .delivery_col_checked, #order-opc .order_carrier_content .delivery_option .delivery_col_image, #order-opc .order_carrier_content .delivery_option .delivery_col_name, #order-opc .order_carrier_content .delivery_option .delivery_col_price {
		flex: 0 0 auto;}
	#order-opc .order_carrier_content .delivery_option .delivery_col_name{
		width:100px;}
	#order-opc .order_carrier_content .delivery_option .delivery_col_detail {
		flex: 1;}		
	#order-opc .order-footer{
		flex-wrap:nowrap;}
}
@media (max-width: 1024px){
	  #order-opc .container {
	  padding:0 0 50px;}
}


.fancybox-content{cursor:default;}
	

#new_account_form .id_state,
#new_account_form .dni,
#new_account_form .postcode {
  display: none; }
